美文网首页webpack入门
webpack下的window属性

webpack下的window属性

作者: YINdevelop | 来源:发表于2018-03-02 14:32 被阅读455次

今天在webapck搭建的es6环境下学习var、let区别时,无意间踩到一个坑。

var a = 1;
console.log(window.a) // undefined

为什么?正常情况下上述定义方式,a应该是全局变量,即window的属性。怎么会找不到,打印出undefined。

于是随便写了个html测试(不在webpack环境下),正常打印。

百思不得其解。于是上网搜索,原来

1.使用webpack做模块化,每个文件内的作用域是封闭的,var a = 1 这种定义是局部的,只对这个文件内有效,并没有挂载到window作用域下。如果不用module.exports等导出的话,无法访问。

2.想定义全局的话,只能手动window.a = 1 这样其他模块才能访问这个a变量。不过既然使用了webpack模块化,肯定使用导出的方法最好。

实际往深处想,既然webpack模块化,模块内定义的变量肯定是封闭的。所以自然而然也挂载不了全局window上,究其原因,还是自己理解的不够深刻,特此记录下。

相关文章

  • webpack下的window属性

    今天在webapck搭建的es6环境下学习var、let区别时,无意间踩到一个坑。 为什么?正常情况下上述定义方式...

  • js里的对象

    全局对象(glablo)window(浏览器下[特例]) winndow的属性window属性分为ECMAscri...

  • BOM对象

    BOM的核心是window window对象属性 全局变量都是window对象的属性 window.innerHe...

  • 前端路由的实现

    浏览器中window.location属性 和window.history属性:

  • 浏览器宽高

    window.innerHeight属性与outerHeight属性 通过window.innerHeight和w...

  • TextMesh Pro 制作中文字体

    Window 下打开 Font Asset Creator 属性: Font Source : 选择你想引入的字体...

  • window.location下的属性说明

    var href = window.location.href;//完整的urlvar protocol =...

  • location对象

    location——BOM对象之一,既是window对象的属性,又是document对象的属性,即:window....

  • 原型与原型链

    全局对象global (window) window下的属性分两种:一种是ECMA Script 规定,一种浏览器...

  • JavaScript的BOM编程,事件-第4章

    目标 BOM编程 window和document对象 window对象的属性和方法 document对象的属性和方...

网友评论

    本文标题:webpack下的window属性

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