相关疑难解决方法(0)

分配后,JavaScript函数绑定(此关键字)将丢失

这是JavaScript中最神秘的功能之一,在将对象方法分配给其他变量后,绑定(此关键字)将丢失

var john = {
  name: 'John',
  greet: function(person) {
    alert("Hi " + person + ", my name is " + this.name);
  }
};

john.greet("Mark"); // Hi Mark, my name is John

var fx = john.greet;  
fx("Mark"); // Hi Mark, my name is 
Run Code Online (Sandbox Code Playgroud)

我的问题是:

1)作业背后发生了什么?var fx = john.greet; 是按价值复制还是按参考复制?fx和john.greet指向两个不同的功能,对吧?

2)因为fx是一个全局方法,所以范围链只包含全局对象.Variable对象中属性的值是多少?

javascript

9
推荐指数
2
解决办法
2884
查看次数

标签 统计

javascript ×1