当前位置: 首页 > 面试题库 >

使用JavaScript进行多个左侧分配

宋烨烁
2023-03-14
问题内容
var var1 = 1,
    var2 = 1,
    var3 = 1;

这等效于:

var var1 = var2 = var3 = 1;

我相当确定这是定义变量的顺序:var3,var2,var1,这等效于此:

var var3 = 1, var2 = var3, var1 = var2;

有什么方法可以用JavaScript确认吗?可能使用一些分析器?


问题答案:

其实,

var var1 = 1, var2 = 1, var3 = 1;

不是 等同于:

var var1 = var2 = var3 = 1;

区别在于范围:

function good() {

  var var1 = 1, var2 = 1, var3 = 1;

}



function bad() {

  var var1 = var2 = var3 = 1;

}



good();

console.log(window.var2); // undefined



bad();

console.log(window.var2); // 1. Aggh!

实际上,这表明分配是正确的关联。该bad示例等效于:

var var1 = (window.var2 = (window.var3 = 1));


 类似资料:
  • 问题内容: 我以前没有看过这种语法,并且想知道它的全部含义。 左侧的括号引发语法错误: 意外的标记 { 我不确定webpack配置的哪个部分正在转换或语法的目的是什么。这是和谐的事情吗?有人可以启发我吗? 问题答案: 这称为解构分配,它是ES2015标准的一部分。 析构分配语法是一个JavaScript表达式,它可以使用与数组和对象文字的构造类似的语法从数组或对象中提取数据。 对象解构 阵列解构

  • 我已经使用Blue ocean multibranch管道和Jenkins文件配置了Jenkins,以便在repo中出现新的pull请求时触发构建。 在这个管道中,我有两个并行运行的阶段,因为它们是独立的测试。我想要实现的是在Github的pull请求页面上显示两个检查结果,每个阶段一个。 起初我想用两个不同的Jenkins文件创建两个管道,但多分支插件似乎不支持这一点。 实现这一目标的正确解决方

  • 侧栏是和菜单栏一样,和用户直接交互并呈现用户操作结果和数据的地方,并且包含了很多菜单栏的快捷操作功能。整体上分为场景数据和搜索两部分。 场景数据 场景数据的三维场景包括我的地标、图层和地形3个部分。场景数据以树状结构向用户呈现,每个结构都带一个复选框,可以用于控制数据的显示和隐藏。子节点(具体的元素),或者图层,可以通过双击快速定位(根节点双击是展开和合并)。 【我的地标】:用户自己添加的点、线、

  • 侧栏是和菜单栏一样,和用户直接交互并呈现用户操作结果和数据的地方,并且包含了很多菜单栏的快捷操作功能。整体上分为场景数据和搜索两部分。 场景数据 场景数据的三维场景包括我的地标、图层和地形3个部分。场景数据以树状结构向用户呈现,每个结构都带一个复选框,可以用于控制数据的显示和隐藏。子节点(具体的元素),或者图层,可以通过双击快速定位(根节点双击是展开和合并)。 【我的地标】:用户自己添加的点、线、

  • 本文向大家介绍Android使用fragment实现左侧导航,包括了Android使用fragment实现左侧导航的使用技巧和注意事项,需要的朋友参考一下 使用简单的fragment实现左侧导航,供大家参考,具体内容如下 先上效果图: MainActivity.java Fragment1.java Fragment2.java 源码地址:使用fragment实现左侧导航 以上就是本文的全部内容,

  • 我正在使用标记为我的搜索框创建一个建议列表,但是我不能从数据列表中选择多个值。当前,我得HTML是: