JavaScript中的函数也是一个对象,函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码)。函数中可以保存一些代码在需要的时候调用。
函数function:
- 函数也是一个对象,函数中可以封装一些功能,需要时可以执行这些功能。
- 函数中可以保存一些代码在需要时调用,使用typeof检查一个函数对象时,会返回function。
创建一个函数对象,可以将要封装的代码以字符串的形式传递给构造函数。封装到函数中的代码不会
立刻执行,函数中的代码会在函数调用时候执行。
调用函数语法:函数对象()
如:var fun = new function(){console.log(1)};
fun()
输出结果为1;
调用函数时,函数中封装的代码会按照内部代码顺序执行。
创建函数:使用函数声明、函数表达式来进行创建:
函数声明语法:
function 函数名([形参1,形参2....形参n]){
语句...
}
使用函数表达式来创建一个函数
var 函数名 = function([形参1,形参2....形参n]){
语句....
}
函数的形参与实参:
函数的形参:
可以在函数的()中来指定一个或多个形参(形式参数)。多个形参之间使用,隔开。
声明形参就相当于在函数内部声明了对应的变量。但是并不对其赋值。如:
function sum(a,b){console.log(a+b);}等价于
function sum(a,b){var a; var b ;console.log(a+b);}
在调用函数是,可以在()中指定实参(实际参数)。实参将会赋值给函数中对应的形参。如:
sum(1,2) 其中a,b均为形参。1,2均为对应的实参。
调用函数是解析器并不会检查实参的类型。所以在使用时需要检查一些非法的参数。
调用函数时,解析器也不会检查实参的数量。如sum(1,2,h,o)。
在使用过程中,多余的实参将不会被赋值。
如果实参的数量小于形参的数量,则没有对应实参的形参将是undefined
立即执行函数:
函数对象()
立即执行函数,函数定义完,立即被调用,这种函数叫做立即执行函数。
立即函数往往只会执行一次。如:
(function(a,b){
console.log("a="+a);
console.log("b="+b);
})(1,2);
输出结果为a=1,b=2。
方法:
对象的属性可以为任何值,同样也可以为函数。如果将一个函数作为一个对象的属性保存,那么我们称这个函数是这个对象的方法,调用这个函数就说调用这个对象的方法(method)。这只是名称上的改变。它与其他的函数并无区别。