zoukankan      html  css  js  c++  java
  • js 函数名的赋值

    函数是对象,Function出来的实例对象,函数名保存的是地址,指向的是函数值,引用类型,当比较的时候是比较的地址是否相同,赋值的时候是重新分配一个地址,指向一个函数对象!

    1.会覆盖的情况:  

    var a={
                name:"sun",
                age:"18",
                show:function(){
                    alert(this.name);
                }
            };
            a.show();//"sun"
            var b=a;
            b.show=function(){
                alert(this.age);
            };//覆盖同一个show方法
            b.show(); //18
            a.show(); //18
    

    function a(){ alert("a"); } var b=a; b=function(){ alert("b"); } a();//"a",b赋值的时候,是重新生成一个地址,和a没有关系

    2.不会覆盖的:

    function AA(){
                this.name="小明";
                this.arr=[1,2.3];
            }
            AA.prototype.new=function(){}
            var aa=new AA();
            aa.name="xiaoMing";
            var bb=new AA();
            alert(bb.name);//还是"小明",不同的地址,相同的对象值
    function A(){
                this.name = 'wangmeijian';
                this.age = 23;
            }
            A.prototype.showname = function(){
                alert( this.name )
            };
    
            function B(){
                A.call(this)
            }
    
            var a = new A();
    
            B.prototype = a;
    
            B.prototype.showname=function()
            {
                alert(this.age)
            };//这个地方的赋值,是给B的原型加一个属性,保存一个函数的地址,并不会改变A下面的showname
            //当B.prototype=a;时,B.prototype.showname=a.showname,给a对象直接加了一个属性,保存一个函数的地址;其实这个时候A.prototype.showname应该还是存在的,没有改变。
            //a.showname(); //wangmeijian
            var b = new B();
            //b.showname(); //23
            alert(A.prototype.showname);/*function(){
                alert( this.name )
            }*/
            alert(a.showname);/*function()
            {
                alert(this.age)
            }*/
    

      

     

      

  • 相关阅读:
    读《大道至简》第六章感想
    课后作业之数组
    读《大道至简》第五章感想
    课后作业四
    读《大道至简》第四章之感想
    java上课作业(第三次)
    读《大道至简》第三章感想
    作业
    小组项目冲刺第三天的个人总结
    小组项目冲刺第二天的个人总结
  • 原文地址:https://www.cnblogs.com/zifeiyu/p/3670562.html
Copyright © 2011-2022 走看看