js函数详解概念作用创建调用

北京市中科医院好不好 http://finance.sina.com.cn/chanjing/b/20090930/09073071708.shtml

01概念和语法

函数是由事件驱动的或者当他被调用时执行可重复使用的代码块。就是包裹在花括号内的代码块,前边使用关键字function。如:functionhanshuming(){//可重复执行的代码块}当函数被调用时就会执行花括号内的代码。注:js区分大小写,关键字function必须小写,否则会失效。

02函数创建方式

函数声明式:functionmyfun(a,b){returna+b}myfun(1,2)//返回结果3特点:函数不属于任何对象,在js中始终是默认的全局对象。可以先调用,后声明。函数表达式:通过一个表达式定义,表达式可以存储在变量中。如:varx=function(a,b){returna+b}varz=x(1,2)//运行结果z=4特点:表达式定义的函数必须先声明后调用。Function()构造函数通过js内置Function定义,如:varmyfun=newFunction(a,b,returna+b);varx=myfun(1,2)

03函数调用方式

作为一个函数调用函数作为全局对象调用,在浏览器页面对象是window,函数会自动变为window对象的函数。functionmyfun(a,b){returna+b;}window.myfun(1,2)//调用全局对象当函数没有被自身对象调用时this就会变成全局对象,浏览器中全局对象是window对象,functionmyfun(){returnthis;}myfun()该实例返回this的值是window,容易造成程序崩溃。函数作为方法调用js中可以将函数定义成对象的方法,如:varobj={firstName:辣,lastName:条,fullName:function(){returnthis.firstName++this.lastName;}}obj.fullName();//返回辣条实例中的this是obj对象,fullName方法是一个函数,函数属于对象。使用构造函数调用函数如果函数调用前使用了new关键字,则是调用构造函数创建了一个新对象。functionmyFun(str1,str2){this.first=str1;this.second=str2;}varx=newmyFun(哎呦,我去)console.log(x.first=,x.first)//返回哎呦作为函数方法调用函数在js中,函数是对象,是对象就有他的属性和方法,而call()和apply()是预定义的函数方法,这两方法都可以调用函数,两个方法的第一个参数必须是对象的本身!functionmyFun(a,b){returna+b}myObj=myFun.call(myObj,1,2)//返回3


转载请注明:http://www.aierlanlan.com/tzrz/8414.html