下载此文档

js全局变量与部分变量+预解析与感化域链详解[分享].doc


文档分类:通信/电子 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
js全局变量与部分变量预解析与感化域链详解[分享]js全局变量与局部变量预解析与作用域链详解js全局变量与局部变量预解析与作用域链详解局部变量和全局变量同名时,会隐藏这个全局变量;:,不能用delete运算符删除全局对象,调用对象初始化时,JS解析器会在相应的代码段里寻找var声明的变量,然后在全局对象,调用对象中创建相应的属性,此时它是未赋值的(undefined),当程序执行到相应的var声明代码段时才会给相应对象的属性赋值重复的声明:根据以上var声明作用的理解,重复的var声明不会造成任何错误,var声明只是方便创建全局对象,调用对象的属性,代码只是赋值用的遗漏的声明:给未声明的变量赋值,JS会隐式声明全局变量(在全局对象中增加相应的属性),,局部变量局部变量和全局变量同名时,,无论在哪里声明的,(u);会产生一个错误--使用未声明的变量会产生一个错误varu;alert(u);会跳出undefined---使用未赋值的变量,,在执行任何JS代码前,会创建一个全局对象,这个对象的属性就是JS全局变量,并初始化为undefinedvar声明一个JS全局变量时,实际上就是定义了一个全局对象的属性,JS解释器还会用预定义的值和函数来初始化全局对象的许多属性,如:InfinityparseIntMath非函数内部可以用this来引用这个全局对象客户端的JS中,Window对象代表浏览器窗口,它包含该窗口中的所有JS代码的全局对象,:调用对象函数的局部变量存放在调用对象的属性调用对象是一个完全独立的对象,,会创建一个执行环境JS允许同时存在多个全局执行环境,如::变量名解析(variablenameresolution)的过程,它开始查看作用域链的每一个对象,如果有,返回值,如果没有继续查询下一个对象,:嵌套函数的调用对象>调用对象>全局对象根据以上理解说明JS初始化的过程:在JS解释器执行任何代码之前,创建全局对象用预定义的值和函数来初始化全局对象中的属性,,Infinity,parseInt搜索函数外的var声明,创建全局对象相应的属性,初始化为undefined创建全局的执行环境,作用域链只有一个对象-全局对象依次执行代码遇到var声明赋值语句给全局对象相应的属性赋值遇到未声明赋值语句,在全局对象中增加相应的属性,并赋值遇到函数调用,创建调用对象搜索函数中的var声明和参数,创建调用对象相应的属性,初始化为undef

js全局变量与部分变量+预解析与感化域链详解[分享] 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人iris028
  • 文件大小20 KB
  • 时间2019-12-06