码迷,mamicode.com
首页 > 其他好文 > 详细

25.函数例题-预解析 作用域 、函数变量优先级、全局变量污染(直接在全局声明 、 函数里的变量没声明)但是函数里的变量没声明造成的全局变量污染有个前提,函数要被调用)

时间:2020-03-18 13:57:01      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:例题   作用域   消失   define   变量污染   代码   赋值   情况下   http   

  1. 技术图片技术图片 return foo()   foo 没有return值,故为undefined.

 

  2.

   技术图片技术图片  a b 在函数作用域内,外界找不到   var a = b =3; b 也算用var 声明了,只不过b 是在全局隐式var 了一个b ,在函数内部找不到变量的情况下就去全局找,全局找不到报错。

 

 

   语法有错误,程序一句都不会执行,执行阶段有错误,会执行没错的代码,在执行出错的地方报错。

 

 技术图片 函数或则匿名函数体内声明变量是为了避免全局变量污染

 

重要例题:

技术图片技术图片 函数没执行,全局没找到 b报错。没声明 或者没赋值 打印的时候都为undefined,但是没声明与没赋值不同同时出现在一个变量上,同时出现就报错。

 

 

 技术图片技术图片 函数执行,b 没声明会在全局隐式声明并赋值var b =20 放在GO 里,函数AO 消失之后,console.log会从全局里找b ,发现值为20. 函数里的变量没声明会引发全局变量污染。

♥注意:函数里的变量没声明造成的全局变量污染有个前提,函数要被调用

技术图片技术图片

 

技术图片技术图片

 

页面关闭 GO 关闭          功能没执行或者执行完了 AO 关闭

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    

 

 

 

 

 

 

                                                                        

 

25.函数例题-预解析 作用域 、函数变量优先级、全局变量污染(直接在全局声明 、 函数里的变量没声明)但是函数里的变量没声明造成的全局变量污染有个前提,函数要被调用)

标签:例题   作用域   消失   define   变量污染   代码   赋值   情况下   http   

原文地址:https://www.cnblogs.com/yzdwd/p/12516618.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!