全局和本地及私人功能(Javascript)

我目前正在阅读一本关于 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";
}

应该注意的是,您不应该在最外层的范围内拥有任何代码.您应该将所有范围包装在匿名函数中,以便获得“模块级范围”.这意味着您拥有基于每个文件的顶级范围.这是模块模式的一部分.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...