with和arguments范围长度属性

时间:2016-01-10 09:36:10

标签: javascript

with (function(x, undefined){}) length;

上述语句的结果是2(console.log(长度),解释是什么?它给出参数的长度为什么?

为什么

function f(a,b,c,d) {
    console.log(length);
}

f();

是0?不是一回事吗?

1 个答案:

答案 0 :(得分:1)

你的第一个例子是给出声明中的参数数量,这是Function.length的定义。

请注意, arguments的长度,除了内部 名称时,该功能不存在

您的第二种情况是打印window.length的值,这是窗口中的帧数。