摘要:判断一个数据是否是数组,在以往的实现中,可以基于鸭子类型的概念来判断,比如判断这个数据有没有属性,有没有方法或者方法等。所以我们可以编写一系列的函数。代码如下输出我们还可以用循环语句,来批量注册这些函数输出输出
判断一个数据是否是数组,在以往的实现中,可以基于鸭子类型的概念来判断,比如判断这个数据有没有length 属性,有没有sort方法或者slice 方法等。但更好的方式是用Object.prototype.toString来计算。
Object.prototype.toString.call(obj)返回一个字符串,比如Object.prototype.toString.call([1,2,3])总是返回"[objectArray]",而Object.prototype.toString.call(“str”)总是返回"[objectString]"。所以我们可以编写一系列的isType 函数。代码如下:
var isString = function( obj ){ return Object.prototype.toString.call( obj ) === "[object String]"; }; var isArray = function( obj ){ return Object.prototype.toString.call( obj ) === "[object Array]"; }; var isNumber = function( obj ){ return Object.prototype.toString.call( obj ) === "[object Number]"; };
var isType = function( type ){ return function( obj ){ return Object.prototype.toString.call( obj ) === "[object "+ type +"]"; } }; var isString = isType( "String" ); var isArray = isType( "Array" ); var isNumber = isType( "Number" ); console.log( isArray( [ 1, 2, 3 ] ) ); // 输出:true
我们还可以用循环语句,来批量注册这些isType 函数:
var Type = {}; for ( var i = 0, type; type = [ "String", "Array", "Number"][ i++ ]; ){ (function( type ){ Type[ "is" + type ] = function( obj ){ return Object.prototype.toString.call( obj )==="[object "+ type +"]"; } })( type ) }; Type.isArray( [] ); // 输出:true Type.isString( "str" ); // 输出:true
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/78814.html
摘要:可用于判断多种数据类型基本数据类型和内置对象,然而对于一些自定义构造函数生成的对象就不能进行判断了。判断是不是所有数据类型中,只有不等于它本身判断数组的方法除了上文提到的三种方法可判断外,还有一个构造函数自带的方法可判断。 数据类型的分类 要想判断数据类型,首先要知道数据类型的分类。数据类型分为基本数据类型和引用数据类型。 基本数据类型 基本数据类型有 五 种,ES6中新加了第 六 种...
摘要:对象类型常见的有,,,正则新增自己提供的乐行判断如果不对对象做严格区分使用。的实现使用了原型继承的表示左表达式,表示右表达式,它是用是否等于来判断对象的类型的。常见框架和库的实数据类型判断测试这里将的实现原理抽取出来,用原生实现。 JavaScript一共有六种数据类型,分为原始类型(又名基本类型)和对象类型(又名引用类型) 原始类型有五种,分别为number,string,boole...
摘要:最常见的判断方法它的官方解释操作符返回一个字符串,表示未经计算的操作数的类型。另外,是判断对象是否属于某一类型,而不是获取的对象的类型。多个窗口意味着多个全局环境,不同的全局环境拥有不同的全局对象,从而拥有不同的内置类型构造函数。 js中的数据类型 js中只有六种原始数据类型和一个Object: Boolean Null Undefined Number String Symbol ...
showImg(https://segmentfault.com/img/remote/1460000018796041?w=900&h=500); 简介 字符串、数字、布尔值、Null、Undefined、对象、数组、函数、判断方法 JavaScript 中有两种数据类型,分别是基本数据类型和引用数据类型: 基本数据类型 引用数据类型 Number、String、Boolean、Null...
摘要:本文将讲解我目前所知道的判断数据类型的方法。数据类型一共有种除了之外的种属于原始数据类型。等价于问题四的返回值是什么答案。 本文将讲解我目前所知道的判断JavaScript数据类型的方法。JavaScript数据类型一共有7种: Undefined Null Boolean String Symbol Number Object 除了Object之外的6种属于原始数据类型。有时,我...
阅读 3665·2021-11-25 09:43
阅读 2614·2021-11-25 09:43
阅读 3777·2021-11-24 09:38
阅读 655·2021-11-18 10:02
阅读 2190·2021-09-22 15:53
阅读 2973·2019-08-30 15:44
阅读 2746·2019-08-30 14:01
阅读 2695·2019-08-29 15:15