js中var a=b=1和var a=1,b=1的区别

js中一次性定义多个变量的时候,可以用:var a=1,b=1这种中间用逗号隔开的方式,但有些时候为了省事,直接定义var a=b=1。

那这两种写法方式最后效果是一样的吗?有没有什么区别呢?请大家看下面的范例:

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

js中var a=b=1和var a=1,b=1的区别

由上图可以明显看出来,变量b的作用域已经是全局的了,因为在函数外可以调用到(可以正常的输出变量)。

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

js中var a=b=1和var a=1,b=1的区别

由上图可以看出,变量a和变量b的作用域都是局部,因为它们在外部都不能调用到。

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

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

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/10357.html

(0)
江山如画的头像江山如画管理团队
上一篇 2022年3月19日 上午11:18
下一篇 2022年3月19日 下午9:03

99%的人还看了以下文章

  • aspx文件编码不统一导致乱码

    今天发现了一个很奇怪的现象,页面在VS2008下面,有些页面乱码,而有些則不会。 上网查找了很多方法均不能解决,根据以前开发asp,php的经验,怀疑这些页面的编码可能不一样。 在VS2008下面还真的不知道在哪里看文件的编码,用Dreamweaver打开一个乱码跟一个不乱码的页面对比了一下,发现一个是gb2312(不乱码),而别外一个则是utf-8(乱码)…

    2019年2月14日
    2.4K0
  • 5分钟快速入门AJAX

    什么是AJAX? 第一步:如何发出一个HTTP请求第二步:处理服务器的响应第三步:一个简单的例子第四步:与XML响应协同工作 什么是AJAX AJAX是一个新的合成术语,隐含了两个已经存在多年的JavaScript特性,但是直到最近,随着一些诸如Gmail、Google Suggest以及Google Maps的轰动,才被许多网络开发者所注意到。 我们所讨论…

    2020年4月4日
    1.9K0
  • 一秒解决cv2.imshow(”, frame) size.width>0 && size.height>0 in function ‘cv::imshow’ 错误

    看网上对size.width>0 && size.height>0 in function ‘cv::imshow’ 错误多是提示,路径问题:要修改路径中的\为/,或要改为绝对路径。 又或是路径包含中文,改成全英文。 搜了半天,没有一个解决问题。 我们静下心来,看下错误提示size.width>0 &&…

    2022年9月12日
    4.0K0
  • 第四章 数据库应用开发案例2

    本章重点讲述以下内容:
    4.4 应用JDBC调用存储过程
    4.5 数据源与连接池技术
    4.6 数据库程序开发案例

    2018年2月7日
    2.1K0
  • 如何修改从Maven中心仓库下载到本地的jar包的默认存储位置?

    为什么要修改从Maven中心仓库下载到本地的jar包的默认存储位置? 把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。 第一次执行”mvn compile”和”mvn clean”这两个命令时,Maven会去中央仓库下…

    2023年1月28日 编程开发
    8950
  • JSP三层架构开发学生管理系统源码-dao、entity、service、servlet

    表示层:MVC中的视图层和控制器层,前端通常为html css js jsp文件,后端例如Servlet文件,调用业务逻辑层业务逻辑层(Service):接受表示层的请求,先进行逻辑处理,后调用数据逻辑层,(增:查+增) 数据访问层(Dao):直接访问数据库的操作 通过三层架构,将表示层请求传递到数据访问层,数据访问层将结果返回至表示层 具体流程 开发环境:…

    2021年5月1日 编程开发
    1.7K0

发表回复

登录后才能评论