一.数据类型:
数据类型包括:基本数据类型和引用数据类型
基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。
当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值
1.基本数据类型:
(1).number
<script type="text/javascript"> var a = 666; // typeof 检查当前变量是什么数据类型 console.log(typeof a) // 特殊情况 var b = 5/0; console.log(b) // Infinity 无限大 console.log(typeof b) // number类型 </script>
(2).string
<script type="text/javascript"> // string var a = "666"; console.log(typeof a) </script>
(3).boolean
<script type="text/javascript"> // boolean var a = false; console.log(typeof a) </script>
(4).null
<script type="text/javascript"> // null var a = null; // 空对象, object console.log(a) </script>
(5).undefined
<script type="text/javascript"> // undefined var a; // undefined,表示变量为定义 console.log(a) </script>
2.引用数据类型
Function
Object
Array
String
Date
二.运算符
JS中的运算符跟python中的运算符有点类似,但也有不同。所谓运算,在数学上,是一种行为,通过已知量的可能的组合,获得新的量。
1.赋值运算符
2.算数运算符
3.比较运算符
4.特殊情况
字符串拼接+字符串运算: 特殊情况。python中有拼接字符串中更简便的办法,其实在JS中也有,大家可以百度引擎搜索es6模板字符串。(扩展)
<script type="text/javascript"> var firstName = "娃哈哈"; var lastName = "爽歪歪"; var name = "剑豪"; var am = "剑圣"; // 字符串拼接 var str = "公元20000年4月6日,"+name+"和"+am+"爆发惊世大战,最后以"+am+"重伤险胜"; var fullStr = str; console.log(fullStr); var fullName = firstName + " " + lastName; console.log(fullName); </script>
<script type="text/javascript"> // 对字符串不能进行 + 运算,只能拼接(-,可以) var a = "66" var b = "88" console.log(a+b) </script>
<script type="text/javascript"> var a = "one" var b = "two" console.log(a*b) // // NaN. ==== not a number 是number类型 </script>
三.数据类型转换
语言中我们的数据类型有很多,在某个页面中展示的数据类型也不同,比如说电话号码我就要求number的类型,而输入姓名的时候就要求string类型的。那么在适当的情况下我们可以将数据类型进行转换。
1.将数值类型转成字符串类型
(1).隐式转换
var n1 = 123;
var n2 = '123';
var n3 = n1+n2;
// 隐式转换
console.log(typeof n3);
(2).强制类型转换
// 强制类型转换String(),toString()
var str1 = String(n1);
console.log(typeof str1);
var num = 234;
console.log(num.toString())
2.将字符串类型转换成数值类型
var stringNum = '789.123wadjhkd';
var num2 = Number(stringNum);
console.log(num2)
// parseInt()可以解析一个字符串 并且返回一个整数
console.log(parseInt(stringNum))
console.log(parseFloat(stringNum));
3.任何数据类型都可以转换为boolean类型
var b1 = '123';
var b2 = 0;
var b3 = -123
var b4 = Infinity;
var b5 = NaN;
var b6; //undefined
var b7 = null;
// 非0既真
console.log(Boolean(b7))