ES6——Day2(跨模块常量+全局对象属性) 男娘i 2022-09-28 01:19 84阅读 0赞 1、什么是模块? 在面向对象编程设计中,模块至少归属于一个“类”; 在javascript编程中,可以把js文件归属于一个模块。 案例1:module.js <script type="text/traceur"> //module.js export const intVariantName = 100; export const FloatVariantName = 3.1415926; export const charVariantName = "variantValue"; //use.js import * as variant form './module'; console.log(variant.intVariantName); //100 console.log(variant.charVariantName); //3.1415926 console.log(variant.charVariantName); //variantValue </script> 解析:import表示导入文件; variant表示的类似于“容器container”; module表示模块化。 2、什么是全局对象? 全局对象是最顶层的对象,在浏览器环境中指的是window对象;在Node.js中指的是global对象; 在JavaScript中,所有全局变量都是全局对象的属性。(Node情况比较特殊,这一条对REPL环境使用,模块环境必须显式声明global属性。) ES6规定,var命令和function命令声明的全局变量,属于全局对象的属性;let命令、const命令、class命令声明的全局变量,不属于全局对象的属性。 <script type="text/traceur"> var varName="varValue"; //浏览器环境下 console.log(window.varName); //varValue //Node.js环境下 //console.log(global.varName); //通用环境 console.log(this.varName); //varValue let letName = "letValue"; console.log(window.letName); //undefined; console.log(this.letName); //undefined </script>
还没有评论,来说两句吧...