一:typeof 操作符
用来检测变量的数据类型,对于值或变量使用typeof操作符会反还如下字符串
undefined | 描述(声明变量时并没有初始化) |
boolean | 布尔值 |
string | 字符串 |
number | 数值 |
object | 对象或null |
function | 函数 |
二:javascript数据类型:
1:undefined null boolean number string object:
NaN ,非数值,是一个特殊的值,这个数值表示一个本来要返回数值的操作数未返回数值的情况。:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>js数据类型</title>
<script>
//字符串string 类型
var ad="head teacher 123";//字符串需要加引号。
alert(ad);
alert(typeof(ad));
//number 类型
var ae=123.98;
alert(ae);
alert(typeof(ae));
//
var box=0/0;
alert(box);
//数组
var ah=new Array(1,2,3);
alert(ah);
alert((typeof(ah));
//对象
var ai={firstname:"wang",
lastname:"su",
id:5666
};
alert(typeof());
//undefined 类型
var ak;
alert(ak);
//null类型 只有一个值的数据类型,它表示一个空对象引用(指针),而 tupeof 操作符检测null 会返回object
var box=null;
alert(typeof(box));
</script>
</head>
<body>
</body>
</html>
三:javascript隐式/强制转换:
1:隐式转换:
其他类型转化成bool类型
数据类型 | 转换成true | 转换成false |
boolean | true | false |
string | 任何非空字符串 | 空字符串 |
number | 任何非0数字值 | 0和NAN |
object | 任何对象 | null |
undefined | undefined |
其他类型转换成number类型
数据类型 | 转换的值 |
undefined | NAN |
null | 0 |
true | 1 |
false | 0 |
字符串 | 转换成数字或NaN |
其他对象 | 转换成NaN |
//其他类型转换成bool类型
var a=2;
if(a=0)
{
alert("true");
}
else{
alert('true');
}
2: 强制转换:
其他类型转换成boolean类型
其他类型转换成number类型
a。通过number函数强制转换number()。
b。通过parseint 函数强制转换成parseint 转换成整型。
数据类型 | 转换的值 |
当进制为0或者没有设置 | 会根据string判断值的进制,默认十进制转换 |
如果字符串以ox开头 | parseint解析为十六进制 |
如果字符串以1-9开头 | parseint解析为10进制 |
如果字符串的第一个字符不能转换为数字 | parseint会返回NaN |
//强制转换boolean
var ad='sakds';
var ad=new Object;//object任何对象都可以转换成true
var ad=null;//转换成false
alert(Boolean(ad));
//转换成数值类型
var ae='adc123';
var ae1='123abc';
var ae2='123';
var ae3='';
alert(Number(ae));//如果第一位是字母或字符,将会转换成 NaN
alert(Number(ae1));//如果包含字符就会转换成 NaN
alert(Number(ae2));//纯数字会转化成数值
alert(Number(ae3));//空的字符串会转换成 0
var af="abc123";
alert(parseInt(af));//第一个为字符,返回 NaN
var af1="123";
alert(parseInt(af1));//不去写进制,默认以十进制转换
var af2="1f";
alert(parseInt(af2,16));//以 16进制转换输出
c。通过parsefloat函数强制转换parsrfloat()转换成浮点型
//parsefoat 转换成浮点数
var aj='2.003asd';
var aj1='asd2.003';
alert(parseFloat(aj));//解析出2.003
alert(parseFloat(aj1));//解析出 NaN
javascript 其他类型转换成字符串类型
a。 使用String函数强制转换String()
b。 使用 toString 函数强制转换toString()
c。String()和 toString()的区别:
toString()的方法一般是不需要传参数的。
如果在转型之前不知道变量是否是null或undefined 的情况下,我们还可以使用转型函数String(),这个函数能够将任何类型的值转换为字符串。
//转换成字符串
var ak=123;
var ak2='123';
document.write(String(ak));
document.write(ak.toString());