js中用构造器创建对象与字面量创建对象的区别

来源:互联网 发布:武汉软件新城怎么样 编辑:程序博客网 时间:2024/06/07 04:57

 http://m.blog.csdn.NET/blog/z1547840014/9734179

    当用new操作符调用一个函数时,就会创建一个新的JavaScript对象.接着,该函数会作为该新建对象的this值被调用,而在原始调用中所使用的参数也都将一并传递给该函数调用

        
        下面我们来研究下使用构造器处创建对象和使用字面量创建对象的区别到底是什么,先看下面的代码
        function Circle(radius){
            this.radius = radius;
        }
        var cicr = new Circle(6);
        
        var cicr2 = {radius:6};
        
        上面两个对象都会拥有2个属性,如果对js这块熟悉的同学想必已经猜到了这2个属性,一个是radius属性,另一个就是从object.prototype继承而来的属性.对于radius属性,他们没有任何区别。但是对于这个原型属性,内部实现上有细小的区别。cicr2是直接继承了object.prototype属性,而cicr是间接继承了object.prototype属性。cicr首先继承了Circle上的原型属性,这个原型属性又继承了object.prototype属性,所以它也完成了对object.prototype的继承。
原创粉丝点击