javascritp高级程序设计 中说 在通过对象字面量定义对象时,实际不会调用Object 构造函数。 那是通过什么形式创建的?
javascritp高级程序设计 中说 在通过对象字面量定义对象时,实际不会调用Object 构造函数。 那是通过什么形式创建的?
猜可能类似如此吧~~~
var myobj=(function(proName,propValue){
function __BB__(proName,propValue){
this[proName]= propValue;
}
return new __BB__(proName,propValue);
}("name","123456"));
8 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.8k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
7 回答9.8k 阅读
5 回答7.1k 阅读✓ 已解决
你要知道:在创建对象时,调用构造函数,并不是必需的过程。
举例说:有一个构造函数Person当你
时,JS引擎首先帮你造出个对象来,然后再把this指向这个刚刚造出来的对象,调用Person这个构造函数来做一些初始化操作。
也就是说,在调用构造函数前,这个对象已经有了。所以用对象字面量创建对象时,只不过省去了调用构造函数那一步,而是该用了JSON的方式进行初始化。