I hava a coding dream让前端飞

1. 操作符 typeof 与 instanceof 合用,判断

2018-06-12  本文已影响5人  _信仰zmh

真正毕业也一年多了,好多知识点都没有当初记得那么牢固,每次用到的知识,也总是不够十分确定,于是乎,买书,看书,总结。

这篇文章只是总结下,之前掌握不扎实的东西,先拿令我印象最深的花旗外资面试,问我的关于typeof的知识点,不妨做个总结。

该文章涉及的知识点如下:

javascript数据类型

其中: 只声明未赋值未定义 的为undefined。

Null 代表一个空的对象,如果提前声明一个变量用于后期存放对象,最好初始化为null

另外 null == undefined 返回为true。

同时 "" == 0 返回也为true。

Number中特殊的NaN,需注意一切与NaN相关的操作都为NaNNaN与任何数据都不相等,包含其本身

String类型注意,最外层 要么使用单引号,要么使用双引号,不要开头单引号、结尾双引号,例如var str = 'zz123";

注意多个单双引号嵌套

转换为String,可以使用 toString()String()

nullundefined不支持toString(),可以使用String(),返回的是"null"和"undefined"。

简单粗暴的直接使用加号,如变量名 + ""

Boolean布尔类型,只返回true或false,注意与"true"或"false"区别。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <script>
        var name = "zmh", age = 24, isBoy = true, mobile, myInfos = null;
        var myFruits = ['苹果', '橙子', '火龙果'];
        var myfun = function(){}; 
        var pattCardId = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
        var newDate = new Date();
        function checkDataTypes(){
            var len = arguments.length;
            for(var i = 0; i < len; i++){
                var str = typeof arguments[i];
                switch(str) {
                    case 'string':
                        console.log(arguments[i] + "-->是字符串类型!");
                        break;
                    case 'number':
                        console.log(arguments[i] + "-->是数字类型!");
                        break;
                    case 'boolean':
                        console.log(arguments[i] + "-->是布尔类型!");
                        break;
                    case 'undefined':
                        console.log(arguments[i] + "-->是未定义类型!");
                        break;
                    case 'function':
                        console.log(arguments[i] + "-->是函数对象类型!");
                        break;
                    case 'object':
                        if(arguments[i] == null){
                             console.log(arguments[i] + "-->是空对象类型!");
                             break;
                        }else{
                              if(arguments[i] instanceof Array){
                                    console.log(JSON.stringify(arguments[i]) + "-->是数组对象类型!");
                                    break;
                              }else if(arguments[i] instanceof RegExp){
                                    console.log(arguments[i] + "-->是正则对象类型!");
                                    break;
                              }else if(arguments[i] instanceof Date){
                                    console.log(arguments[i] + "-->是日期对象类型!");
                                    break;
                              }else{
                                    console.log(arguments[i] + "-->是其他非空对象类型!");
                                    break;
                              }
                        };
                    default:
                        console.log(arguments[i] + "-->是未知类型!");
                }
            }
        }

        checkDataTypes(name, age, isBoy, mobile, myInfos, myFruits, myfun, pattCardId, newDate);
    </script>
</body>
</html>
判断js数据类型.png
上一篇 下一篇

猜你喜欢

热点阅读