zoukankan      html  css  js  c++  java
  • 原型二,字面量

    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()没有了
    

      

      

  • 相关阅读:
    XP显示桌面
    批量改名
    poj 3126 BFS
    poj 3278 BFS
    poj 1426 BFS
    准备打酱油…
    POJ 2243 BFS 和 简单的调试方法学习
    K
    EXCEL fundamentals
    poj 1011 DFS+剪枝
  • 原文地址:https://www.cnblogs.com/shenq/p/5453544.html
Copyright © 2011-2022 走看看