第二节:基本数据类型和数据类型转换
一:数据类型
JavaScript中的值,无论是字面量还是变量,都有明确的类型。
1.1 基本类型5种
number 数字类型
string 字符串类型
boolean 布尔类型,仅有两个值true 和 false
undefined undefined类型,这中类型值只有一个,就是undefined
null null类型,这种类型的值也就只有一个null
symbol 独一无二的值
二:检测数据类型的工具
使用typeof关键字检查数据类型,通常用来检测变量的类型,因为直接量的类型一眼就看的出来
var a = 123;
console.log(typeof a); //number
三:数据类型转换
3.1number类型
方法一:
可以通过预定义函数Number(),返还值就是一个数值;newNum这个就是返还值(得到了一个值)
var num = "123";
var newNum = Number(num);
console.log(typeof(newNmu))
Number使用注意事项 :
1 遇到数字字符会直接转成数值类型,小数会转换
2.遇到不能转换的值会返还 NaN
3. 可以转换布尔值 ,把true转成 1 false 转成 0(布尔值 非0的数值 都是true 0 就是false)
方法二:parseInt方法
parseInt就是将一个string转为一个整数,不四舍五入,直接截取整数部分。如果这个string有乱七八糟的东西,那么就截取前面数字部分。
var a = "678";
var b = parseInt(a); //parseInt就把字符串678转为数字678了
console.log(b); //678
console.log(typeof b); //number
注意点:
1.只能转整数,小数也会只保留整数部分
var a = "1.3555";
var b = parseInt(a); //舍去了小数部分
console.log(b); //1
console.log(typeof b); //number
2.如果开头是数字后面不是数字只会处理数字部分
var str1 = "123ab";
var newNum = parseInt(str1); //得到123,ab被舍去
console.log(newNum);
3.如果开头不是数字,会得到NaN的结果(parseInt如果不能转,那么就返回NaN)
var str = "ab123";
var res = parseInt(str); //NaN
console.log(res);
方法三:parseFloat函数来转数值(处理小数)
var num = "3.1415";
console.log(num);
var numNum = parseFloat(num);
console.log(numNum)
注意事项:
1.处理数字开头的 会忽略后面非数字部分;
var num = "3.14fafd";
var newNum = parseFloat(num);//3.14
console.log(newNum);
2.如果不是数字开头会返还NaN
var num = "ab33242";
var res = parseFloat(num);
console.log(res); //NaN
3.只能处理一个小数点 ;
var num = "1.241.234";
var res = parseFloat(num);//1.241
console.log(res);
方法四、隐式转换(js自动转换成number):除了 + 号以外的运算符(+ - * / )
var a = "1"; // 字符串
var b = 2; // 数值
var c = b-a; // 运算结果会自动转 数值;
console.log(typeof c); //number
3.2 string类型
方法一:String()函数转成字符串
var num = 123; //数值类型
console.log(num);
var newStr = String(num); //给数据加了引号
console.log(newStr); //string
方法二:toString()函数转成字符串
注意语法: 转换之后的值 = 要转换的值.toString()
var num = 123;
console.log(num); //转换之前的
var res = num.toString(); // 把num转成字符串
onsole.log(res); //转换之后的
null 和 undefined 没有toString 方法 (null和undefined不能使用toString);
方法三:
通过 + 号 隐式转换成字符串 ;+ 号的字符串拼接功能;
var a = 10; // a---> "10"
var b = "1";
var c = a + b; // "10" + "1" ---> 101;
console.log(c); //字符串
补充:
var num = 123;
var res = num.toString();
console.log(res); //普通打印
console.dir(res); // 详细打印
3.3 boolean类型
Boolean() 方法
只有六种情况Boolean(被转换的数据)的结果是false,其余全是true
0 数字0
NaN 数字NaN
“” 空字符串
false 布尔值false
undefined undefined类型
null null类型