Boolean
Boolean 布尔值
布尔值只有两个,主要用来做逻辑判断
true
- 表示真
false
- 表示假
使用typeof检查一个布尔值时,会返回boolean
Null和Underfined
Null(空值)类型的值只有一个,就是null
null这个值专门用来表示一个为空的对象
使用typeof检查一个null值时,会返回object
Undefined(未定义)类型的值只有一个,就undefind
当声明一个变量,但是并不给变量赋值时,它的值就是undefined
使用typeof检查一个undefined时也会返回undefined
*/
var a = null
console.log(typeof a)
// 专门表示一个为空的
var b;
b = Undefined //(未定义)类型的值只有一个,就undefind
console.log(b)
强制类型转换
/*
强制类型转换
- 指将一个数据类型强制转换为其他的数据类型
- 类型转换主要指,将其他的数据类型,转换为
String Number Boolean
*/
/*
将其他的数据类型转换为String
*/
var a = 123;
a = a.tostring();//把A定义成字符串
转换为Number
将其他的数据类型转换为Number
转换方式一:
使用Number()函数
转换方式二:
- 这种方式专门用来对付字符串
- parseInt() 把一个字符串转换为一个整数
- parseFloat() 把一个字符串转换为一个浮点数
a = 'abc';//只要不是纯数字,就会转成null
a = '123.fwgr156';
// a = parseint(a);//123
a = true;//'true'
a = parseInt(a);//nan
其他进制数字
在js中,如果需要表示16进制的数字,则需要以0x开头
如果需要表示8进制的数字,则需要以0开头
如果要要表示2进制的数字,则需要以0b开头,但是不是所有的浏览器都支持
转换为Boolean
将其他的数据类型转换为Boolean
使用Boolean()函数
- 数字 ---> 布尔
- 除了0和NaN,其余的都是true
- 字符串 ---> 布尔
- 除了空串,其余的都是true
- null和undefined都会转换为false
- 对象也会转换为true
0,null,underfined,字符串,空串是false,其他都是true
运算符
运算符也叫操作符
通过运算符可以对一个或多个值进行运算,并获取运算结果
比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串的形式返回
"number" "string" "boolean" "undefined" "object"
算数运算符
当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算
任何值和NaN做运算都得NaN
+
+可以对两个值进行加法运算,并将结果返回
如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接为一个字符串,并返回
任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作
-
- 可以对两个值进行减法运算,并将结果返回
*
* 可以对两个值进行乘法运算
/
/ 可以对两个值进行除法运算
%
% 取模运算(取余数)
result = a + 1;//124
result = 456 + 789;//1245
result = true + 1;//2 ,默认把true当成1计算
result = true = 0;//1 ,默认把false当成0计算
result = 0 + null;//0 ,null也是0
result = 0 + NaN;// 任何值和NaN做运算都得NaN
result = "123" + "456";//123456,两个字符串相加就会变成一个字符串
result = 123 + "1";//1231 , 任何一个值和字符串相加都会把字符串变成相同属性再相加
result = true = hello;//truehello
var c =123;
// c =string(c);
// console.log(typeof c);
// c = c + ""; //string ,和空串相加就会变成字符串
// c = null;
// console.log(c);
c = 123;
console.log("c = " + c);//c = 123
//sprint("c = %d"% str(c));
result = 1 + 2 +3;//33
result = "1" + 2 +3;//123
result = 100-5;//95
result = 100 -true;//99
result = 100 - "1"//99 只有加法是拼串,其他不是
result = 2 * 2;//4
result = 2* "8";//16
result = 2 * undefined;//NaN 任何值和NaN做运算都得NaN
result = 2 * null;// 0
result = 4 / 2;//2
result = 3 / 2;//1.5
一元运算符
一元运算符,只需要一个操作数
+ 正号
- 正号不会对数字产生任何影响
对其他的数据类型使用+,会将其他的数据类型转换为数字类型!!
- 负号
- 负号可以对数字进行符号的取反
- 对于非Number类型的值,它会将先转换为Number,然后再运算
- 可以对一个其他的数据类型使用+,来将其转换为number,它的原理和Number()函数一样