一、JavaScript 数据类型:
1. 字面量、变量、标识符
2. JavaScript的6种数据类型:
基本数据类型:String 字符串类型 Number数值类型 Boolean 布尔类型
Null 空值类型 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() 把一个字符串转换为一个浮点数
③其他数据类型转换为Boolean类型
使用Boolean()函数
- 数字 -->布尔 除了0和NaN是false,其余的全部都是true
- 字符串-->布尔 除了空串是false,其余的全部都是true
- null 和undefined都会转换为false
- 对象也会转换为true
可以使用运算符typeof检测数据类型
语法:typeof 变量
4.typeof 操作符
在 Javascript 中,可以使用 typeof 操作符来测量变量的数据类型。
例:
在 JavaScript 中,数组是一种特殊的对象类型。 因此 typeof[1,2,3,4] 返回 object。
5. Null 空值类型:
在 JavaScript 中 null 表示 "什么都没有"。
null 是一个只有一个值的特殊类型。表示一个空对象引用。
用 typeof 检测 null 返回是 object。
6. Undefined 未定义类型
在 JavaScript 中, undefined 是一个没有设置值的变量。
typeof 一个没有值的变量会返回 undefined。
例:
null 和 undefined 值相等,数据类型不相等;
7. JavaScript 数据类型转换
● NaN 的数据类型是 number;
● 数组(Array)的数据类型是 object;
● 日期(Date)的数据类型为 object ;
● null 的数据类型是 object ;
● 未定义变量的数据类型为 undefined 。
如果对象是 JavaScript Array 或 JavaScript Date ,我们就无法通过 typeof 来判断他 们的类型,因为都是 返回 object。
8. constructor 属性
constructor 属性返回所有 JavaScript 变量的构造函数。
例:
可以使用 constructor 属性来查看对象是否为数组(包含字符串 "Array")或者是否为日期 (包含字符串 "Date")
9. 转化数据类型的方法
10. Date 方法
11. 使用不同的数值转换为数字(Number), 字符串(String), 布尔值(Boolean):
二.JavaScript运算符:
1.JavaScript运算符:
①算数运算符:
+ 加
可以对两个值进行加法运算,如果是两个字符串则进行字符串拼接
任何值和字符串做加法运算,都会先转为字符串,然后再和字符串做拼接操作
也可以通过"+"完成隐式转换。
- 减
可以对两个值进行减法运算,并返回运算结果
* 乘
可以对两个值进行乘法运算,并返回运算结果
/ 除
可以对两个值进行除法运算,并返回运算结果
% 取模
取模运算(取余数)
++ 自增
-- 自减
Javascript 算术运算符:
②关系运算符:
> 大于
>= 大于等于
< 小于
<=小于等于
== 表示相等的意思
!= 表示不等的意思
=== 全等(数据类型与值都相等)
!== 不全等
运算的结果为布尔值
Javascript 比较运算符
比较运算符在逻辑语句中使用,以测定变量或值是否相等,是则返回 true,否则返回 false;
例:
以 X=5 为例,认识下面的比较运算符:
③逻辑运算符
JS中为我们提供了三种逻辑运算符
! 非
- !可以用来对一个值进行非运算
所谓非运算就是对一个布尔值进行取反操作
false变为true ,true变为false
- 如果对一个值(布尔值)进行2次非运算,它的值不改变
- 如果对非布尔值进行运算,则先将它准换为布尔值,再取反操作
利用这一特点,可以将一个值转换为布尔类型:两次非运算
&& 与
- &&可以对符号两则的值进行与运算并返回结果
运算规则:两个值只要有一个false,则返回false
两个值都是true的情况下,返回true
- JS中的"与",只要第一个为false,则返回false。
|| 或
- ||可以对符号两则的值进行或运算并返回结果
运算规则:两个值只要有一个true,则返回true
两个值都是false的情况下,返回false
- JS中的"或",只要第一个为true,则返回true。不会再去检查第二个值
Javascript 逻辑运算符:
逻辑运算符用于测定变量或值之间的逻辑。
例:
以 X=6,Y=3 为例,认识逻辑运算符:
④赋值运算符
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;
Javascript 赋值运算符 :
赋值运算符用于给 JavaScript 变量赋值。
例:
给定 x=4 和 y=2,下面的表格解释了赋值运算符:
用于字符串的+运算符:
+运算符用于文本值或字符串变量加起来(连接起来)。
如需把两个或多个字符串变量连接起来,请使用 + 运算符。
例:
对字符串和数字进行加法运算:
规则:如果把数字与字符串相加,结果将成为字符串!
⑤条件运算符
条件运算符也叫做三元运算符
- 语法:条件表达式?语句1:语句2;
- 执行的流程:
条件运算符在执行时,首先对表达式进行求值。
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果
条件运算符(三元运算):
JavaScript 还包含了基于某些条件对变量进行赋值的条件运算符。
语法:variablename=(condition)?value1:value2;
说明:condition 运算返回值为 true,则 variablename 赋值为 value1;
condition 运算返回值为 false,则 variablename 赋值为 value2;
2.JavaScript运算符的优先级
JS中的优先级就跟我们数学中的优先级一样,
比如在数学中:先乘除 再加减 有括号先算括号里面的
算术操作符 → (关系运算符)比较操作符 → 逻辑操作符 → "="赋值符号 (+,-,*,/,++,--,%) (<,>,==,===,<=,>=,!=) (&&,||,!) (=,+=,-=,..)