我目前正在阅读一本关于
Javascript by Pragmatic的书,我对一件事感到困惑.他们有一节介绍如何使变量全局,本地或私有.
>本地变量和私有变量有什么区别?有吗?
>如何使变量成为全局变量或局部变量,他们说过在它之前加上’var =’,但它非常模糊.
解决方法
>没有,人们使用“私人”因为他们错了并且意味着说“本地”
>局部变量定义为
>局部变量定义为
var foo =“local”;
window.foo =“全球”;
你可以做的事实foo =“global”;没有首先使用var foo分配变量foo是一个“bug”.这在ES5严格模式下得到修复.
(function(){“use strict”; foo = 42;})()
给出了ReferenceError:foo未定义
请注意,您可以通过在最外层范围内声明变量来使变量成为全局变量
var foo = "global"; function bar() { var foo = "local"; }
应该注意的是,您不应该在最外层的范围内拥有任何代码.您应该将所有范围包装在匿名函数中,以便获得“模块级范围”.这意味着您拥有基于每个文件的顶级范围.这是模块模式的一部分.
原文地址:https://www.jb51.cc/js/157442.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。