关于JavaScript中的原型看了视频  感觉讲解的不是很清楚,
大神给透彻的解释下呗,谢谢。

解决方案 »

  1.   

    你说的prototype吗  相当于在对象中添加方法,但不会改变原来对象的结构。用起来比较方便。 
      

  2.   

    就是个属性。来到国内还被神化了。
    这个属性特殊之处就是跟_proto_共用一个对象。
    —proto_就是用new这个东西加在函数后生成的东西(美名实例化)自动生成的属性。
    _proto_这属性的特殊之处:就是充当一个桥梁。
      

  3.   

    看我这都是原型
    var prototype = {name : 'j'};

    var creatFn = function(){
    return prototype;
    }

    var $fn1 = creatFn();

    prototype = {new1 : 'n' };
    var $fn2 = creatFn();
    var $fn3 = creatFn();
    var $fn4 = creatFn();
      

  4.   

    1、任何一个函数 都有一个属性prototype,这个属性是在你创建函数的时候自动由系统给你生成好的,它会被初始化为一个默认对象{constructor:函数},举个例子
    你定义一个函数 
     function abc(){
     }
    那么 abc函数的prototype属性就被初始化了,abc.prototype = {constructor:abc},但是请记住prototype属性,不是abc函数的原型。它是abc函数创建出来对象的原型,看下面。2、你通过var obj = new abc();创建除了一个obj对象,此时创建一个空的对象{},没有人数属性的对象,然后接下来
    为这个空的对象设置一个属性__proto__ ,它的值为abc函数的prototype,也就是说现在的obj对象是这个样子{__proto__:{constructor:abc}},我们称{constructor:abc}为obj对象的原型,当你obj.constructor访问时,其实是访问不到的,因为它没有这个属性,但是为什么实际能输出abc呢,因为js中,当访问不到对象自己的属性时,就会去__proto__属性中去找,就访问到了constructor