zoukankan      html  css  js  c++  java
  • JavaScript中的typeof操作符用法实例

    在Web前端开发中,我们经常需要判断变量的数据类型。鉴于ECMAScript是松散类型的,因此需要有一种手段来检测给定变量的数据类型——typeof就是负责提供这方便信息的操作符。
     
    对一个值使用typeof操作符可能返回下列某个字符串:

    “undefined”——如果这个值未定义
    “boolean”——如果这个值是布尔值
    “string”——如果这个值是字符串
    “number”——如果这个值是数值
    “object”——如果这个是对象或null
    “function”——如果这个值是函数

    常用的typeof操作符的返回值包括number、string、boolean、undefined 、object和function。如:

    复制代码代码如下:

    var n;
    console.log(typeof n); // "undefined"

    n = 1;
    console.log(typeof n); // "number"

    n = "1";
    console.log(typeof n); // "string"

    n = false;
    console.log(typeof n); // "boolean"

    n = { name: "obj" };
    console.log(typeof n); // "object"

    n = new Number(5);
    console.log(typeof n); // "object"

    n = function() { return; };
    console.log(typeof n); // "function"

    这几个例子说明,typeof操作符的操作数可以是变量(message),也可以是数值字面量。注意,typeof是一个操作符而不是函数,因此例子中的圆括号不是必须的(尽管可以使用)。


    从上面的例子中,我们发现用Number()创建的数字也会被typeof判定为对象而返回值“object”,这是因为构造函数返回的都是对象,那么如果我们想要区分数字对象(Number)、字符串对象(String)、数组对象(Array)、Function对象、日起对象(Date)、布尔对象(Boolean)以及错误对象(Error)等JavaScript内置对象时,怎么办呢?在这里可以调用对象的toString方法,如:

    复制代码代码如下:

    var n, res;

    n = new Number(66);
    res = Object.prototype.toString.call(n);
    console.log(res); // "[object Number]"

    n = new String("string");
    res = Object.prototype.toString.call(n);
    console.log(res); // "[object String]"

    n = [];
    res = Object.prototype.toString.call(n);
    console.log(res); // "[object Array]"

    // ...
  • 相关阅读:
    10条建议帮助你创建更好的jQuery插件
    jQuery的end()方法使用详解
    jquery合并表格中相同文本的相邻单元格
    jQuery动态星级评分效果实现方法
    jQuery过滤HTML标签并高亮显示关键字的方法
    jQuery实现高亮显示网页关键词的方法
    深入.net调用webservice的总结分析
    C#中遍历各类数据集合的方法总结
    asp.net后台cs中的JSON格式变量在前台Js中调用方法(前后台示例代码)
    使用交叉验证对鸢尾花分类模型进行调参(超参数)
  • 原文地址:https://www.cnblogs.com/xuan52rock/p/4378787.html
Copyright © 2011-2022 走看看