函数
为什么需要函数
- 被设计为执行待定任务的代码块
- 可以实现代码复用,提高开发效率
函数的使用
-
声明语法
-
funtion 函数名(){ 函数体 }
-
-
函数命名规范
- 和变量名基本一致
- 尽量小驼峰命名法
- 前缀应该为动词
- 常用动词约定
-
函数调用
- 可以多次调用
函数传参
-
声明语法
function 函数名(参数列表){ 函数体 }
2. 好处 + 提高函数的灵活性
函数返回值
- 把处理的结果返回给调用者
- 用return关键字
- 对执行结果的扩展型,更高可以让其他程序使用这个结果
作用域
- 一个变量的可用性代码范围叫做作用域
- 提高程序逻辑的局部性,增强程序的可靠性,减少了名字冲突
- 全局作用域
- 作用与全部代码的环境
- 局部作用域
- 只能在当前函数里面使用
- 注意点(特殊情况)
- 变量没有在函数进行声明直接赋值了,会当成全局变量看,强烈不推荐
- 函数的形参可以当作函数的局部变量
- 访问规则
- 就近原则,一层一层往上找
匿名函数
-
没有名字的函数,是无法直接使用的
-
使用方法
-
函数表达式
-
将函数赋值给一个变量,通过变量进行调用
-
let fn = function(){} fn()
-
-
立即执行函数(常用)
-
//第一种写法 (function(x,y){ 函数体 })(1,2) // 立即执行函数 多个立即执行函数必须要用分号进行隔开 //第二种写法 (function(x,y){ 函数体 }(1,2))
-
立即执行函数 多个立即执行函数必须要用分号进行隔开
-
-
与具名函数的区别
- 具名函数可以写到任意位置,但是函数表达式必须先声明函数表达式再调用
逻辑中断
-
逻辑运算符里的短路
-
只存在 && 和||
let age = 18 console.log(false && age++)//age=18 一假则假,所以age并没有++ console.log(11 && 22)//都是真的话,输出最后一个值 console.log(11 || 22) //输出第一个真值,如果都是假,输出最后一个值
-