JavaScript

2017-10-30  本文已影响0人  Rco

Since July 8th, 2017

参考http://www.cnblogs.com/matthew-2013/p/3524297.html

参考http://www.w3school.com.cn/jsref/jsref_sort.asp

function test(f) {
    console.log(f)
}
test(f = 3)

f = 3实际上是对全局变量 f 赋值(在 strict 模式下会报错),并不是给 test 函数中的 f 参数传值。
又比如以下代码:

function test(a,b) {
    console.log(a,b)
}
test(b = true, a = false)

最后的到的输出是

true false

因为b = true返回的是 true,而a = false返回的是 false,因此传入的参数是 [true, false],test 函数中的 a 变量拿到的值就是这个数组的 0 位,也就是 true,而 b 变量拿到的值则是数组的 1 位,也就是 false。

上一篇下一篇

猜你喜欢

热点阅读