码迷,mamicode.com
首页 > 其他好文 > 详细

原型二,字面量

时间:2016-05-03 00:35:18      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

function Box() {}
        var box = new Box();
        alert(Box.prototype);//使用构造函数名访问,并且是不能读取信息,是【object,object】
        alert(box.prototype);//undefined,因为实例不能访问prototype,如果想访问就要用对象实例提供的指针
                                    //__proto__    
//字面量
        function Box() {}  //{}创建了一个新的对象
        //使用字面量的方式创建原型对象,这里{}就是对象,是Object,new Object()就相当于{};
        Box.prototype = {
            constructor: Box, //强制指向Box
            name: ‘LEE‘,
            age: 100,
            run: function() {
                return this.name + this.age;
            }
        };
        var box = new Box();
        alert(box.name);//LEE;
        alert(box.constructor);//返回的是一个object,function Object() { [native code] },因为上面提到的这里{}就是对象,是Object,new Object()就相当于{};

  重写的注意点

  function Box() {}  //{}创建了一个新的对象
        //使用字面量的方式创建原型对象,这里{}就是对象,是Object,new Object()就相当于{};
        Box.prototype = {
            constructor: Box, //强制指向Box
            name: ‘LEE‘,
            age: 100,
            run: function() {
                return this.name + this.age;
            }
        };
        
        //重写了原型对象


        Box.prototype = {
            age: 200
        };
        var box = new Box();
        alert(box.name);        //undefined,这里不会保留之前原型的任何信息,把原来的原型对象个构造原型的实例切断
        alert(box.run());       //报错,因为这里没有了run(),已经切断,上面的那个run()没有了

  

  

原型二,字面量

标签:

原文地址:http://www.cnblogs.com/shenq/p/5453544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!