我知道您可以使用this
等更改apply
的上下文。
但为什么你不能这样做?
this = 5; // invalid left-hand side in assignment
与此没什么不同:
function Foo() {
console.log(this.valueOf());
}
Foo.apply(5);
使用apply
和this = 5
有什么区别?不适用于本地重新定义this
对于被调用的函数是什么?
答案 0 :(得分:1)
您无法重新定义保留的关键字。 Registry.lookup()
就是其中之一。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Keywords
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this
答案 1 :(得分:1)
this
是保留字,而不是普通变量。
答案 2 :(得分:1)
这是你所处的背景。你无法改变它,因为要改变你只需要处于不同背景中的上下文......
在同一个存在的情况下,你无法用v#或c#中的这个来改变我。
'this'不是可分配的变量。它是只读的。
也许有一个真正的代码你需要改变这个我可以建议你别的......
你可以这样做:
var myFunction = function(arg1) {
//Do something here ...
};
如果您需要更改它,只需重新分配变量:`
myFunction = function(arg1) {
//Do something else here ...
};
答案 3 :(得分:0)
这是一个对象。您可以为此对象的属性指定数值,但不能为其自身指定数值。