JS 核心语言基础语法 之 变量的相关知识

举报
天地玄黄微微雨 发表于 2020/07/30 10:20:30 2020/07/30
【摘要】 【摘要】 变量是啥:变量就是你给某个值起的名字,当你想要用这个值得时候,就叫这个名字。跟人一样,宝宝出生了,你不能总叫它宝宝吧,宝宝上学了,一个班级都是宝宝?没办法称呼区分啊,所以人要有名字啊,老师点名“张三”,叫张三的这个人就站起来了。js变量也是这个意思。变量是啥:变量就是你给某个值起的名字,当你想要用这个值得时候,就叫这个名字。跟人一样,宝宝出生了,你不能总叫它宝宝吧,宝宝上学了,一个...

【摘要】 变量是啥:变量就是你给某个值起的名字,当你想要用这个值得时候,就叫这个名字。跟人一样,宝宝出生了,你不能总叫它宝宝吧,宝宝上学了,一个班级都是宝宝?没办法称呼区分啊,所以人要有名字啊,老师点名“张三”,叫张三的这个人就站起来了。js变量也是这个意思。

变量是啥:变量就是你给某个值起的名字,当你想要用这个值得时候,就叫这个名字。跟人一样,宝宝出生了,你不能总叫它宝宝吧,宝宝上学了,一个班级都是宝宝?没办法称呼区分啊,所以人要有名字啊,老师点名“张三”,叫张三的这个人就站起来了。js变量也是这个意思。

变量声明,要用到关键字var,比如var age = 18;这条语句,var用于声明变量,紧跟着就是变量名字age,等于号后面是变量的值18。导图中说,如果声明变量的时候不用var,那这个变量就会变成全局变量。说到变量,就得提一下作用域的概念。

作用域,就是变量起作用的范围。作用域有全局作用域和函数作用域(又叫局部作用域),对应的变量的就是全局变量和局部变量,全局作用域下的全局变量,在整个js文件都生效,简言之就是都能访问到,函数作用域对应的是局部变量,也就是整个变量只能在函数体内能访问到,外面就访问不到这个变量了,想学js不知道啥时函数的时候,最简单的方法,就是{},在{}里的变量,只在花括号里生效,在外面访问不到,当然,这个变量是使用var声明了的~

途中我们可以看到,变量名等于号后面跟的就是变量的值,这一步骤,我们称之为赋值,如果不赋值呢,只是声明了一个变量名呢,那这个变量等于啥,它等于undefined,就是未定义。

变量命名:这里主要记住命名规范,驼峰式命名,前一节有说到哦~

变量提升,这是一个很重要的概念,要理解这个概念,得先了解js的运行机制。js是怎么运行的呢?它是从上到下,一行一行的先解析,获取到所有声明了的变量,然后再一行一行的运行,大家看下面这个例子(简单的代码,我就不再编辑器里敲了,直接打开Chrome,在控制台里敲~):

上面截图的代码,我们在声明变量a之前,先打印了a,按理说打印a的时候,a不存在啊,应该报错的啊,但是并没有,打印的结果是undefined,为什么呢,就是因为变量提升,js在运行的时候,先看一看,都声明了哪些变量,然后呢把这些变量都放在前面去,js知道我们声明了a,但是没有走到赋值那步,看下面的代码:

看上面的代码,观察我打印了两遍的结果,第一遍,a变量提升了,但是没有赋值呢,值为undefined,第二遍,赋值完成了,a等于111。大家能理解不?

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。