函数
2018-06-12 本文已影响0人
一江碎月
定义
通过 function 关键字定义函数。
-
() 的作用 :执行方法。单纯的函数名只是一个变量,只不过它指向了一个函数对象而已。
function test(){ return "run is test"; } alert(test); // 会将方法全部输出 alert(test()); // 会输出 run is test
第一个 alert 时,只是输出 test 指向的对象,即整个函数;
第二个 alert 时,test 后跟 (),表示执行了该 test 方法,而该方法返回的是字符串 run in test,所以 alert 弹出的就是 run is test。
-
函数的调用可以放在函数的声明之前。
test('fad'); //可以只传一个参数,或者一个也不传 function test(name,age){ // 声明参数时,不需要写 var alert(name+age); }
- 虽然函数定义了两个参数,但实际调用时,可以传一个参数或者一个也不传。未传参数的形参将会被赋值为 undefined。
-
一个函数可以 return 任何类型数据,因为函数没有定义返回值类型。
-
函数不具备重载功能,后定义的函数,会覆盖掉先定义的。如下:
function test(){ return arguments[0]+100; } function test(){ return arguments[0]+200; } alert(test(1));//无论将该语句放到何处,输入的永远是 201。
- 可以将函数名理解为一个变量,只不过它的值指向了一个函数。多次定义同名函数,相当于对一个变量多次赋值,后赋值的肯定会覆盖掉先赋值的内容。
匿名函数
没有函数名的函数,就是匿名函数。
var test = function(){
return 'run is test';
}
alert(test()) // 使用 test 执行函数
赋值语句的右边就是一个匿名函数。赋值语句会将匿名函数的地址赋值给 test 变量,所以可以使用 test 执行该函数。
自我执行
将匿名函数使用 () 包起来,然后再通过 () 执行该匿名函数。
如:
(function(){
console.log('匿名函数')
})()
首先使用 () 将匿名函数包裹起来。最后面的 () 表示执行包裹起来的匿名函数。