函数
函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势是有利于精简代码方便复用。
函数的作用:
1.精装代码
2.复用代码
函数的思想

封装
封装步骤:1、 分析有没有相同代码2、 抽取相同代码,并给一个名字3、 使用这个名字 == 执行了这段代码
函数使用
函数的声明语法
函数名命名规范【函数名其实也是变量名,都是一个容器】
和变量命名基本一致
尽量小驼峰式命名法
前缀应该为动词
命名建议:常用动词约定
调用函数
函数传参
形参
定义函数的时候,在()写的就是形参
声明定义的时候,形参只是参数之位,在调用方法的时候,形参是一个变量
相当于在方法中声明的局部变量
只有在方法内部可以使用
如果方法外部使用,会报错
实参
调用函数的时候,写在()里面的就是实参
实参是实际参数,是真正存在的值
调用的时候,尽量让实参和形参
顺序对应
数量对应
类型对应
函数的返回值
语法
return 变量值
概念
当调用某个函数,这个函数会返回一个结果出来
这就是有返回值的函数
细节
在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用
函数内部只能运行到 1 次 return,所以 return 后面的数据不要换行写
return会立即结束当前函数, 换句话说就是return 之后的代码不会再被执行
函数可以没有 return,这种情况函数默认的返回值为 undefined
作用域
概念
通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。
变量的作用域
变量作用域特殊情况:
局部变量或者块级变量 没有使用let声明,而是直接赋值的变量,会被当全局变量看;我们强烈不提倡
还有一种特殊情况,函数内部的形参可以当做局部变量看
变量访问原则-作用域链
匿名函数
概念
将匿名函数作为一个值赋值给一个变量,并且可以通过变量名称进行函数调用;我们将这个声明形式称为函数表达式
语法
调用


匿名函数的一个常用场景:立即执行函数
作用: 避免全局变量之间的污染
语法:
