Function
2012-06-04 15:41 呦菜 阅读(426) 评论(0) 编辑 收藏 举报Function
JavaScript的函数
摘要:
function functionname(argumnets_name_list)
{
body
}
function(argumnets_name_list){body}
functionname(argumnets_name_list)
构造函数:
new Function(argumnets_name_list...,body)
参数:
argumnets_name_list... : 任意多个字符串参数,每个字符串命名一个或多个要创建的Function对象的参数。
body : 一个字符串,指定函数的主体,可以含有人一多条javascript语句,这些语句之间用分号分隔,可以给该构造函数引用前面的参数设置的任意参数名。
返回值:
新创建的Function对象。调用该函数,将执行body指定的javascript代码。
抛出:
SyntaxError 说明在参数body或某个argumnets_name参数中存在Javascript语法错误。
属性:
arguments[] : 一个参数数组,元素是传递给函数的参数。反对使用该属性
caller : 对调用当前函数的Function对象的引用,如果当前函数由顶层代码调用,这个属性的值为null。反对使用该属性。
length : 在声明函数时指定的命名参数的个数。
prototype : 一个对象,用于构造函数,这个对象定义的方法和属性又构造函数创建的所有对象共享。
方法:
apply()
将函数作为指定对象的方法来调用,传递给它的是指定的参数数组。
call()
将函数作为指定对象的方法来调用,传递给它的是指定的参数。
toString()
返回函数的字符串表示
描述: 虽然可以使用Function()构造函数创建函数对象,但这样做效率不高,在大多数情况下,建议使用函数定义语句或函数直接量来定义函数。
Function.apply()
将函数作为一个对象的方法调用。
摘要:
function.apply(thisobj, args)
参数:
thisobj: 调用function的对象。在函数主体中,thisobj是关键字this的值。如果这个参数是null,就是用全局对象。
args: 一个数组,它的元素是要传递给函数function的参数值。
返回值:
调用参数function的返回值。
抛出:
TypeError: 如果调用该函数的对象不是函数,或参数args不是数组和Arguments对象,则抛出该异常。
描述:
apply()将指定的函数function作为对象thisobj的方法来调用,传递给它的是存放在数组args中的参数,返回的是调用function的返回值。在函数体内,关键字this引用thisobj对象。
例子:
var data = [1,2,3,4,5,6,7,8]; Math.max.apply(null, data); //8
Function call()
将函数作为对象的方法调用
摘要:
function.call(thisobj, args...)
参数:
thisobj : 调用function的对象。在函数主体中,thidobj是关键字this的值。如果这个参数为null,就是用全局对象。
args : 任意多个参数,这些参数将传递给函数function。
返回值:
调用函数function的返回值。
描述:
call()将指定的函数function作为对象thisobj的一个方法来调用,把参数列表中的thisobj后的参数传递给它,返回值是调用函数后的返回值。
例子:
function HelloWorld(name) { alert("Hello my world! I am "+name); } HelloWorld.call(null,"hanmeimei");
Function.length
已声明的参数的个数。
摘要:
function.length
描述:
函数的length属性在定义函数时声明已命名的参数的个数。世纪调用函数时,传递给它的参数个数既可以比它多,也可以比它少。不要混淆了Function对象和Arguments对象的length参数,后者声明的是实际传递给函数的参数个数。
例子:
function add(num1,num2) { var sum = num1 + num2; } alert(add.length); // 2
Function.prototype
对象类的原型。
摘要:
function.prototype
描述:
属性prototype是在函数作为构造函数时使用的。它引用的是作为整个对象类的原型的对象。由这个构造函数创建的任何对象都会继承属性prototype引用的对象的所有属性。
Function.toString()
把函数转换成字符串。
摘要:
function.toString()
返回值:
表示函数的字符串。
抛出:
TypeError: 如果调用该函数的对象不是Function。则抛出该异常。
描述:
Function对象的方法toString()可以以一种与现实相关的方式将函数转换成字符串。在大多数实现中,如在Firefox和IE这样的实现中,该方法返回一个含有有效JavaScript代码的字符串,即包括关键字function、参数列表和函数的完整主体的代码。在这些实现中,这个toString()方法的输出是全局eval()函数的合法输入。规范并没有要求这一行为,因此,不应该依赖与此。
function HelloWorld() { alert("Hello my world!"); } HelloWorld.toString(); // function HelloWorld() { alert("Hello my world!"); }