gpt4 book ai didi

javascript - 严格模式下不会出现隐式参数的使用吗?

转载 作者:行者123 更新时间:2023-12-03 04:26:27 25 4
gpt4 key购买 nike

这是正确的吗?这是新的吗?

我的意思是每个函数都有的隐式参数。

我注意到,当我在严格模式下使用参数时,我的代码会失败,如果我删除严格模式不是问题......这是新的还是一直都是这样?

console.log('foo.js running');
(function() {
// 'use strict';
// unexpected arguments in strict mode ...

这是我使用它的地方:

  _.extend = function(obj) {
_.each(Array.prototype.slice.call(arguments, 1), function (object) {
_.each(object, function(val, key){
obj[key] = val;
})
});
return obj;
}

最佳答案

不,严格模式不会阻止使用参数。它确实稍微改变了它:arguments 对象不再与命名参数绑定(bind),因此:

function loose(a) {
console.log(a);
arguments[0] = "bar"; // Changes `a`
console.log(a);
}
function strict(a) {
"use strict";
console.log(a);
arguments[0] = "bar"; // Does not change `a`
console.log(a);
}
loose("foo");
strict("foo");

关于javascript - 严格模式下不会出现隐式参数的使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43692842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com