Fe-interview: [js] 第442天 一道变态题 Number.call.call(Number, undefined, 0) 等于什么?

Created on 30 Jun 2020  ·  4Comments  ·  Source: haizlin/fe-interview

第442天 一道变态题 Number.call.call(Number, undefined, 0) 等于什么?

作者:Q-Angelo

3+1官网

我也要出题

Number.call(Number, undefined, 0) 等于什么?
Number.call.call(Number, undefined, 0) 等于什么?

js

Most helpful comment

call 的第一个参数用于改变上下文,由于没有用到 this,第一个参数 Number 实际上没有用。

  • Number.call(Number, undefined, 0) 等价于 Number(undefined, 0),由于 Number 只会接受第一个参数。
  • Number.call.call(Number, undefined, 0) 等价于 Number.call(undefined, 0),也就是 Number(0)

All 4 comments

Number.call(Number, undefined, 0) NAN
Number.call.call(Number, undefined, 0) 0

NaN和0

call 的第一个参数用于改变上下文,由于没有用到 this,第一个参数 Number 实际上没有用。

  • Number.call(Number, undefined, 0) 等价于 Number(undefined, 0),由于 Number 只会接受第一个参数。
  • Number.call.call(Number, undefined, 0) 等价于 Number.call(undefined, 0),也就是 Number(0)
Number.call.call(Number, undefined, 0);
// 相当于
var f = Number.call;
f.call(Number, undefined, 0);  
// 再简化下就是
Number.call(undefined, 0); 
// 也就是
Number(0);
Was this page helpful?
0 / 5 - 0 ratings