typeof操作符--undefined与null

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>typeof操作符</title>
<script src="js/jquery.min.js"></script>
<script>
//typeof是操作符而不是内置函数,所以用来区分 function 和 object很合适
$(document).ready(function () {
var str;//返回值undefined
// 类型是一个只有一个值的数据类型,即特殊的值 null。它表示一个空对象引用(指
// 针),而 typeof 操作符检测 null 会返回 object
var str1=null;//返回值是一个对象,空对象
如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为 null。这样,当
检查 null 值就知道是否已经变量是否已经分配了对象引用了。
if(str1!=null){
alert("值已经存在了");
}
// 由于 undefined 和 null 两个值的比较是相等的,所以,未初始化的变量和赋值为 null 的
// 变量会相等。这时,可以采用 typeof 变量的类型进行比较。但,建议还是养成编码的规范,
// 不要忘记初始化变量。
var box;
var car = null;
alert(typeof box == typeof car);
alert(str);
})


//数字类型转换为string类型,使用toString方法:可以传递参数(参数表示进制数)

var box=10;
alert(box.toString(2));//结果:‘1010’
alert(box.toString(8));//结果: '12'
alert(box.toString(10));//结果: '10'
alert(box.toString(16));// 结果:'a'
这个不是后面的字符串合并了原来的字符串,原来的字符串并没有变,只是在被另一个字符串合并时被销毁了
  var stt="Ms.";
var st1=stt+"Wang";
alert("st1:"+st1);
但是toString方法不能适用于undefined和null情况下,会报错
如:var box;
vsr box1=null;
alert(box.toString());//控制台会输出错误信息
alert(box1.toString());//控制台会输出错误信息
正确的方法是:使用string方法强制转换
alert(string(box));//返回值是‘null’

总结:也就是说一般情况下使用string方法较为灵活,当没有nudefined和null类型时自动调用toString方法,若是遇到undefined和null情况时直接返回null和undefined
</script>
</head>
<body></body>
</html>
posted on 2018-07-10 14:25  小虾米吖~  阅读(406)  评论(0编辑  收藏  举报