zoukankan      html  css  js  c++  java
  • JS中typeof的用法

    感谢原文作者:zh2443
    原文链接:https://www.jianshu.com/p/8107d25f54ac

    js是一门弱语言,它在声明变量时无需确定变量的类型,js在运行时会自动判断。那么如何判断一个变量的类型呢,js提供了typeof运算符,用来检测一个变量的类型

    1. typeof的语法

    typeof是一个运算符,有2种使用方式:typeof(表达式)typeof 变量名,第一种是对表达式做运算,第二种是对变量做运算。

    2. typeof的返回值

    typeof运算符的返回类型为字符串,值包括如下几种:

    1. ‘undefined’ --未定义的变量或值

    2. ‘boolean’ --布尔类型的变量或值

    3. ‘string’ --字符串类型的变量或值

    4. ‘number’ --数字类型的变量或值

    5. ‘object’ --对象类型的变量或值,或者null(这个是js历史遗留问题,将null作为object类型处理)

    6. ‘function’ --函数类型的变量或值

    3. 简单的示例

        console.log(typeof a);    //'undefined'
        console.log(typeof(true));  //'boolean'
        console.log(typeof '123');  //'string'
        console.log(typeof 123);   //'number'
        console.log(typeof NaN);   //'number'
        console.log(typeof null);  //'object'    
        var obj = new String();
        console.log(typeof(obj));    //'object'
        var  fn = function(){};
        console.log(typeof(fn));  //'function'
        console.log(typeof(class c{}));  //'function'
    

    总结:typeof运算符用于判断对象的类型,但是对于一些创建的对象,它们都会返回’object’,有时我们需要判断该实例是否为某个对象的实例,那么这个时候需要用到instanceof运算符,后续记录instanceof运算符的相关用法。

    补充:https://www.cnblogs.com/ysk123/p/10006786.html

    示例

    function abs(x) {
        if (typeof x !== 'number') {
            throw 'Not a number';
        }
        if (x >= 0) {
            return x;
        } else {
            return -x;
        }
    }
    
  • 相关阅读:
    CF528D Fuzzy Search
    P3489 付公主的背包
    有标号的DAG计数
    P4609 [FJOI2016]建筑师
    mds/journal.cc: 2929: FAILED assert解决
    Ceph根据Crush位置读取数据
    关于backfill参数建议
    rados put striper功能的调试
    Cephfs的文件存到哪里了
    为什么删除的Ceph对象还能get
  • 原文地址:https://www.cnblogs.com/tfxz/p/12838746.html
Copyright © 2011-2022 走看看