js 变量

1.变量,不使用var声明的变量在函数内外都是通用的

var是js的一个关键字,它是用来声明变量的。

声明一个变量有两种方式:

  1. 第一种:var num=1。如果在方法中声明,则为局部变量;如果在全局中声明,则为全局变量
  2. 第二种: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可以

 

posted @ 2023-03-30 10:07  声声慢43  阅读(5)  评论(0编辑  收藏  举报