一、变量
-
当程序中,需要重复操作某些相同数据的时候,为了方便,可以将数据起个别名,通过这个别名,找到数据,使用,这个别名,就叫变量
-
语法
- 通过var的关键字,声明
- var a;
- 通过赋值的方式,将数据,存到变量中:一个等号赋值
- var a = “hello”;
- 将等号右侧的数据,存在左侧的变量中(将等号右侧的数据,起了一个别名叫等号左边的单词)
- 通过var的关键字,声明
-
关键字
- 被ECMAScript定义了功能的单词
-
保留字
- 暂时还没有被ECMAScript定义了功能,但是将来有可能被定义功能的单词
-
变量名的规则
- 必须以
字母,_,$
开头 - 不允许出现
字母,_,$,数字
之外的内容 - 不建议使用中文,有兼容,不仅浏览器有兼容,操作系统也会有兼容,在公司中,容易挨揍
- 尽量语义化
- 词必达意
- 建议使用当前数据类型的首字母作为前缀
- 尽量使用驼峰式
- 小:从第二个单词的首字母开始大写,常用
- 大:从第一个单词的首字母开始大写,面向对象中,专用
- 不允许使用关键字或保留字
- 诀窍:如果担心是关键字或保留字,可以在单词前加前缀
- 必须以
-
注意
- 变量名,千万别加,引号!!!!!!
二、赋值
- =号赋值
- 值
- 所有数据,或其他变量
```js
var a = 10;
var b = a;
console.log(a);
console.log(b);
```
- 完整的语法格式
- `var 变量名 = 被存到变量中的数据或其他变量`
- 注意
- 变量名千万别加引号
- 声明变量时,最好不要省略var
- 声明变量时,也可以不立即赋值
- 声明变量时,可以批量声明 ( 不推荐新手使用 )
var a,b,c; var a=10,b=20,c=30; var a,b=10,c; var a=b=c=10;
三、如何打印计算机的信息
- 打印到浏览器的弹出框
- 缺点:手动点掉,否则程序无法继续执行
- alert()
- 打印到html页面
- 缺点:影响页面的正常结构
document.write("<h1>hello</h1>")
document.write("<h1>hello</h1>")
- 打印到浏览器的控制台 √√√
- console.log()
四、数据类型的转换
- 为什么要转换?
- 如果,用户给了一个数据,或者计算机给了一个数据,或者其他程序给了一个数据,不是咱们想要的数据类型
- 需要转成当前程序所需的数据类型,再进行运算
- 转换方法有哪些
- 数据类型的转换方法
-
强制转换(显示转换,主动转换)
-
字符转数值
parseInt(要转换的数据或变量)
- 从左向右依次检测,遇到第一个非数字的字符,停止转换
- 忽略小数点后所有的内容,其实是将小数点识别成了非数字
- 如果第一位就是非数字,直接NaN
- NaN是什么?not a number
- 不是一个数字的数值型数据
- 非法的数值运算的结果
- 非法:不合法,不合规,本来不能转,非要转
parseFloat(要转换的数据或变量)
- 从左向右依次检测,遇到第一个非数字的字符,停止转换
- 可以识别小数点
- 如果第一位就是非数字,直接NaN
- NaN是什么?not a number
- 不是一个数字的数值型数据
- 非法的数值运算的结果
- 非法:不合法,不合规,本来不能转,非要转
Math.round(要转换的数据或变量)
- Math.round不是专门做字符转数值的
- 专门做取整的,取最近的整数,顺带着给可以实现转换
- 严格转换:只要出现非数字,那么就是NaN
Number(要转换的数据或变量)
- Number不是专门做字符转数值的
- 系统内置的构造函数,用来创建数值对象,后话…顺带着给可以实现转换,直接转换
- 严格转换:只要出现非数字,那么就是NaN
- 如何选择?
- 按需选择
- 当需要转换时,观察当前程序的运行情况,以及要转换数据的实际情况,对应实际规则,选择方法
- 不管选哪个,只要注意规则,都能灵活使用
- 按需选择
-
数值转字符
数值变量.toString()
- 直接转换,相当于加个引号
数值变量.toFixed(n)
- 保留n为小数
-
其他类型转换 - 后话
- 其他转布尔
- 布尔转数值
- 其他转字符
-
-
隐式转换(被动转换,什么都没做,自动就转了)
- 情况(场景)和规则
- 算数运算
+
号两边只要出现字符,结果必然为字符-
,*
,/
,%
的结果必然是数值
- 关系运算
>
,<
,>=
,<=
,!=
,==
两边只要出现数值,那么另一边也会转成数值,进行比较
-
五、数据的运算符
-
算数运算符
+
加号,加法- 当加号两边都是数值型数据时,是数学的加法运算
- 任意一边是字符,那么就变成了拼接,拼接就是将两个数据,直接组合起来
-
,*
,/
,%
- 就是正常的数学运算
- 就算两边不是数值,也会默认转成数值,进行运算
- 如果某个数据不能转成数值,会得到
NaN
-
关系运算符 - 的结果是布尔值
>
,<
,>=
,<=
- 只要有一边出现数值,都是数值的比较规则
- 如果都是字符,才是字符的比较规则:逐位比较,得到结果,就停止
!=
,==
- 会发生隐式类型转换,或者只比较大小,不比较类型
!==
,===
- 不会发生隐式类型转换,不仅比较大小,还比较类型
-
逻辑运算符 - 主要操作布尔值
- 或
- ||:两边只要出现true,结果就是true,必须都为false,结果才是false
- 且
- &&:两边只要出现false,结果就是false,必须都为true,结果才是true
- 非
- !:取反
- 或
-
赋值运算符
=
- 将等号右侧的数据,存在左侧的变量中
- 把右边的内容,放在左边的变量中
- 如果左侧的变量,原本有值,那么会覆盖
+=
,-=
,*=
,/=
,%=
- 先计算,再赋值(覆盖)
- 请参考:
+ - * / %
-
一元运算符
- 自增
++
- 增加1
- 前后之分
- 前自增
++n
:先计算,后使用 - 后自增
n++
:先使用,后计算
- 前自增
- 自减
--
- 减少1
- 前后之分
- 前自减
--n
:先计算,后使用 - 后自减
n--
:先使用,后计算
- 前自减
- 自增