二进制由0和1两个数字组成
八进制:由0-7数字组成
十进制:0-9数字组成,不能以开头
十六进制是由0-9和A-F组成,为了与其他进制的数字区分,通常开头以0x作为标记表示十六进制
Boolean
将其他类型转换为Boolean
使用的是Boolean()函数
数字转布尔
除了0和NaN,其余的都是true,比如:123,-123,Infinity
空值转布尔
Null转布尔为false
未定义转布尔
Undefined转布尔为false
字符串转布尔
除了空串(里面不敲任何字符)其它都是true,比如:"123","你好","abc"
运算符:
其中包括:算数运算符,位运算符,关系运算符
1.算术运算符也称做操作符
通过运算符可以对一个或者多个值进行运算,并获取运算结果
-
- * / %(取模也称为取余数) **取幂
%:取两个数的余数
被除数/除数=商...余数
10%3=3...1(1就是我们取的模,也就是取的余数)
**取幂
a**b也就是a的b次方
+有两种含义:1.字符串拼接,2.算数运算符
其他类型跟字符串相加会变成拼串,会将两个拼接为一个,并返回
在非number类型的值
直接在前边加+就行
NaN除了跟字符串相加变成拼串,其余相加都会变成NaN
当对于非Number类型值进行运算时,会将这些值转为Number值,然后进行运算
隐式转换:某些运算符被执行时,系统内部自动将数据类型进行转换,这种称为隐式转换
为什么需要类型转换
因为javascript是弱数据类型,javascript也不知道变量到底属于那种数据类型,只有赋值才能够清楚
通俗来讲,就是把一个数据类型的变量转换为我们的需要的数据类型
除了+以外的算数运算符,比如 - * /都会把数据类型转换为数值类型
</head>
<body>
<script>
console.log(11+11)
console.log(1+"1")
console.log(1+true)
console.log(2+false)
console.log("1"+NaN)
console.log("123"+"123")
var a="123"+123;
console.log(typeof a)
console.log(1-1)
console.log(1-"1")
console.log(+"123")
var a=true
console.log(5-a)
console.log(5+a)
console.log(5 - +"2" )
console.log(5-null)
</body>
</script>