🚀从零开始学习JS基础3️⃣🚀

简介: 变量简单来说就是一个装东西的盒子,专业来说变量是用于存放数据的容器。 我们通过 变量名 获取数据,甚至数据可以修改。 变量是程序在内存中申请的一块用来存放数据的空间。类似我们酒店的房间,一个房间就可以看做是一个变量。

1.JPG


四、变量


   变量简单来说就是一个装东西的盒子,专业来说变量是用于存放数据的容器。 我们通过 变量名 获取数据,甚至数据可以修改。


2.JPG


4.1、变量在内存中的存储


   变量是程序在内存中申请的一块用来存放数据的空间。类似我们酒店的房间,一个房间就可以看做是一个变量。

3.JPG


4.2、声明变量


var name; //  声明一个 名称为age 的变量   
复制代码

 

let是一个 JavaScript关键字,用来声明变量( 以前是var )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管,name是程序员定义的变量名,我们要通过变量名来访问内存中分配的空间。


4.3、赋值


name = XiaoLin; // 给name这个变量赋值为XiaoLin     
复制代码

 

= 用来把右边的值赋给左边的变量空间中,此处代表赋值的意思。变量值是程序员保存到变量空间里的值


4.4、变量的初始化


var age  = 18;  // 声明变量同时赋值为声明一个变量并赋值,我们称之为变量的初始化。
复制代码


4.5、变量语法扩展


更新变量

   一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。


var age = 18;
age = 81;   // 最后的结果就是81因为18 被覆盖掉了 
复制代码


同时声明多个变量

同时var多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。

var age = 10,  name = 'XiaoLin';
复制代码


声明变量特殊情况

情况 说明 结果
var age ; console.log (age); 只声明 不赋值 undefined
console.log(age) 不声明 不赋值 直接使用 报错
age = 10; console.log (age); 不声明 只赋值 10


4.6、变量命名规范


   变量的命名遵循以下规则:

  • 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:usrAge, num01, _name
  • 严格区分大小写。例如var app; 和 var App; 是两个变量
  • 不能 以数字开头。例如18age 是错误的
  • 不能 是关键字、保留字。例如:var、for、while
  • 变量名必须有意义。
  • 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。例如:myFirstName。


4.JPG


4.7、let和var的区别


   在ES6以后,JavaScript新增了一个let语法,作用和var基本类似。我们主要来探讨一下他们俩的区别。


4.7.1、作用域不同


   先说结论:var是函数作用域,let是块作用域


   在函数中声明了var,整个函数内都是有效的,比如说在for循环内定义的一个var变量,实际上其在for循环以外也是可以访问的,而let由于是块作用域,所以如果在块作用域内定义的变量,比如说在for循环内,在其外面是不可被访问的,所以for循环推荐用let。


<script>
    for(var i=0;i<2;i++){
        console.log(i)
    }
    console.log(i+"=======>")
    for(let j=0;j<2;j++){
        console.log(j)
    }
    console.log(j+"=======>")
</script>
复制代码



4.7.2、能否在定义之前访问该变量


   先说结论:let不能在定义之前访问该变量,但是var可以


   let必须先声明,在使用。而var先使用后声明也行,只不过直接使用但没有定义的时候,其值是undefined。var有一个变量提升的过程,当整个函数作用域被创建的时候,实际上var定义的变量都会被创建,并且如果此时没有初始化的话,则默认为初始化一个undefined。


console.log('var_name='+var_name)
    var var_name = XiaoLin
    console.log('let_name='+let_name)
    let let_name = XiaoLin
复制代码

6.JPG


4.7.3、能否被重新定义


   先说结论:let不能被重新定义,但是var是可以的


var var_name = "123"
   var var_name = "XiaoLin"
   console.log(var_name)
    let let_name = "456"
    let let_name = "XiaoLin"
   console.log(let_name)
复制代码

7.JPG

相关文章
|
3月前
|
Web App开发 JavaScript 前端开发
如何学习JavaScript?
如何学习JavaScript?
74 5
|
3月前
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
45 2
|
3月前
|
存储 JavaScript 前端开发
JavaScript学习第一章
本文档介绍了JavaScript的基础知识,包括其在网页中的作用、如何通过JavaScript动态设置HTML元素的CSS属性,以及JavaScript中的变量类型(`var`、`let`、`const`)和数据类型(基本数据类型与引用数据类型)。通过实例代码详细解释了JavaScript的核心概念,适合初学者入门学习。
68 1
|
4月前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
77 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
4月前
|
JavaScript
js学习--商品列表商品详情
js学习--商品列表商品详情
52 2
|
4月前
|
JavaScript
js学习--九宫格抽奖
js学习--九宫格抽奖
32 2
|
4月前
|
JavaScript
js学习--开屏弹窗
js学习--开屏弹窗
58 1
|
4月前
|
JavaScript
js学习--抽奖
js学习--抽奖
33 1
|
4月前
|
JavaScript
js学习--隔行换色
js学习--隔行换色
40 1
|
4月前
|
JavaScript 前端开发 容器
js之dom学习
js之dom学习
89 0

热门文章

最新文章