从头撸JavaScript--变量与表达式

1 变量的命名

      变量名字必须要以英文字母,下划线,$开头

     变量名可以包括英文字母,下划线,$,数字

     不可以用系统的关键字(现在使用的系统的有特殊含义的词)用做变量名

     大小写敏感

2 JS中变量声明分显式声明和隐式声明。

  var name = 'muzidigbig';//显示声明

  name = 'muzidigbig';//隐式声明(为全局变量的一个属性)

比较var name = 'muzidigbig' 跟 name = 'muzidigbig',前者是变量声明,带不可删除属性,因此无法被删除;

后者为全局变量的一个属性,因此可以从全局变量中删除。

 

Es6 引入 let 和 const 变量声明,不存在变量提升。

用var声明的变量才具有变量声明提升。

 

3 变量作用域

  3.1局部变量:在函数中通过var声明的变量。即函数作用域。

  全局变量:在函数外通过var声明的变量。

  没有声明就使用的变量,默认为全局变量,不论这个变量在哪被使用。

  3.2 var 可以先使用再定义。如下 
     

x = 5; // 变量 x 设置为 5
elem = document.getElementById("demo"); // 查找元素 
elem.innerHTML = x;                     // 在元素中显示 x
var x; // 声明 x

  3.3 let和const

  let 声明的变量只在 let 命令所在的代码块内有效。

  const 声明一个只读的常量,一旦声明,常量的值就不能改变。

       使用 var 关键字声明的变量在任何地方都可以修改
 

var x = 2; // 合法
var x = 3; // 合法
x = 4; // 合法


     在相同的作用域或块级作用域中,不能使用 const 关键字来重置 var 和 let关键字声明的变量:

var x = 2;         // 合法
const x = 2;       // 不合法
{
    let x = 2;     // 合法
    const x = 2;   // 不合法
}


     在相同的作用域或块级作用域中,不能使用 const 关键字来重置 const 关键字声明的变量:

const x = 2;       // 合法
const x = 3;       // 不合法
x = 3;             // 不合法
var x = 3;         // 不合法
let x = 3;         // 不合法

{
   const x = 2;   // 合法
   const x = 3;   // 不合法
   x = 3;         // 不合法
   var x = 3;     // 不合法
   let x = 3;     // 不合法
}


     const 关键字在不同作用域,或不同块级作用域中是可以重新声明赋值的:
 

const x = 2;       // 合法

{
    const x = 3;   // 合法
}

{
    const x = 4;   // 合法
}

3.4 作用域链

     之后重点解析

     初步了解:网址https://www.jb51.net/article/63318.htm

 

4 拓展

变量存储的相关问题

https://blog.csdn.net/hhthwx/article/details/78146169

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值