首页 > 代码库 > JS函数
JS函数
1、JS中函数的定义方法function fun_1(){} var fun_1 = function(){} 前者在第一次执行声明时放到代码树顶端以供调用,后者在解析器执行到所在代码行才会进行解析 函数定义作为对象的属性,称之为对象方法;函数若用于创建新的对象,称之为构造函数 2、函数重载可以为一个函数编写多个定义,只要这些定义的签名(接收的参数类型和参数个数)不同。ECMAScript中禁止函数重载。ECMAScript中函数没有签名的概念,其参数一一个包含0或多个值组成的数组形式进行传导(arguments与数组类似,但不是Array的实例) arguments.length属性返回函数调用过程中接收到的参数个数(无论函数运行过程中是否调用了传入的参数)function fun_1(a, b, c){ var y = a + b; alert(arguments.length); //arguments[0] = a //arguments[1] = b //arguments[3] = undefined}window.onload = function(){ fun_1(2, 9, 5); //3} 此外,无须匹配所有传入的参数function fun_1(a, b, c){ var y = a + b; alert(y);}window.onload = function(){ fun_1(2, 9); //11} 3、在函数内部生命了全局变量,如果要在函数外访问,至少要运行一次函数,否则无法访问到。function fun_1(){ a = 99;}window.onload = function(){ fun_1(); alert(a);} 4、this的指向(1)函数作为全局对象当函数没有被自身的对象调用时,this的值为全局对象windowfunction fun_1(){alert this;} //返回window对象(2)函数作为对象方法调用,this指向对象本身
(3)函数作为构造函数若函数构造前使用了new关键字,则是调用了构造函数function fun_1(a, b){ this.name = a; this.age = b;}var obj_1 = new fun_1("fftu", 26);alert(obj_1.name + "---" + obj_1.age);*构造函数的调用会创建一个新对象,继承构造函数的属性和方法 5、自调用函数(function fun_1(){ alert("haha");})(); points(1)无须指定函数的返回值,ECMA中的函数可以在任何时候返回任何值(2)浏览器中的页面对象是HTML页面本身,即window对象。函数会自动成为window对象的函数,默认也是全局对象,fun_1()和window.fun_1()等价(3)web页面中的全局变量都属于window对象。全局变量可作用于页面中的所有脚本(4)JS文件中不能单独声明匿名函数,否则无法运行。但若使用自调用函数,则可声明匿名函数。
JS函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。