知识点罗列:
①字面量:一些不可以改变的值
例如:1 3 5 6
字面量都是可以直接使用。
变量:变量可以用来保存字面量,而且变量的值是可以任意改变的。
变量更加方便我们使用,所以在发开中都是通过变量去保存字面量
变量的声明:通过var 关键字声明
标识符:由我们自主命名的。
例如:变量名 函数名 属性名
命名一个标识符是需要遵守如下规则:
1.标识符中可以含有字母、数字、_(下划线)、$
2.标识符不能以数字开头
3.标识符不能使用ES中的关键字与保留字
4.标识符一般都采用驼峰写法
-首字母小写,每个单词的开头字母大写,其余部分小写
例如:小驼峰 helloWorld 大驼峰HelloWorld
2. JavaScript的6种数据类型:
基本数据类型:String 字符串类型 Number数值类型 Boolean 布尔类型
Null 空值类型 Undefined 未定义类型
String 字符串类型
- 在JS中字符串需要使用引号引起来
- 使用单引号或双引号都可以,但是最好不要混用
- 注意引号的嵌套问题
字符串我们可以使用\作为转义字符 例如:
- \" 表示"
- \' 表示'
- \n 表示换行
- \t 制表符
Number 数值类型
- 在JS中所有的数值都是Number类型,包括了整数、浮点数(小数)
- 拓展部分:如果使用Number表示的数字超过了最大值,则会返回一个
Infinity 表示正无穷大
-Infinity 表示负无穷大
使用typeof检查Infinity也会返回Number
- 语法:typeof 变量
Number.MAX_VALUE 表示数值的最大值 1.7976931348623157e+308
Boolean 布尔类型
布尔值只有2个,主要用来做逻辑判断
- true 表示真
- false 表示假
Null 空值类型
-null这个值专门用来表示一个空对象
-使用typeof检查一个null值时,返回一个object
Undefined 未定义类型
Undefined(未定义)的值只有一个,undefined
- 声明一个变量但是未给变量赋值时,它的值就是undefined
引用数据类型:Object 对象类型
3.JavaScript数据的强制类型转换
主要是将其他数据类型转换为String Number Boolean。
①将其他的数据类型转换为String类型
方法一:
- 调用被转换数据类型的toString()方法
- 该方法不会影响原变量,它会将转换的结果返回
- 注意:null和undefined这两个值没有toString()方法,如果调用该方法程序会报错
方法二:
- 调用String()函数,并将被转换的数据作为参数传递给函数
- 使用String()函数做强制类型转换时,对于Number Boolean实际上
是调用的toString()方法。但是对于null和undefined,
就不会调用toString()方法。
它会将null直接准换为"null"(字符串)
它会将undefined直接准换为"undefined"(字符串)
②将其他数据类型转换为Number类型
使用Number()函数
- 字符串-->数字
1.如果是纯数字的字符串,则可以直接转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是一个空串或者是一个全是空格的字符串,则转换为0
- 布尔值-->数字 true准换为1 false转换为0
- null-->数字 0
- undefined-->数字 NaN
第二种方式:
- 这种方式专门用来对付字符串类型
- parseInt() 把一个字符串转换为一个整数
- parseFloat() 把一个字符串转换为一个浮点数
parseFloat()与parseInt()类似,但是不同的是它可以获取有效的小数*/
③其他数据类型转换为Boolean类型
使用Boolean()函数
- 数字 -->布尔 除了0和NaN是false,其余的全部都是true
- 字符串-->布尔 除了空串是false,其余的全部都是true
- null 和undefined都会转换为false
- 对象也会转换为true
可以使用运算符typeof检测数据类型
语法:typeof 变量
1.JavaScript运算符:
①算数运算符:
+ 加
可以对两个值进行加法运算,如果是两个字符串则进行字符串拼接
任何值和字符串做加法运算,都会先转为字符串,然后再和字符串做拼接操作
也可以通过"+"完成隐式转换。
- 减
可以对两个值进行减法运算,并返回运算结果
* 乘
可以对两个值进行乘法运算,并返回运算结果
/ 除
可以对两个值进行除法运算,并返回运算结果
% 取模
取模运算(取余数)
++ 自增 常用for(var i=0;i<变量.length;i++){}
-- 自减
②关系运算符:
> 大于
>= 大于等于
< 小于
<=小于等于
== 表示相等的意思(相当于赋值)
!= 表示不等的意思
=== 全等(数据类型与值都相等)
!== 不全等
运算的结果为布尔值
③逻辑运算符
JS中为我们提供了三种逻辑运算符
! 非
- !可以用来对一个值进行非运算
所谓非运算就是对一个布尔值进行取反操作
false变为true ,true变为false
- 如果对一个值(布尔值)进行2次非运算,它的值不改变
- 如果对非布尔值进行运算,则先将它准换为布尔值,再取反操作
利用这一特点,可以将一个值转换为布尔类型:两次非运算
&& 与
- &&可以对符号两则的值进行与运算并返回结果
运算规则:两个值只要有一个false,则返回false
两个值都是true的情况下,返回true
- JS中的"与",只要第一个为false,则返回false。
|| 或
- ||可以对符号两则的值进行或运算并返回结果
运算规则:两个值只要有一个true,则返回true
两个值都是false的情况下,返回false
- JS中的"或",只要第一个为true,则返回true。不会再去检查第二个值
④赋值运算符
JavaScript赋值运算
= 赋值符
可以将符号右侧的值赋值给左侧的变量
+=
num+=2 =>等价于 num=num+2;
-=
num-=2 =>等价于 num=num-2;
*=
num*=2 =>等价于 num=num*2;
/=
num/=2 =>等价于 num=num/2;
%=
num%=2 =>等价于 num=num%2;
⑤条件运算符
条件运算符也叫做三元运算符
- 语法:条件表达式?语句1:语句2;
- 执行的流程:
条件运算符在执行时,首先对表达式进行求值。
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果
类似 if(变量==true){ return;}
if(变量){return false;}
2.JavaScript运算符的优先级
JS中的优先级就跟我们数学中的优先级一样,
比如在数学中:先乘除 后加减 有括号先算括号里面的
算术操作符 → (关系运算符)比较操作符 → 逻辑操作符 → "="赋值符号 (+,-,*,/,++,--,%) (<,>,==,===,<=,>=,!=) (&&,||,!) (=,+=,-=,..)