javascript的变量类型:var、let、const
不同点:可变性,与作用域的关系。
可变性:const定义的变量都不可变,而var和let可以任意更改。
const
只能在声明时被初始化一次,之后不允许将全新的值赋值给const变量。但可以修改const变量已经存在的值。
词法作用域:
var是在距离最近的函数或全局词法环境中定义变量(忽略块级作用域,例如for循环),const和let至今在最近的词法环境中定义变量(可以是块级作用域、循环内、函数内、全局环境内)。
const GLOBAL_NINJA="Yoshi";
function reportActivity(){
const functionActivity="jumping";
for(let i=0;i<3;i++){
let forMessage=GLOBAL_NINJA+""+functionActivity;
console.log(forMessage);
console.log(i);
}
console.log(i); //不能访问
console.log(forMessage); //不能访问
}
reportActivity();
console.log(functionActivity); //不能访问
console.log(i); //不能访问
console.log(forMessage);//不能访问
javascript的变量类型:var、let、const的更多相关文章
- Javascript声明变量类型
声明变量类型 当您声明新变量时,可以使用关键词 "new" 来声明其类型: var carname=new String; var x= new Number; var y= ne ...
- Javascript 判断变量类型的陷阱 与 正确的处理方式
Javascript 由于各种各样的原因,在判断一个变量的数据类型方面一直存在着一些问题,其中最典型的问题恐怕就是 typeof null 会返回 object 了吧.因此在这里简单的总结一下判断数据 ...
- JavaScript变量声明var,let.const
var声明变量的作用域限制在其声明位置的上下文中 var x = 0; // x是全局变量,并且赋值为0. console.log(typeof z); // undefined,因为z还不存在. f ...
- javaScript 变量提升 var let const,以及JS 的解析阶段和执行阶段
我们先来看一道面试题,大家猜想一下,下面这段代码,打印出来的结果是什么 var name = 'World!'; (function () { if (typeof name === 'undefin ...
- 前端-JavaScript1-6——JavaScript之变量类型的转换
6.1 string → number 先来学习一个语句,这个语句和alert差不多,也是弹窗,弹的是输入框: 1 prompt("请输入你的电话","139&qu ...
- 对JavaScript中变量类型的重新理解
<JavaScript启示录>这本书中提出:JavaScript中,对象为“王”(JavaScript里的几乎所有东西都是对象或者用起来像对象). 飞燕草对JavaScript最深刻的理解 ...
- ES6 新增声明变量的 var let const 的区别详解
var 如果使用关键字 var 声明一个变量,那么这个变量就属于当前的函数作用域,如果声明是发生在任何函数外的顶层声明,那么这个变量就属于全局作用域. let 1.let 声明的变量具有块作用域的特征 ...
- js中定义变量之②var let const的区别
var 上一篇文章有讲过,是js定义变量的关键词. 但是在es6中,新添加了两个关键词,用于变量声明的关键词:let 和const 接下来就说一下var let 和const的区别: 首先说var 用 ...
- JavaScript判断变量类型
使用JavaScript变量时是无法判断出一个变量是0 还是“”的 这时可用typeof()来判断变量是string 还是number来区分0和“”, typeof(undefined) == 'un ...
随机推荐
- jdk动态代理和cglib动态代理
参考: http://www.importnew.com/22015.html Java动态代理 上面的代码运行的结果为: I'm proxy! Welcome oschina hosee's blo ...
- 终止执行js的方法
(一)在function里面 (1)return;(2)return false; (二)非function方法里面 alert("before error.");throw Sy ...
- docker run option
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container Options: --add ...
- Linux下怎么创建和进入带有空格的文件夹
有时候需要创建带有空格的文件夹,虽然这不是一个好的习惯,但是偶尔会遇到.用的最多的是很多时候需要进入带有空格的文件夹,如"a b"是一个文件夹名. 创建:mkdir "a ...
- create-react-app之proxy
[create-react-app之proxy] create-react-app可以用于一键创建web_client环境,默认使用webpack-dev-server.但在开发过程中,往往需要cli ...
- 安装FP
一.安装Oracle 11.2 64-bit数据库 1.安装数据库软件并将SEINESCM数据库还原到服务器上, 2.配置监听和TNS信息 二.安装数据库32位客户端(为SSIS配套使用).安装ORA ...
- 破解webstorm
补丁下载链接:http://idea.lanyus.com/ 第一步:将补丁复制到安装目录的bin目录下 第二步:修改同目录下的 WebStorm.exe.vmoptions 和WebStorm64. ...
- love is ... ...
16 years old, love is dream.20 years old, love is sex.30 years old, love is marriage. 40 years old, ...
- 【scrapy】关于xpath helper中能匹配,但是在程序里匹配为none的问题
原本使用xpath helper匹配的时候还是好好的,然鹅,把这个.//*[@id='novelInfo']/table/tbody/tr[3]/td[1]/复制到代码里就不行了,debug的时候显示 ...
- 在timer的时候突然改变影片简介,先前的不暂停
import flash.display.MovieClip; import flash.utils.Timer; import flash.events.TimerEvent; var hinder ...