我研究以下代码来记录
console.log.apply( console, arguments );
Run Code Online (Sandbox Code Playgroud)
apply()这里的目的是什么?
为什么不console.log("message", arguments)呢?
谢谢.
console.log("message", arguments)
Run Code Online (Sandbox Code Playgroud)
调用log两个参数,"message"和类似数组的对象参数.
console.log.apply( console, arguments );
Run Code Online (Sandbox Code Playgroud)
用n参数调用它,其中n是类数组对象参数的长度.换句话说,参数被打包成单个参数.该方法的背景是console.例如:
function foo(a, b, c)
{
console.log.apply( console, arguments );
}
foo(1,2,3);
Run Code Online (Sandbox Code Playgroud)
大致相当于:
console.log(1,2,3);
Run Code Online (Sandbox Code Playgroud)
该apply()函数调用另一个具有给定this值的函数,并arguments作为数组提供.
隐含的原因func.apply(obj, args)是确保在内func(),this指obj.
| 归档时间: |
|
| 查看次数: |
811 次 |
| 最近记录: |