美文网首页
ES6基本用法(顶层对象的属性)

ES6基本用法(顶层对象的属性)

作者: 墨墨君 | 来源:发表于2017-02-21 14:41 被阅读2次

本文摘抄于阮一峰老师的《ECMAScript 6 入门》(http://es6.ruanyifeng.com/)
浏览器的顶层对象指的是window对象,node指的是global对象。顶层对象的属性和全局变量是等价的。

Paste_Image.png

如图a是全局变量,是顶层对象的属性,b由let声明,不是顶层对象属性。

global属性

ES5:
-浏览器顶层对象是window,node和web worker没有window。
-浏览器和web worker,self只想顶层对象,node无self
-node顶层对象是gobal,其他环境不支持
ES6:
-全局环境中,this会返回顶层对象。但是,Node模块和ES6模块中,this返回的是当前模块。
-函数里面的this,如果函数不是作为对象的方法运行,而是单纯作为函数运行,this会指向顶层对象。但是,严格模式下,这时this会返回undefined。
-不管是严格模式,还是普通模式,new Function('return this')(),总是会返回全局对象。但是,如果浏览器用了CSP(Content Security Policy,内容安全政策),那么eval、new Function这些方法都可能无法使用。
下面是在所有情况下的拿到顶层对象global:

Paste_Image.png

相关文章

  • let 和 const 命令

    let 命令 块级作用域 const 命令 顶层对象的属性 global 对象 let 命令 基本用法 ES6 新...

  • let 和 const 命令

    let 命令 块级作用域 const 命令 顶层对象的属性 global 对象 let 命令 基本用法 ES6 新...

  • let 和 const 命令

    let 命令 块级作用域 const 命令 顶层对象的属性 globalThis 对象 基本用法 ES6 新增了l...

  • ES6基本用法(顶层对象的属性)

    本文摘抄于阮一峰老师的《ECMAScript 6 入门》(http://es6.ruanyifeng.com/)浏...

  • 顶层对象的属性

    顶层对象属性ES6 之后 var和function命令声明全局变量,依然是顶层对象的属性但是,let const ...

  • let 和 const 命令

    let命令,const命令 块级作用域,顶层对象的属性,globalThis对象 let命令式用来声明变量,用法与...

  • 第二章 let 和const命令

    let命令 块级作用域 const命令 顶层对象的属性 globalThis 对象 可抽取出的面试题 es6中一共...

  • Symbol学习

    ES6引入了一种新的原始数据类型Symbol,表示独一无二的值,最大的用法是用来定义对象的唯一的属性名。 基本用法...

  • 2018-06-28 ecma 6 (顶层对象 的 属性)

    顶层对象的属性

  • ES6 Object.assign()的用法

    ES6的Object.assign()的基本用法 Object.assign方法用于对象的合并,将源对象(sour...

网友评论

      本文标题:ES6基本用法(顶层对象的属性)

      本文链接:https://www.haomeiwen.com/subject/fbcuwttx.html