论坛首页 Web前端技术论坛

领悟 JavaScript 中的面向对象

浏览 95880 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-01-19  
楼主写的很好
很受启发,xieye 的补充也很不错
谢谢了
0 请登录后投票
   发表时间:2008-01-21  
yiding_he 写道
  1. 创建一个新的普通对象;
  2. 将方法对象的 prototype 属性的所有属性复制到新的普通对象中去。
  3. 以新的普通对象作为上下文来执行方法对象。

对这3个顺序有点疑惑,如果是先创建对象,再复制protorype中的属性,那么alert出来的应该是"prototype of func"。 

这么说,主要没有很好的理解第三点,以上下文来执行方法对象,对于这点,谁还能详细的说一下吗?

0 请登录后投票
   发表时间:2008-01-22  
方法对象一词,很早就在行内有这种说法咯!
我们也把它这样理解!
其实我们工作中的外部 JS 代码都是 Copy 的!方便快捷!
^_^!!!
0 请登录后投票
   发表时间:2008-01-23  
Javascript里没有方法这个名词,应该叫做“函数”,
Javascript也不是面向对象的,而是基于对象的。

楼主文章内容不错,不过细节要注意,别误导了初学者。
0 请登录后投票
   发表时间:2008-01-23  
内容一般但还是太初级了,基本没有领悟js的OO特性。建议看看js关于作用域和上下文的文章,可能理解的更深刻一些。
0 请登录后投票
   发表时间:2008-01-23  
很好,但是建议不要写这些尝试行的文章,编程语言不是未知世界,不是宇宙也不是基因。不需要这么辛苦的探索,编程语言是我们自己设计的,有很好的标准文档,看了,做几个例子理解就好了。别这样探索,这样太耽误时间了。
0 请登录后投票
   发表时间:2008-01-23  
这里有很好的文档。
http://javascript.crockford.com/survey.html
0 请登录后投票
   发表时间:2008-01-23  
最后那个例子很有意思
0 请登录后投票
   发表时间:2008-01-24  
var o = {}; // 我发现了一个东西。  
o.eat = function(){return "I am eating."}  // 我发现它会吃;  
o.sleep = function(){return "ZZZzzz..."}  // 我发现它会睡;  
o.talk = function(){return "Hi!"} // 我发现它会说话;  
o.think = function(){return "Hmmm..."} // 我发现它还会思考。  
 
var Human = new Function(); // 我决定给它起名叫“人”。  
Human.prototype = o; // 这个东西就代表了所有“人”的概念。  
 
var h = new Human(); // 当我发现其他同它一样的东西,  
alert(h.talk()) // 我就知道它也是“人”了! 

0 请登录后投票
   发表时间:2008-01-26  
JSON对象不错
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics