Javascript进阶
2010-09-14 13:44:42 来源:WEB开发网function fn_click(obj){
obj.style.color = "#cc0000";
}
<div id="prompt" onclick="javascript:fn_click(this);">Hello World!</div>
三、call与apply
apply
Allows you to apply a method of another object in the context of a different object (the calling object).
call
Allows you to call (execute) a method of another object in the context of a different object (the calling object).
作用都是将函数绑定到另外一个对象上去运行,两者只是在定义参数方式有所区别:
var result = fun.apply(thisArg[, argsArray]);
var result = fun.call(thisArg[, arg1[, arg2[, ...]]]);
这里的参数差别就决定了apply在需要传参数的应用上更有优势。
请看下面的两个例子:
1, 为了保证在没有window.console的情况下,仍可以输出参数,可以采用如下方法:
function log() {
if( window.console )
console.debug.apply( console, arguments );
else
alert( [].join.apply( arguments, [' '] ) );
}
log( 'json feed received:', json );
2, 利用Array中的slice方法并通过call生成新的数组,简化操作:
Tags:Javascript 进阶
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接