您的位置:首页 > Web前端 > JavaScript

js权威指南——函数摘要

2015-10-10 14:21 671 查看
js是弱类型语言,在形参和实参数目可以不一致,通过arguments获取

var max = function () {
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
console.log(arguments.caller);
console.log(arguments.callee);
console.log("in max");
}

var large = max(1, 2, 3, 4, 5, 6);


arguments.caller
arguments.callee
分别是调用当前函数的函数和当前正在执行的函数。
caller
是非标准的。

js中函数也能添加属性:

var mf = function () {
console.log("in mf");
console.log(mf["zly"]);
}

mf["zly"] = "polo";
mf();


直接执行的匿名函数写法,一般多用作闭包,返回一个函数:

( function clF (p1, p2) {
console.log(p1);
console.log(p2);
} (1, 2) );


下面的,就是直接返回的函数:

extend = (function () {
return function () {
console.log(" this is extend. ");
}
} () );

extend();


利用闭包来保存局部变量:

var uniqueInteger = (function () {
var count = 0;
return function () {
return count++;
}
} ());

console.log(uniqueInteger());
console.log(uniqueInteger());
console.log(uniqueInteger());


js中的闭包:



js中的函数依附于函数调用链,函数调用链包含函数域和函数体。

函数执行的域是声明时的域。

详见:P184 javascript权威指南 第六版。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: