JavaScript 中 typeof 的返回值

JavaScript中有5中简单的数据类型:Undefined、Null、Boolean、Number、String,还有一种复杂数据类型:Object。JavaScript不支持创建自定义数据类型,因此所有的值都可归为上述6中类型中的一种。 

typeof 操作符

typeof是一元操作符,返回值为 Undefined、Boolean、Number、String 和 function 类型(function 属于 Object 类型, function instanceof  Object 返回 true )中的一种,用法如下:

    <script type="text/javascript">
        var temp; //只声明未初始化
        document.write("typeof temp: " + typeof temp + "<br/>"); //返回 undefined
        document.write("typeof undefined: " + typeof undefined + "<br/>"); //返回 undefined
        document.write("typeof true: " + typeof true + "<br/>"); //返回 boolean
        document.write("typeof 11: " + typeof 11 + "<br/>");  //返回 number
        document.write("typeof Number.MAX_VALUE: " + typeof Number.MAX_VALUE + "<br/>"); //返回 number
        document.write("typeof 'abc': " + typeof "abc" + "<br/>"); //返回 string
        document.write("typeof null: " + typeof null + "<br/>"); //返回 object
        document.write("typeof window: " + typeof window + "<br/>"); //返回 object
        document.write("typeof document: " + typeof document + "<br/>"); //返回 object
        var test = function () {
        };
        document.write("typeof test: " + typeof test); //返回 function
    </script>
这其中 typeof null 返回 object 可能会令人困惑,我们可以将其理解为 特殊值 null 是一个空的对象引用、一个空对象指针。

关于 null 和 undefined

如果我们要用一个变量保存对象,那么最好将该对象初始化为 null,这样我们可以直接检查变量是否等于null来判断变量是否保存了一个对象

<script type="text/javascript">
        var bike;
        alert(typeof bike); // 'undefined'

        var car = null;
        alert(typeof car); // 'object'

        if (car != null) {
            //对变量执行某些操作
        }

        //实际上、undefined 是派生自 null 值的 因此
        alert(null == undefined);  // 'true'
        //尽管如此 他们的用途是完全不同的,因此一个变量要保存对象的话,就应该明确的赋值 null
        //而 undefined 却不必如此,这样更有助于区分两者
    </script>
文章参考《javaScript高级程序设计》




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值