在JavaScript中,函数是作为一等成员而存在的,由此,非常有必要掌握JavaScript中函数的知识,最近几天阅读了JavaScript忍者的第三章和第四章前面的部分,做一个总结。
JavaScript函数声明:
JavaScript函数是使用 函数字面量 进行声明 从而创建函数的。
形如
function name(arg1,arg2)//函数的名称可选 { code; };
函数的作用域:
在JavaScript中没有块级作用域,只有函数作用域。也就是说在JavaScript中,作用域是由function声明的,而不是由代码块。
{ var a=10; } console.log(a);//结果是10
function a() { var a=10; } console.log(a);//结果是undefined
函数调用:
1.作为函数进行调用
function a() {}; a();
2.作为方法进行调用
var o={}; o.haha=function(); haha();
3.作为构造函数调用
function Pig() {}; var xiaohong=new Pig(); var xiaoming=new Pig();
4.使用apply和call方法调用
function haha() {}; var hahaha1={}; var hahaha2={}; haha.apply(hahaha1,[1,2,3,4]);//apply方法第一个参数是函数上下文的对象,第二个参数是要传入参数的数组 haha.call(hahaha2,1,2,3,4);call方法的第一个参数是函数上下文的对象,剩下的参数是要传入的参数