美文网首页
JavaScript安全的类型检测

JavaScript安全的类型检测

作者: 虚蕪面孔 | 来源:发表于2018-07-31 09:36 被阅读4次
1.如何分辨数组、对象、null类型

首先让我们看一下简单类型的判断,没有任何问题

typeof(1) // "number"
typeof('1') // "string"
typeof(false) // "boolean"
// 这些是没有问题的

下面这些就是无法区分的:

typeof(null) // object
typeof([1]) //object
typeof({name:1}) //object

问题就出现在这,why?
判断js中的类型大部分都可以使用typeof方法,但在这里却不行,如果单纯使用typeof方法得到的结果都是object是无法区分的,所以我们不能直接使用typeof方法,Object原型上提供了一个toString()的方法,结合call方法指定this即可获取当前数据类型

//使用方法 Object.prototype.toString.call()方法可以对所有类型进行判断
Object.prototype.toString.call(1) // "[object Number]"
Object.prototype.toString.call('1') // "[object String]"
Object.prototype.toString.call([1]) // "[object Array]"
Object.prototype.toString.call({name:1}) // "[object Object ]"
Object.prototype.toString.call(null) // "[object Null]"

是不是很神奇,所以日后我们想判断一个数据到底是数组还是对象我们可以很简单就区分了

相关文章

  • JavaScript安全的类型检测

    1.如何分辨数组、对象、null类型 首先让我们看一下简单类型的判断,没有任何问题 下面这些就是无法区分的: 问题...

  • JavaScript第二十三篇 技巧篇之函数篇

    函数篇(上) 安全的类型检测 JavaScript 内置的类型检测机制并非完全可靠。事实上,发生错误否定及错误肯定...

  • javascript 高级技巧

    一、安全的类型检测 JavaScript 内置的类型检测机制并非完全可靠。事实上,发生错误否定及错误肯定的情况也不...

  • 【javaScript 】高级技巧-高级函数

    1、安全的类型检测 JavaScript 内置的类型检测机制并非完全可靠。事实上,发生错误否定及错误肯定的情况也不...

  • javascript中安全的类型检测

    基本数据类型检测 返回类型有:number, boolean, string, undefined, object...

  • JS高级函数

    高级函数 在 JavaScript 中使用函数的高级方法。 数据类型的安全检测 构造函数的安全作用域 惰性载入函数...

  • JavaScript 类型检测

    JavaScript 类型检测 本文介绍JavaScript的几种类型检测的方法,以及其各自的适用范围。 Java...

  • Javascript 数据类型检测及原理

    前言 数据类型检测是 JavaScript 中既基础又考验原理的知识,如果你对 JavaScript 数据类型检测...

  • JavaScript类型检测

    typeof 适合基本类型和函数类型,遇到null失效 instanceof 判断左边的原型链上是否有右边构造函数...

  • JavaScript类型检测

    本篇介绍一下如何检测JavaScript各种类型。 5种原始类型 对象 Function Array 属性 5种原...

网友评论

      本文标题:JavaScript安全的类型检测

      本文链接:https://www.haomeiwen.com/subject/dfdfvftx.html