js中一次性定义多个变量的时候,可以用:var a=1,b=1这种中间用逗号隔开的方式,但有些时候为了省事,直接定义var a=b=1。那这两种写法方式最后效果是一样的吗?有没有什么区别呢?请大家看下面的范例:

1、用var a=b=1的方式


可以看出:变量b的作用域是全局的,变量a是局部的

2、用var a=1,b=1的方式


可以看出:变量a和变量b的作用域都是局部

结论:var a=b=1中的变量b会成为全局变量,而var a=1,b=1中的a、b变量都为局部变量。

在严格模式下, 变量必须先声明,直接给变量赋值,不会隐式创建全局变量比如webpack打包js后会在严格模式下

<script>"use strict";var a=b=1;console.log(a,b)
</script>

报错:Uncaught ReferenceError: b is not defined

因此以后写代码定义变量的时候,要严格按照语法规范,不能用偷懒的写法哦。否则可能出现意想不到的情况,造成难以排查的程序bug。

认清js中var a=b=1和var a=1,b=1的区别相关推荐

  1. js 中的构造函数,构造函数作用,构造函数和普通函数的区别

    函数的定义方式: 1.声明式函数定义: function 函数名 (){}:这种定义方式,会将函数声明提升到该函数所在作用域的最开头,也是就无论你在这个函数的最小作用域的那儿使用这种方式声明的函数,在 ...

  2. js中includes()、indexOf()、search()、match()几种方法的区别

    includes() includes() 方法用来判断一个数组是否包含一个指定的值,如果是则返回 true,否则返回false. let d = ['a','b','c'].includes('a' ...

  3. JS中的位置和宽度:clientWidth、offsetWidth、scrollWidth等区别

    首先定义一个div. 然后稍微装修一下 下面开始区分 一.clientWidth和clientHeigh . clientTop和clientLeft 1,clientWidth的实际宽度 clien ...

  4. 第28篇 js中let和var

      let与var 在js中声明一个变量除了一个var 还有一个let的声明.对于var 在前面的作用域中已经讲过,这次主要说下二者的区别: 在MDN上有这样的一个demo: var list = d ...

  5. JS中window.document对象

    小知识点注:外面双引号,里面的双引号改为单引号:                  在div里面行高设置和整个外面高度一样,才能用竖直居中,居中是行居中                  文本框取出来 ...

  6. legend---十二、js中的js语句和函数和ready函数的关系是什么

    legend---十二.js中的js语句和函数和ready函数的关系是什么 一.总结 一句话总结: 函数和全局变量不必放到ready函数中 语句(调用函数和全局变量)的必须放到ready函数中 1.在 ...

  7. js相对路径相关(比如:js中的路径依赖导入该js文件的路径)

    问题描述: 前几天调用同事的js接口文件,在他自己的html测试页面ok,在我这边调用时出现问题. debug过程中,将该测试html移到其他位置都不行,放到原html测试页面同层次路径下是OK的. ...

  8. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button οnclick="javas ...

  9. 深入理解 Node.js 中 EventEmitter源码分析(3.0.0版本)

    events模块对外提供了一个 EventEmitter 对象,即:events.EventEmitter. EventEmitter 是NodeJS的核心模块events中的类,用于对NodeJS中 ...

最新文章

  1. (转译)用FFmpeg和SDL写播放器--01视频帧提取
  2. hdu4771 水搜索(状态压缩+bfs)
  3. C++11:using 的各种作用
  4. 从Speedment 3.0.17或更高版本的事务轻松返回值
  5. mysql 5.7 ssd_6T!阿里云MySQL 5.7 存储空间再刷新高
  6. baseapp01: [S_ERROR]: [Account 40 => dbid 196]---------->call server client2base_xz Generate an err
  7. 【英语学习】【English L06】U07 Jobs L3 Dr. Allen is a Dentist
  8. Atitit uke各大事业部规划 约365个事业部
  9. 网络服务器管理系统设置实训总结,网络系统管理与维护实训报告.doc
  10. FastDFS原理及入门
  11. Docker for mac安装教程及国内镜像加速器配置
  12. Android FBReader基础资料文档
  13. Smbus host controller not enabled Assuming drive cache : write through
  14. 快速申请注册微信小程序的方法
  15. 李宏毅机器学习 02回归
  16. ROWTYPE 数据类型实践和使用
  17. 数据挖掘技术的来源、历史、研究内容及常用技术
  18. plsql官方下载地址
  19. 如何在自己的网站输入关键字跳到百度搜索,并显示搜索内容呢?
  20. cpri和10g-kr的关系?

热门文章

  1. Python推荐博客、网站学习
  2. c语言数字的拆解_C语言解决变态推理题
  3. exit命令的返回值
  4. Android安卓开发-'Theme.AppCompat.Light'无法找到的解决方案
  5. 政策定价风控审批策略
  6. 10次相遇我才知道什么是成熟的爱--转
  7. 【文本挖掘】反欺诈模糊匹配
  8. 数据挖掘十大经典算法之——KNN 算法
  9. 大数据【企业级360°全方位用户画像】标签系统介绍
  10. 【我的区块链之路】- Hyperledger fabric的简单入门(四)链码的编写及调试