js声明变量三种方式
变量声明的三种方式:
let
const
var
var
声明与 let
相似。大部分情况下,我们可以用 let
代替 var
或者 var
代替 let
,都能达到预期的效果。
let和var的区别:
1、“var” 没有块级作用域
用
var
声明的变量,不是函数作用域就是全局作用域。它们在代码块外也是可见的(译注:也就是说,var
声明的变量只有函数作用域和全局作用域,没有块级作用域)。
if (true) {var test = true; // 使用 "var" 而不是 "let"
}alert(test); // true,变量在 if 结束后仍存在
由于 var
会忽略代码块,因此我们有了一个全局变量 test
。
如果我们在第二行使用 let test
而不是 var test
,那么该变量将仅在 if
内部可见:
if (true) {let test = true; // 使用 "let"
}alert(test); // Error: test is not defined
对于循环也是这样的,var
声明的变量没有块级作用域也没有循环局部作用域:
for (var i = 0; i < 10; i++) {var one = 1;// ...
}alert(i); // 10,"i" 在循环结束后仍可见,它是一个全局变量
alert(one); // 1,"one" 在循环结束后仍可见,它是一个全局变量
如果一个代码块位于函数内部,那么 var
声明的变量的作用域将为函数作用域:
function sayHi() {if (true) {var phrase = "Hello";}alert(phrase); // 能正常工作
}sayHi();
alert(phrase); // Error: phrase is not defined
可以看到,var
穿透了 if
,for
和其它代码块。这是因为在早期的 JavaScript 中,块没有词法环境,而 var
就是这个时期的代表之一。
“var” 允许重新声明
如果我们用
let
在同一作用域下将同一个变量声明两次,则会出现错误:
let user;
let user; // SyntaxError: 'user' has already been declared
使用 var
,我们可以重复声明一个变量,不管多少次都行。如果我们对一个已经声明的变量使用 var
,这条新的声明语句会被忽略。
总结:
以前使用的var和val一个是可变和不可变的变量;现在都是用let和const声明变量,现在的标准基本都是let和const了。
js声明变量三种方式相关推荐
- JavaScript——关于JavaScript、在HTML中嵌入JS代码的三种方式、变量
文章目录 JavaScript 01 关于JavaScript 1.1 JS的发展历史 1.2 JS的特性 1.3 JS的组成 1.4 JSP和JS的区别 02 在HTML中嵌入JS代码的三种方式 2 ...
- 在HTML 中嵌入 JS 代码的三种方式
一,在HTML中嵌入JS代码的第一种方式:行间事件 行间事件是指将JavaScript函数写到HTML元素中的执行事件. 1.JavaScript 是一种事件驱动型的编程语言,通常都是在发生某个事件的 ...
- js 函数定义三种方式
<p>Js 函数定义的三种方式:</p> <br> <p>方式一:function</p> <script type="te ...
- JS绑定事件三种方式
三种方式 1.在DOM中直接绑定 2.在JS代码中直接绑定 3.使用事件监听函数绑定事件 一.在DOM中直接绑定 也就是直接在html标签中通过 onXXX="" 来绑定.举个例子 ...
- HTML嵌入JS代码的三种方式
目录 一.HTML嵌入JS代码的第一种方式:直接加一个事件句柄跟表达式 二.HTML嵌入JS代码的第二种方式:脚本块 三.HTML嵌入JS代码的第三种方式:外部引入js文件 一.HTML嵌入JS代码的 ...
- 前端js文件合并三种方式
最近在思考前端js文件该如何合并,当然不包括不能合并文件,而是我们能合并的文件,想了想应该也只有三种方式. 三个方式如下: 1. 一个大文件,所有js合并成一个大文件,所有页面都引用它. 2. 各个页 ...
- 点击返回页面顶部(h5、js、jQuery 三种方式)
当页面过长时,通常会在滚动条到一定位置时设置按钮,点击可以快速返回顶部或者指定的位置处. 参考文档:jQuery中页面返回顶部的方法总结 方法一:锚点定位 当点击a标签,会直接返回到顶部:如果p标签有 ...
- Web前端 | HTML嵌入JS代码的三种方式
✅作者简介:一位材料转码农的选手,希望一起努力,一起进步!
- js输出的三种方式:页面输出、对话框输出、控制台输出
1.页面输出 document.write("图片上传失败") 2.对话框输出 window.alert("图片上传失败") 必须点击确定才能进行后续操作,打断 ...
最新文章
- Linux访问Windows磁盘实现共享
- 利用jsonp实现跨域登陆
- 命令注入_命令注入绕过方式总结
- OSI模型和TCP/IP协议族
- 运用Appium 实现添加微信好友自动化
- js 即时上传php_php+js实现异步图片上传实例分享
- 《深入理解java虚拟机》第1章 走近Java
- mac新手入门:在Mac上怎么使用夜览
- python的pandas库中read_table的参数
- 路由器k2固件改系统时间
- 腾讯云函数使用方法及注意事项
- 计算机系学生的梦想,编写我们的梦想——北大计算机系学生生活掠影-北京大学网络与信息.ppt...
- 小学生数量成为楼市风向标?
- 基于人脸识别的课堂签到管理系统【学习三】
- Android原生拼音输入法分析
- 产品能力提升|互联网产品·视觉设计
- 哈希算法原理与应用:确保数据完整性和安全性的关键技术
- arm学习笔记005之Linux平台下TFTP服务器构建
- 《DSP using MATLAB》Problem 8.22
- asp心得感受_半年多来自学ASP的几点体会……
热门文章
- Javascript 之《函数传参到底是值传递还是引用传递》
- 在工作中常用的sql语句
- html表格列平分行,CSS布局问题 , 如何实现一行多列div,类似于表格
- python 接口自动化测试_Python-基于数据驱动的接口自动化测试
- fcm模糊聚类matlab实例_模糊控制
- mybatis mapper配置 bigint_Mybatis-Plus入门
- 怎么用python算单价和总价_用python计算最高投标限价
- java正方形个圆形面积_java计算图形面积(圆形,正方形, 长方形).pptx
- 年味十足的喜庆红色新年春节海报PSD模板
- 高品质美食PSD分层海报,吸睛有食欲