WEB开发网
开发学院网页设计JavaScript Javascript进阶 阅读

Javascript进阶

 2010-09-14 13:44:42 来源:WEB开发网   
核心提示: function fn_click(obj){obj.style.color = "#cc0000";}<div id="prompt" onclick="javascript:fn_click(this);">Hel

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生成新的数组,简化操作:

上一页  1 2 3 4 5 6 7  下一页

Tags:Javascript 进阶

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接