理顺 JavaScript (17) - 函数
2010-09-14 13:40:19 来源:WEB开发网this 表示调用函数的对象
<div name='MyDiv' onclick="alert(this.name);">aaaaaa</div> //点击会显示: MyDiv
caller 表示调用该函数的函数
function fun1() {
return arguments.callee.caller.arguments[0]; //或写作: fun1.caller.arguments[0];
}
function fun2() {
alert(fun1());
}
fun2(11, 22); //11
call、apply
function sum(a, b, c) {
alert(a+b+c);
}
sum(1, 2, 3); //6
sum.call(null, 1, 2, 3); //6
sum.apply(null, [1, 2, 3]); //6
//call 与 apply 都是调用函数的方式, 这里 null 以外的是函数的参数; apply 需要把参数写在数组里.
//call 与 apply 的第一个参数表示调用该函数的对象, null 表示无调用对象; 譬如:
function msg(s) {
alert(s + ' ' + this.toString());
}
var str = 'ABC';
var num = 123;
msg.call(str, 'Hi'); //Hi ABC
msg.call(num, 'Hi'); //Hi 123
使用 Function 类创建函数
var fun = new Function('alert(123)');
fun(); //123
var fun = new Function('a,b', 'return a+b');
alert(fun(11, 22)); //33
Tags:理顺 JavaScript 函数
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接