即使看起来有限,也是一个非常有用的对象。例如,您可以制作接受可变数量参数的功能。格式函数,在迪恩·爱德华兹(Dean Edwards)的base2库中找到,演示了此灵活性:
>您提供一个模板字符串,其中您使用%1至%9添加了值的值,然后提供多达9个代表要插入字符串的其他参数。例如:
>将其转换为真实数组
function format(string) { var args = arguments; var pattern = new RegExp("%([1-" + arguments.length + "])", "g"); return String(string).replace(pattern, function(match, index) { return args[index]; }); };
参数对象允许我们执行各种JavaScript技巧。这是MakeFunc函数的定义。此功能使您可以为该功能提供功能参考和任何数量的参数。它将返回一个匿名函数,该函数调用您指定的函数,并在调用匿名函数时提供预设参数与提供的任何新参数一起提供: 应用程序的第一个参数是指该函数将被调用;基本上,这将引用所调用函数的关键字。目前,这有点先进,所以我们将其保持无效。第二个参数是一个值数组,将转换为该函数的参数对象。 makefunc将原始值的原始数组连接到提供给匿名函数的一系列参数上,并将其提供给所谓的函数。 >说,在模板始终相同的情况下,您需要输出一条消息。为了使您避免每次调用格式函数时都必须引用模板,您可以使用MakeFunc Utility函数返回将为您调用格式并自动填写模板参数的函数: >您可以像这样重复调用Majortom函数: >每次调用Majortom函数时,都会使用第一个参数(已填写的模板)调用格式函数。
函数convertargstoArray(){ //或 您可以使用“ typeof”操作员检查传递给函数的每个参数的类型。以下是一个示例: >>} } } } } } } }使用预设参数创建函数
function format(string) {
var args = arguments;
var pattern = new RegExp("%([1-" + arguments.length + "])", "g");
return String(string).replace(pattern, function(match, index) {
return args[index];
});
};
format("And the %1 want to know whose %2 you %3", "papers", "shirt", "wear");
var args = Array.prototype.slice.call(arguments);
function makeFunc() {
var args = Array.prototype.slice.call(arguments);
var func = args.shift();
return function() {
return func.apply(null, args.concat(Array.prototype.slice.call(arguments)));
};
}
var majorTom = makeFunc(format, "This is Major Tom to ground control. I'm %1.");
majorTom("stepping through the door");
majorTom("floating in a most peculiar way");
"This is Major Tom to ground control. I'm stepping through the door."
"This is Major Tom to ground control. I'm floating in a most peculiar way."
repeat is a function that takes a function reference, and 2 numbers. The first number is how many times to call the function and the second represents the delay, in milliseconds, between each call. Here's the definition for repeat:
function format(string) {
var args = arguments;
var pattern = new RegExp("%([1-" + arguments.length + "])", "g");
return String(string).replace(pattern, function(match, index) {
return args[index];
});
};
经常询问有关JavaScript参数的问题
> JavaScript中的“参数”对象是什么?它包含一个类似数组的结构,所有参数传递给了函数。当函数需要处理可变数量的参数时,此对象很有用。重要的是要注意,“参数”对象不是一个实际的数组,但是如果需要的话,它可以转换为一个。但是,您可以使用array.from()方法或传播操作员(…)将其转换为数组。以下是一个示例:
//或
//或
var argsArray = [... gruments];
>}
}
}
} 函数checkArgStype(){
>(var i = 0; i
第一个参数传递给函数。同样,“参数[1]”是指第二个论点,依此类推。如果没有传递参数,则“参数[0]”将是“未定义的”。
我可以在JavaScript中修改“参数”对象?但是,通常不建议这样做,因为它可能导致令人困惑和难以删除的代码。在严格的模式下,任何修改“参数”对象的尝试都会丢弃错误。
>
“参数”对象的长度属性是什么?
>>我可以在JavaScript中使用默认参数的“参数”对象?如果调用具有默认参数的函数的参数少于参数,则“参数”对象仅包含传递的实际参数,而不包含默认值。此属性被弃用,不应在新代码中使用。相反,您可以使用命名函数表达式或箭头函数。
以上是参数:JavaScript奇数的详细内容。更多信息请关注PHP中文网其他相关文章!