为了账号安全,请及时绑定邮箱和手机立即绑定

既然函数也是引用类型,为什么原型继承无法改变

既然函数也是引用类型,为什么原型继承无法改变

30秒到达战场 2018-10-11 17:11:38
如题,下面代码里数组可以改变,但是函数却无法改变:        var human = {            say:function(){               console.log("我是人类");            },            arr:[1,2,5,4]         }                  human.say();                          var people = Object.create(human);                          people.say = function(){                console.log("我改变了他");             }             people.arr.push("hello");                          people.say();    //输出的是"我改变了他"             var anotherPeople = Object.create(human);                             anotherPeople.say();    //没有变化,还是"我是人类"                          console.log(anotherPeople.arr);   //数组arr =[1,2,5,4,'hello']                          
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

你这个问题就好比:
var a = {data:1};
var b=a;
b={data:3};

console.log(a);//{data:1}

var a = {data:1};
var b=a;
b.data=3;
console.log(a);//{data:3}

你得分清楚操作对象和改变变量的指向。。。


查看完整回答
反对 回复 2018-11-23
  • 1 回答
  • 0 关注
  • 465 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信