1.函数的创建
方法一:
function func=new Function(“函数代码语句”);
方法二:
var func=function (a,b){
函数语句
};
方法三:
function func(a,b…){
函数语句
};
2.函数调用
只需在函数名后加一个()即可调用函数,js中解析器不会检查传入参数的类型与数量,因此可能需要手动进行类型转换,并且超过数量的部分会被舍弃
3.函数的返回值
js中不需声明返回值类型,如果不写return或类似void,则默认返回值为undefined,其余与Java一致.
4.立即执行函数
(function(a,b…){…})(…);
即声明一个匿名函数function并用()包裹起来作为一个整体,加一个()进行调用
这种函数在声明完立即执行且只能执行一次.
5.方法
实际上函数是特殊的方法,通过方法二进行构造一个函数,方法名就是对象的属性名即可.那为什么说函数是特殊的方法呢?其实函数貌似与对象无关,其实有着默认的对象装载,即window对象,除此之外,所有的不在对象中的变量也是装在window中的,这点我们之后再详述.
6.call()与apply()
call()与apply()都是用来传入this的值的,即在不指定调用对象的情况下调用函数,this都是window,而call()与apply()中传入的第一个参数就赋值给this,调用方法是
函数名.call(obj,......);
函数名.apply(obj,[...]);
在传入this值之后可以继续传入形参的值,但是apply只能接受两个参数,因此需要将apply中的其余参数封装到一个arguments中既可.
其中arguments是传入参数的形参,arguments是一个默认提供的类数组对象,即是一个对象,但很像数组