node .js 变量
---恢复内容开始---
变量:所谓变量就是里面储存数据是可以改变的。
变量声明的关键词:var let const(在很多地方为常量,但其实是变量,不可重复改变的变量)。
var i ;//变量名 let j ;
如果声明变量没有赋值,则该变量默认值为undefined(未定义)。
let i ; console.log(i);//undefined
b变量的第一赋值为变量的初始化;
let i ; i= 5; console.log(i);//输出值为5
变量的声明和初始化是可以同时进行的.
let i =5; console.log(i);//5
重复声明:如果是var来声明变量,是可以重复声明的,ES里面不会报错。
如果重复声明变量的时候,只是声明而没有赋值,那么解释器会忽略这一条声明
let i =5; let i =10; console.log(i);//输出为10, let j 6; let j ;//这一步由于没有赋值,所以会被忽略的 console.log(j);
遗漏声明: 所谓遗漏声明,就是指没有对变量进行声明,但是就直接拿来用。严格模式下不支持遗漏声明,并且也不要这样书写。
i=5 ; console.log(i);
由于JS是一门解释性语言,所以在JS里面,所有的变量都可以用var let const来进行声明。
虽然可以将任意数据类型存储至同一个变量,但是不推荐这么做。因为这样会影响解析的效率。
变量提升(重要)
之所以现在不推荐使用var来声明变量,就是因为var申明的变量会有一个变量提升。
所谓变量提升:就是指将变量的声明提升至当前作用域的顶部
console.log(i);//undefined var i =; //等价于 // var i; //console.log(i); //i =5;
使用let或者const声明的变量就不存在变量提升,如下:
console.log(i); let i = 5;//报错
Var声明的变量不存在块级作用域
块级作用域就是一对大括号里面会产生一个单独的作用域
{ var i=5 ; console.log(i); //5 } console.log(i); //5
Let和const就拥有块级作用域
{ let i =5; console.log(i); //5 } console.log(i); //报错
const i =5 ; console.log(i); //5 i =10 ; //报错 console.log(i);
JS里面的数据类型(非常重要)
JS里面的数据类型可以分为两大类:基本数据类型 和 引用数据类型
基本数据类型就是指最简单的数据段,不可拆分的
引用数据类型是指有多个基本数据类型组成的数据,是可以被拆分的。
常见的基本数据类型:Number,String,Boolean,Null,Undefiend,Symbol
常见的引用数据类型:Array Object
基本数据类型和引用数据类型的区别:
基本数据类型中,如果使用或者复制一个变量,那么是复制的值,而在引用数据类型中,如果使用或者复制一个变量,是复制的引用
简单数据类型示例:
let i =5; let j =i; onsole.log(i); //5 console.log(j); //5 j =100; consloe.log(i); //5 console.log(j); //100
---恢复内容结束---
变量:所谓变量就是里面储存数据是可以改变的。
变量声明的关键词:var let const(在很多地方为常量,但其实是变量,不可重复改变的变量)。
var i ;//变量名 let j ;
如果声明变量没有赋值,则该变量默认值为undefined(未定义)。
let i ; console.log(i);//undefined
b变量的第一赋值为变量的初始化;
let i ; i= 5; console.log(i);//输出值为5
变量的声明和初始化是可以同时进行的.
let i =5; console.log(i);//5
重复声明:如果是var来声明变量,是可以重复声明的,ES里面不会报错。
如果重复声明变量的时候,只是声明而没有赋值,那么解释器会忽略这一条声明
let i =5; let i =10; console.log(i);//输出为10, let j 6; let j ;//这一步由于没有赋值,所以会被忽略的 console.log(j);
遗漏声明: 所谓遗漏声明,就是指没有对变量进行声明,但是就直接拿来用。严格模式下不支持遗漏声明,并且也不要这样书写。
i=5 ; console.log(i);
由于JS是一门解释性语言,所以在JS里面,所有的变量都可以用var let const来进行声明。
虽然可以将任意数据类型存储至同一个变量,但是不推荐这么做。因为这样会影响解析的效率。
变量提升(重要)
之所以现在不推荐使用var来声明变量,就是因为var申明的变量会有一个变量提升。
所谓变量提升:就是指将变量的声明提升至当前作用域的顶部
console.log(i);//undefined var i =; //等价于 // var i; //console.log(i); //i =5;
使用let或者const声明的变量就不存在变量提升,如下:
console.log(i); let i = 5;//报错
Var声明的变量不存在块级作用域
块级作用域就是一对大括号里面会产生一个单独的作用域
{ var i=5 ; console.log(i); //5 } console.log(i); //5
Let和const就拥有块级作用域
{ let i =5; console.log(i); //5 } console.log(i); //报错
const i =5 ; console.log(i); //5 i =10 ; //报错 console.log(i);
JS里面的数据类型(非常重要)
JS里面的数据类型可以分为两大类:基本数据类型 和 引用数据类型
基本数据类型就是指最简单的数据段,不可拆分的
引用数据类型是指有多个基本数据类型组成的数据,是可以被拆分的。
常见的基本数据类型:Number,String,Boolean,Null,Undefiend,Symbol
常见的引用数据类型:Array Object
基本数据类型和引用数据类型的区别:
基本数据类型中,如果使用或者复制一个变量,那么是复制的值,而在引用数据类型中,如果使用或者复制一个变量,是复制的引用
简单数据类型示例:
let i =5; let j =i; onsole.log(i); //5 console.log(j); //5 j =100; consloe.log(i); //5 console.log(j); //100
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构