js 变量
1.变量,不使用var声明的变量在函数内外都是通用的
var是js的一个关键字,它是用来声明变量的。
声明一个变量有两种方式:
- 第一种:var num=1。如果在方法中声明,则为局部变量;如果在全局中声明,则为全局变量
- 第二种:num=1。事实上这是对属性进行赋值操作。首先,它会尝试在当前作用域链(如果在方法中声明,则当前作用域代表全局作用域和方法局部作用域)中解析num,如果在任何当前作用域链中找到num,则会对num属性进行赋值,如果没有找到num,他会在全局对象(即当前作用域链的最顶层对象,如window对象)中创造num属性并赋值
注意!第二种并不是声明了一个全局变量,而是创建了一个全局对象的属性
由于变量声明自带不可删除属性,比较var num=1跟num=1,前者是变量声明,带不可删除属性,因此无法被删除;后者为全局变量的一个属性,因此可以从全局变量中删除。
var a=10 function demo(){ console.log('demo1---'+a); var a=5 console.log('demo2---'+a); } demo() console.log(a)
|
|
var a=10 function demo(){ console.log('demo1---'+a); a=5 console.log('demo2---'+a); } demo() console.log(a)
|

var定义与let定义的区别
1.作用域不同,var是全局作用域,而let是块作用域。
2.var可以先使用在定义,而let只能先定义后使用。
3.let不能被重新定义,但是var可以
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律