what effect does the 'new' have in a JS method?
本问题已经有最佳答案,请猛点这里访问。
这两种方法有什么区别?
1 2 3 4 5 6 7 8 | function ObjectB() { this.methodA = new function() { alert('a'); }; this.methodB = function() { alert('b'); }; } |
我想问的是,新方法在JS方法中有什么影响?
我已经做了一个小提琴,我想探索方法的行为,我也添加了这段代码:
1 2 3 4 5 6 7 8 | var v = Object.create(ObjectB); v.methodC = function() { alert('c'); } v.methodB(); v.methodA(); v.methodC(); |
但我的小提琴似乎没有用。
小提琴在这里:http://jsfiddle.net/N8SNG/
谢谢 :)
就好像你写了这样:
1 2 3 4 | var MethodA = function() { alert('a'); }; this.methodA = new MethodA; |
最后一行与此相同:
1 | this.methodA = new MethodA(); |
New用于创建对象的函数。 这些函数是构造函数。
当函数创建函数时,新函数会创建对象。
当您使用匿名函数时,您创建一个类型为"对象"的对象。 指定构造函数的名称时,可以创建该类型的对象:例如
1 2 | function Human(){}; man=new Human(); |
男人是那种"人",或者更好的是人类的一个实例:
人类的人类