WEB开发网
开发学院网页设计JavaScript 理顺 JavaScript (17) - 函数 阅读

理顺 JavaScript (17) - 函数

 2010-09-14 13:40:19 来源:WEB开发网   
核心提示: this 表示调用函数的对象<divname='MyDiv'onclick="alert(this.name);">aaaaaa</div>//点击会显示:MyDivcaller 表示调用该函数的函数functionfun1(){

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 函数

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