js 验证数据类型的4中方法

news/2024/7/5 1:44:08

1.typeof  可以检验基本数据类型 但是引用数据类型(复杂数据类型)无用;

总结 : typeof  无法识别引用数据类型  包括 bull; 

2.instanceof是一个二元运算符,左操作数是一个对象,右操作数是一个构造函数。如果左侧的对象是右侧构造函数的实例对象,则表达式返回true;否则返回false

  如果左操作数不是对象,返回false,如果右操作数不是函数,则抛出一个类型错误异常TypeError

  console.log(  true  instanceof Boolean)    // boolean
     console.log( "string" instanceof String)  // string
    console.log(   123 instanceof Number)    // number
    // console.log(  undefined instanceof   )  //语法错误
    console.log( function(){} instanceof  Function)  //function
    // console.log( null instanceof  null)     //语法错误
    console.log( [1,2,3] instanceof   Array)   //objet  
    console.log( {"name":"liming"} instanceof  Object )  // object

总结 :null  和 undefined  没有构造函数 使用此方法会报错!!! 无法鉴别基本数据类型  并且引用数据类型全部为对象 !!!

3.constructor

  实例对象的constructor属性指向其构造函数。如果是对象类型,则输出function 数据类型(){}; null  undefiend 报错

 

 4.Object.prototype.toString()方法

  对象的类属性是一个字符串,用以表示对象的类型信息。javascript没有提供设置这个属性的方法,但有一种间接方法可以查询它

  Object.prototype.toString()方法返回了如下格式的字符串:[object 数据类型]

console.log(Object.prototype.toString.call("string"));//[object String]
console.log(Object.prototype.toString.call(1));//[object Number]
console.log(Object.prototype.toString.call(true));//[object Boolean]
console.log(Object.prototype.toString.call(undefined));//[object Undefined]
console.log(Object.prototype.toString.call(null));//[object Null]

 

转载于:https://www.cnblogs.com/shouzi/p/9225740.html


http://lihuaxi.xjx100.cn/news/255520.html

相关文章

杭电出了“王炸班”!考研3个清北8个浙大,就业人均起薪30万+

Datawhale分享 学霸班:杭州电子科技大学,人工智能学院杭州电子科技大学人工智能学院出了一个学霸“王炸班”,56人中34人考研上岸,17人考上985,8名浙大,2名清华,1名北大。另外,就业的…

4种 Redis 集群方案介绍+优缺点对比

欢迎关注方志朋的博客,回复”666“获面试宝典在服务开发中,单机都会存在单点故障的问题,及服务部署在一台服务器上,一旦服务器宕机服务就不可用,所以为了让服务高可用,分布式服务就出现了,将同一…

Ideas Of MySelf 20005-07-26

crazy0man(事在人为!) 说:常飞 说:(呵crazy0man(事在人为!) 说:我想crazy0man(事在人为!) 说:我们是不是常飞 说:什么常飞 说:?crazy0man(事在人为!) 说:应该打起精神来常飞 说:对呀crazy0man(事在人为&…

就是个控制结构,Scala 能有什么新花样呢?

作者 | luanhz来源 | 小数志导读编程语言中最为基础的一个概念是控制结构,几乎任何代码都无时无刻不涉及到,其实也就无外乎3种:顺序、分支和循环。本文就来介绍Scala中控制结构,主要是分支和循环。Scala中的控制结构实质上与其他编…

LeetCode实战:求众数

题目英文 Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times. You may assume that the array is non-empty and the majority element always exist in the array. Example 1: Input: […

遇到的浏览器兼容问题及应对方法

前言: 上周天的时候有个学长找我帮忙做三张页面,因为没有数据交换之类的,只是单纯的前端页面,想着好久没做东西, 看书都看烦了,所以就接了也当是练手。之前因为没有系统的看书,所以其实很多问题…

【learning】矩阵树定理

问题描述 给你一个图(有向无向都ok),求这个图的生成树个数    一些概念 度数矩阵:\(a[i][i]degree[i]\),其他等于\(0\) 入度矩阵:\(a[i][i]in\_degree[i]\),其他等于\(0\) 出度矩阵&#xff1…

硅谷华人码农艰难「求生」:陪马斯克熬夜奋战后光速被裁!

视学算法报道 编辑:David Cris【导读】前一晚还在与马斯克并肩作战,早上起床后公司账号就进不去了?这就是科技寒潮下的「硅谷速度」…根据Layoffs.fyi的统计,今年迄今科技行业累计裁员人数已超10万,其中大部分集中在M…