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

      

      

  • 相关阅读:
    Codeforces Round #380(div 2)
    Codeforces Round #378(div 2)
    Codeforces Round #379(div 2)
    CCPC2016合肥现场赛
    CCPC2016沈阳站
    HDU2222 Keywords Search__AC自动机
    poj2185Milking Grid
    POJ2961_kmp
    POJ 2406
    poj 2752Seek the Name, Seek the Fame
  • 原文地址:https://www.cnblogs.com/shenq/p/5453544.html
Copyright © 2011-2022 走看看