作用域

作用域:
作用域有两种:函数作用域和全局作用域

全局作用域:
直接在脚本中书写的代码
在全局作用域中声明的变量,会被提升到脚本块的顶部,并且会成为全局对象的属性
eg-----> var a=123;
var b=“23568”;

函数作用域:
函数中的代码
在函数作用域中声明的变量,会被提升到函数的顶部,并且不会成为全局对象的属性;因此,函数中声明的变量不会导致全局对象的污染 。所以应该尽量的将功能封装在函数中。

但是当函数成为一个表达式的时候,他既不会提升也不会污染全局对象。
函数变成函数表达式的方式之一----就是将函数用小括号括起来。
然而这个函数表达式时不能被调用的。
eg------> function test(){
var a=123;
var b=“23568”; }
如果书写一个函数,然后将其立即调用,则该函数称之为立即执行函数 IIFE(imdiately Invoke function express) ,由于大部分情况下,函数表达式的函数名没有实际意义,所以可以省略函数名 (function() { ****}) 。称之为匿名函数

作用域中可以使用的变量
全局作用域只能使用全局作用域中声明的变量(包括函数),函数作用域不仅能使用自身作用域中声明的变量,还能使用外部函数声明的变量。

有的时候,某个函数比较复杂,在编写的过程中,可能需要另外一些函数来呗辅助它来完成一些功能,而这些函数仅仅会被该函数使用,不会被其他位置使用,则可以将这些函数生命到该函数的内部。
当函数内部声明的变量和外部冲突时,就应该使用内部的变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值