var a=b={} ,作用域问题?

两个知识点:变量的作用域和比较运算符。

变量的作用域:

两种写法分别声明了两个变量,它们的作用域是一致的。a 是当前作用域变量(变量在函数外定义,即为全局变量;在函数内定义,即为局部变量),而 b 是全局变量。

比较运算符:

var a=b={}; a 和 b 均指向了同一个地址。它们是 绝对相等,即 a==b a===b 均为 true。


a是当前作用域变量,既局部变量,在外面调用不到,内未声明所以是undefind,而b这个其实是全局变量,this指向window,所以是object。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。