您现在的位置是:首页 > Javascript
当前栏目
js let var const你会用吗?
2023-02-25 18:16:17 时间
变量声明基础
在我们学习变量声明的三个关键字前,我们想了解一些基础知识。
开辟内存地址
如下我们声明了一个名为test的变量,其变量内容是 '第一个'。其实质是以二进制,如"010101"开辟了一个内存地址。当我们想使用这个变量的内容的时候,通过调用变量名test来实现。
var test = '第一个'
console.log(test) // '第一个'
思考?变量名可以是$
符号吗?
当然可以,JQuery就是用的$
符号,我们回顾一下变量的命名:可以是数字、字母、下划线和$
符号。但不能以数字开头。
var $ = 123;
console.log($) //123
赋值
先声明,后赋值
var stage;
stage = '12'
同时声明多个
var a = 'aa',b='bb',c='cc';
console.table(a,b,c)
一个值赋值给多个变量
var d = e = f ='same'
console.log(d,e,f)
js不是强类型
不像Java一样,只需要用关键字 var/let/const 声明变量。
var web = 'hdfs';
console.log(typeof web);
var num = 12;
console.log(typeof num);
var ob = {'name':'yy'}
console.log(typeof ob)
变量提升
保留字
class作为js的保留字,是不可以作为变量名使用的,并且会报错。
如下,我们在声明class变量之前,声明一个变量web,并且打印出来。
var web = 'http';
console.log(web)
var class = 'dass';
但是它并不会打印,因为class的报错。
这是因为,代码编译之前解析器会将代码从上到下分析一遍,在分析的过程就进行了变量提升
未声明前就使用变量
问题来了,在我们没声明变量前,就使用了这个变量。会报错吗?
答案是,不会,可以正常的使用。同样是因为变量提升。
console.log(first)
var first = 'first';
定义一个变量有声明和赋值两步骤
此时执行,它相当于把 var first = 'first'; 拆分成var first;
和 first = 'first'。
并且把 var first;放到了console.log()之前。
var first;
console.log(first)
first = 'first';
未执行代码变量提升
如下代码中,因为执行 var web = 'this is a';
的条件是 false,所以一直都不会进入这个判断中。
function change(){
if(false){
var web = 'this is a';
}
console.log(web)
}
change()
会打印出undefined
那么,当我们把 var web = 'this is a';
注释之后。就会发现如下报错。
相关文章
- JDK中内嵌JS引擎介绍及使用
- 49195,npm最后的疯狂?盘点10款最有前途JavaScript构建工具
- 译文:5个增强Node.js应用程序增强功能
- 4个例子,吃透 JavaScript 实现的二叉搜索树 BST
- Vue中使用XML和JSON格式互转插件
- JDK中Jshell简单使用(JDK9版本以上或者JDK9版本)
- shiro中的JSP标签支持
- Java技术点-json转对象,对象转json
- SpringBoot+SpringDataJpa @Query之 JPQL使用书写模板(模糊查询and条件查询)
- Spring Boot中的Freemarker模版引擎引用css和js的正确姿势
- Node.js解压版的环境配置及相关常用命令
- JSP学习笔记(6)—— 自定义MVC框架
- JSP学习笔记(5)——Servlet、监听器、过滤器、MVC模式介绍
- Jsp学习笔记(4)——分页查询
- APIJSON简单使用
- JSP学习笔记(3)——JSTL 标签库
- JSP学习笔记(1)——Jsp指令、动作元素和内置对象
- JavaScript ES6 Promise对象
- Web前端——JavaScript扩展补充
- Web前端——表单提交和Js添加选项