JS中变量声明及作用域详解

 时间:2024-10-12 16:49:36

1、第一步:变量声明:JS中变量申明分显式申明和隐式申明,var i=100;//显式申明(会旅邯佤践进行预编译),i=100;//喽矫杼埕隐式申明(解释时才会被声明为全局变量)在函数中使用var关键字进行显式申明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量,当我们使用访问一个没有声明的变量时,JS会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量,这一点一定要注意。

JS中变量声明及作用域详解

2、第二步:创建全局变量和局部变量:当JS解析器执行时,首先就会在执行环境里构建一个全局对象,我们定义的疙矬嫣歌全局属性就是做为该对象的属性读取,在顶层代码中我们使用this关键字和window对象都可以访问到它。而函数体中的局部变量只在函数执行时生成的调用对象中存在,函数执行完毕时局部变量即刻销毁。因此在程序设计中我们需要考虑如何合理声明变量,这样既减小了不必要的内存开销,同时能很大程度地避免变量重复定义而覆盖先前定义的变量所造成的Debug麻烦。

JS中变量声明及作用域详解

3、局部变量会提前初始化,假如已经声明全局变量A,同时在function()方法中声明局部变量A,那么局部变量A的值会覆盖全局变量A的值.如下代码所示。

JS中变量声明及作用域详解
  • AKG Q701新款耳机评测
  • 红酒烤鸭的做法
  • 设置权限说说权限关于路由
  • 呷哺呷哺为什么要关闭200家门店
  • jdk安装,java10.0.1最新版安装指南
  • 热门搜索
    趣味语文手抄报 建党95周年手抄报 健康安全手抄报 水是生命之源手抄报 交通手抄报的内容 我中国梦手抄报内容 三月文明礼貌月手抄报 动物手抄报内容 预防疾病手抄报图片 关于新年的手抄报图片