javascript中对象字面量方式创建对象,不会调用Object构造函数吗?

javascritp高级程序设计 中说 在通过对象字面量定义对象时,实际不会调用Object 构造函数。 那是通过什么形式创建的?

阅读 6.8k
3 个回答

你要知道:在创建对象时,调用构造函数,并不是必需的过程。

举例说:有一个构造函数Person当你

var p = new Person();

时,JS引擎首先帮你造出个对象来,然后再把this指向这个刚刚造出来的对象,调用Person这个构造函数来做一些初始化操作。
也就是说,在调用构造函数前,这个对象已经有了。所以用对象字面量创建对象时,只不过省去了调用构造函数那一步,而是该用了JSON的方式进行初始化。

我一般用
function One(){

   this.name='hi'

}
One.prototype.say=function(){

   alert(this.name)

}

猜可能类似如此吧~~~

var myobj=(function(proName,propValue){
    function __BB__(proName,propValue){
        this[proName]= propValue;
    }
    
    return new __BB__(proName,propValue);
}("name","123456"));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏