Results 3 comments of zkk

when I opened the network panel I found the server responded with a status of 504 (Gateway Timeout)

这里并不是因为赋值给 f ,相当于f(),所以this指向window的。 不然试试下面代码也会打印 undefined ```js var foo = { bar: function(){ return this.baz; }, baz:1 } console.log(typeof (foo.bar=foo.bar)()); ``` 下面简单从规范的角度判断这个this指向,可以分以下几个步骤: 1.计算 MemberExpression 的结果赋值给 ref 2.判断 ref 是不是一个 Reference 类型...

解释下这两个步骤: 1、MemberExpression 我们可以简单理解为括号前的部分,针对这题就是 `(f=foo.bar)` 这部分。 2、Reference 是规范类型的一种。如果通过 GetValue 方法从 Reference 类型中获取值,则该 MemberExpression 返回结果不再是 Reference 类型。 这里的关键就是判断 MemberExpression 的返回结果是不是 Reference 类型。 由于 `f=foo.bar` 存在赋值操作符,根据规范 11.13.1 Simple Assignment ( = ) 规定,其第三步使用了...