今天来聊聊javascript的prototype,
--它是什么呢? 它是一个属性。 --谁的属性? 函数的属性,每个javascript的函数都会有一个prototype属性。 --它是做什么的? 用来给函数添加方法的。 就是由此函数通过new操作符创建出来的新对象会自动继承你添加的方法。
看代码(今天不抖了,先)
那个叫n1的空函数,就是构造函数, 通过prototype.popup(),给n1添加了popup方法, 这样以后所有通过new n1方式创建的新对象,都有了popup方法, 自定义的,多方便啊,
看了网上N多教程说prototype的,都什么静态啊,动态啊,创建啊, 原型链啊递归查找啊,找到Obj.prototype什么的,, 说的都对,都没错。 但问题是,我他妈的连prototype是什么,怎么用都不明白,这么多背后的原理怎么可能看得懂? 先怎么怎么用, 慢慢用熟练了,再看原理就好理解的多。
另外,每个对象都会有constructor属性更是简单的很,它是怎么个情况呢?
明细天说,,
好吧,一句话介绍constructor:
它就是个指向创建这个对象的函数,
完了。
代码就是:
p2.popup( p2.constructor );// n1()