在 Java Script 中,函数属于一种引用对象,所以它也是对象。函数是可以赋值、定义、作为对象属性使用或者是作为其他函数的参数被调用。
函数:通过函数可以封装任意多条语句,而且可以在任何地方,任何时候调用
(标识符:以字母,数字,下划线,美元符号组成,且不能以数字开头)
函数里面的代码,永远不会主动执行,除非调用
一、创建函数
1、函数声明
function fn() { } fn:函数名称 ()形参 { } 需要执行的语句方法
2、匿名函数(函数表达式)
var fn = function () { }
函数表达式、匿名函数也就是没有名字的函数
3、构造函数
var fn = new Function("a","b","c","console.log(a+b+c)")
构造函数括号内可分为两部分 前半部分为 (函数参数)后半部分为(执行的语句)
在创建函数时,构造函数不推荐使用,影响性能、效率低
4、箭头函数
①、箭头函数为ES6 中的新增函数创建方法
特点: 比函数表达式更简洁,并且没有自己的this,arguments
适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数
②、箭头函数语法:(参数1,参数2,... ,参数N) => { 语句 }
当箭头函数只有一个参数时,可以省略小括号 如:参数1 => { 语句 }
当箭头函数只有一个语句时,可以省略花括号 如:(参数1,参数2,... ,参数 N) => 语句
当箭头函数只有一个参数,也只有一个语句时 如:参数1 => 语句
没有参数的函数应该写成一对圆括号 () => { 语句 }
二、函数的调用
1、fn(); 函数名+小括号
2、事件调用 例如:鼠标事件、键盘事件、页面事件(UI事件)等事件调用
3、直接执行 函数整体加小括号,后面再加一个小括号
4、通过函数 call() 或 apply() 或 bind()方法调用
call()、apply()、bind() 都是用来重定义 this 这个对象的!同时也可以调用函数
(这个方法为Function函数的内置函数,牵扯到函数指向和原型,后面会详细讲解)
三、函数参数(形参、实参
1、函数的参数分为 实参和形参
小括号 => 传参
实参 => 可以是任意数据类型 (基本数据类型、函数等)
2、函数传参可以是 单个 也可以是 多个 例如:传特殊值 null 和 undefined
3、参数的传递
①、实参和形参的一样数量时、挨个传递 例如:上图中的 (null 传递给 x)
(undefined 传递给 y)
②、形参大于实参 时 实参会从前往后依次传递给 形参 没有被传递到的形参 的 值为 undefined 例如:
③、形参小于实参 时 我们引入 一个 arguments (它包含了当前函数所有的实参,它是一个集合) 例如:
图中的 打印结果为
网友评论