{JavaScript} 函数是高级的对象

JavaScript 中,函数是很特殊的对象,既可以存储在变量中也可以作为参数传递给其他的函数,可以作为返回值从其他的函数传出(说白了,有点指针的味道)。还可以在运行时进行构造。

比如:
(function(){
var a = 10;
var b = 20;
document.write(「a + b 结果是:」 + (a+b));
})();

这个函数在定义后立即执行。

这种类型的函数经常可以用于创建闭包,闭包就是一个受到保护的变量空间。由内嵌函数生成。JavaScript具有函数级的作用域。意味着定义在函数内部的变量在函数外部不能被访问,JavaScript的作用域又是词法性质的,意味着函数运行在定义它的作用域中,而不是在调用它的作用域中。把这两个因素结合起来,就能通过把变量包裹在匿名函数中而对其加以保护。

var baz;
(function(){
var foo = 10;
var bar = 2;
baz = function(){
return foo*bar+100;
}
})();
alert(baz());

此时的baz变成了一个私有的变量,若
….
})();
baz = 10;
alert(baz());

就会抛出一个异常。

發表回覆

你的電郵地址並不會被公開。 必要欄位標記為 *