求助js的问题(或许是关于命名)
上代码: var obj1 = { name:"obj1", getName:function(){ console.log(this.name) } } var obj2 = { name:"obj2" } var name = obj1.getName; typeof(name) //string 这里name的类型是字符串 name //"function(){console.log(this.name)}" name.apply(obj2) //报错 name.apply is not a function 如果把name改成其他的如: var name1 = obj1.getName; name1.apply(obj2) //obj2 请问一下 这个是为什么
4 回复
@ajaxQWER apply函数的作用就是将name这个函数上下文绑定到了obj2,而obj2中有name这个属性,所以原先函数name被字符串name替代了,我是这么理解的