广告网站设计公司 作用,辽宁做网站,深圳网站建设品牌,怎样在wordpress里面调出菜单目录 1. 函数1.1 声明函数1.2 调用函数1.3 匿名函数1.3.1 函数表达式1.3.2 立即执行函数 1.4 箭头函数1.5 构造函数 1. 函数
1.1 声明函数
函数的调用不传递值给形参#xff0c;且形参没有默认值#xff0c;则其值为undefined如果没有return返回值#xff0c;则返回undefi… 目录 1. 函数1.1 声明函数1.2 调用函数1.3 匿名函数1.3.1 函数表达式1.3.2 立即执行函数 1.4 箭头函数1.5 构造函数 1. 函数
1.1 声明函数
函数的调用不传递值给形参且形参没有默认值则其值为undefined如果没有return返回值则返回undefined函数内部变量没有声明直接用num 1赋值也当全局变量看两个相同名称的函数后面定义的会覆盖前面定义的局部变量和全局变量同名则局部变量优先 function getMinMax(x 0, y 0) {// 局部变量let min x y ? y : xlet max x y ? x : yreturn [min, max]}1.2 调用函数
如果实参过多, 那么多余的实参会被忽略可以使用...arr声明一个形参放在形参的最后接收多余的实参。使用的时候直接用arr(真数组)函数内部有一个伪数组arguments,里面装着所有的实参函数调用存在提升: 函数在当前作用域声明之前即可被调用。但函数表达式不存在函数提升 let minMaxArr1 getMinMax(1, 3)console.log(minMaxArr1) // [1, 3]1.3 匿名函数
1.3.1 函数表达式
必须先声明再调用应用场景: 可以将函数赋值给按钮的点击事件 let func function (x 0,y 0) {let min x y ? y : xlet max x y ? x : yreturn [min, max]}let minMaxArr2 func(1,3)console.log(minMaxArr2) // [1, 3]1.3.2 立即执行函数
方式1
多个立即函数中间如果没有;隔开可能会报错应用场景: 可以避免定义全局变量 let minMaxArr3 (function (x 0,y 0) {let min x y ? y : xlet max x y ? x : yreturn [min, max]})(1, 3)console.log(minMaxArr3) // [1, 3]方式二 let minMaxArr4 (function (x 0,y 0) {let min x y ? y : xlet max x y ? x : yreturn [min, max]}(1, 3))console.log(minMaxArr4) // [1, 3]1.4 箭头函数
写法更简单属于表达式函数可以更好的实现匿名函数
只有一个参数可以省略小括号如果函数体只有一行代码可以写到一行上并且无需写return直接返回值。如果返回值是对象需要加小括号例如(uname) ({uname: uname})箭头函数没有arguments动态参数但是有剩余参数...arr箭头函数不会创建自己的this, 它里面的this是自己的作用域链的上一层的this。例如事件回调函数使用箭头函数时this为全局的window
使用示例
!DOCTYPE html
html langzh-CN
headmeta charsetUTF-8titleTitle/title/head
bodyscriptconst fn (x) {console.log(x)}fn(6)/script
/body
/html1.5 构造函数
用处: 用来初始化对象声明: 虽然是常规函数。但约定命名以大写字母开头。可以给构造函数声明静态变量和静态方法实例化: 只能由new操作符来创建对象如果没有参数可以省略() function Person(uname) {this.uname uname // 动态变量this.printName () console.log(hi, ${this.uname}) // 动态方法}Person.type person // 静态变量Person.sayHi () console.log(hi) // 静态方法const lily new Person(lily)console.log(lily) // {uname: lily, printName: ƒ}lily.printName() // hi, lilyconsole.log(Person.type) // personPerson.sayHi() // hi