javascript:Functions (2)
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 359
参数arguments当一个函数被调用时候,会得到一个argments数组的参数。通过它函数可以访问所有它被调用时传递给他的参数列表,包括没有在函数定义时定义的多余参数。这个arguments不是真

参数 arguments

当一个函数被调用时候,会得到一个argments数组的参数。通过它函数可以访问所有它被调用时传递给他的参数列表,包括没有在函数定义时定义的多余参数。

这个arguments不是真正的数组,只有一个length的属性,并且能够通过index遍历。

返回 return

return语句用于返回。

如果没有指定返回值,则返回undefined。

如果函数用new方式来调用,且返回值不是对象,那么返回this(该新对象)。

异常 Exception

var add = function (a, b)
{
if(typeof a != 'number' || typeof b != 'number')
{
throw {name: 'TypeError', message: 'add needs members'};
}
}

var try_it
= function ()
{
try {
add(
"sevem", "ee");
}
catch(e)
{
alert(e.name);
}
}();

给类型增加方法

Function.prototype.method = function (name, func)
{ if(!this.prototype[name])
{
this.prototype[name]=func;
return this;
}
};
Number.method(
'ins', function(){
return 2;
});
(
3).ins();// value is 2.

作用域 scope

js有函数的作用域,所以定义在函数中的参数和变量在函数外部是不可见的。而且在一个函数中的任何位置定义的变量在该函数中的任何地方都可见。

在js上不用尽可能迟的申明变量,而最好的做法是在函数体的顶部声明函数中可能用到的所有变量。

闭包 closure

作用域的好处就是内部的函数可以访问定义它们的外部函数的参数和变量(除了this和arguments)。

1、作为一个函数变量的一个引用,当函数返回时,处于激活状态。

2、一个闭包就是当一个函数返回时,一个没有释放资源的栈区。

var quo= function (status)
{
return{
get_status:function() {
return status;
}
};
};

var myQuo
= quo("amazed");
myQuo.get_status();

如上代码所示,即使quo已经返回了,但是get_status方法仍然享有访问quo对象的status属性的特权。get_status方法并不是访问该参数的一个拷贝,它访问的是该参数本身。因为该函数可以访问它被创建时所处的上下文环境。这被称为闭包。

回调 Callbacks

把函数作为参数传递给函数,它将在收到响应时被调用。

模块 Module

我们可以用函数和闭包来构造模块。模块是一个提供接口却隐藏状态与实现的函数或对象。

级联 Cascade

方法返回this而不是undefined.
 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2