1.判断数据类型
js中,我们用typeof来检验数据的类型
<script type="text/javascript">
var name = '张三';
var age = 21;
var bool = true;
var array = [1,2,3,4]
var a;
console.log(typeof name); //string
console.log(typeof age); //number
console.log(typeof bool); //bnoolean
console.log(typeof array); //object
console.log(typeof a); //undefined
</script>
2.判断是不是数值型(isNaN())
如果isNaN()里面判定的值为数值型,返回false,反之返回true
<script type="text/javascript">
console.log(isNaN(2)); //false
console.log(isNaN('2')); // 因为这是一个字符串数字,故返回false
console.log(isNaN('zhangsan')); //true
console.log(isNaN()); //true
console.log(isNaN('')); //false
</script>
3.字符串类型的转换
<script type="text/javascript">
//数值型转换成字符串型
var num = 12;
var str = num.toString(num)
console.log(typeof str); //string
var str1 = String(num)
console.log(typeof str1); //string
var str2 = num +''; //使用 '+' 实现隐式转换
console.log(typeof str2); //string
//布尔型转换成字符串型
var bool = true;
var str3 = bool.toString();
console.log(typeof str3); //string
var str4 = String(bool)
console.log(typeof str4); //string
var str2 = bool +''; //使用 '+' 实现隐式转换
console.log(typeof str2); //string
</script>
4.数值型的转换,转换结束字体会变蓝色
<script type="text/javascript">
//字符串型转换为数值型
var a = '12';
var b = '12.12';
var c = 'abc';
var d = '21abc';
var e = '21';
var f = '2021';
var num = parseInt(a) //parseInt 将定义的字符串数字转换成整数。对小数只取整数部分
console.log(num);
var num1 = parseFloat(b) //parseFloat 将定义的字符串数字转换成定义的数字
console.log(num1);
var num2 = parseFloat(c) //返回NaN,因为定义的不是数字
console.log(num2);
var num3 = parseFloat(d) //返回12,因为定义的前半部分是数字
console.log(num3);
var num4 = e - 2; //隐式转换,- / * 三个算数运算符可以实现,+ 不行
console.log(num4);
var num5 = Number(f) // 强制转换,霸道转换法
console.log(num5);
console.log(typeof num,typeof num1,typeof num2,typeof num3,typeof num4,typeof num5); //num * 6
//布尔型转换成数字型
var bool = true;
var bool1 = false;
var num6 = bool - 1;
console.log(num6); //隐式转换,- / * + 算数运算符可以实现,
console.log(typeof num6); //num
</script>
5.布尔型的转换
<script type="text/javascript">
//字符串型转换为布尔型
var age = '12';
var year = 'qwe';
var a = '';
var bool = Boolean(age); // 强行转换成布尔型,但返回结果为true
console.log(bool);
console.log(typeof bool);
var bool1 = Boolean(year);
console.log(bool1);
console.log(typeof bool1);
var bool2 = Boolean(a); // 强行转换成布尔型,但返回结果为false
console.log(bool2);
// 字符串的值,返回的都是true,不给值的话返回false
//数值型转换为布尔型
var num = 1;
var bool3 = Boolean(num); // 强行转换成布尔型,num = 1,所以返回结果为true
console.log(bool3);
var num1 = 0;
var bool4 = Boolean(num1); // 强行转换成布尔型,num1 = 0,所以返回结果为false
console.log(bool4);
</script>