JavaScript之type类型判断

通常我们判断类型是typeof 但是并不精确,只能区分类型  “number”,”string”,”undefined”,”boolean”,”object” 五种。对于数组、函数、对象来说,其关系错综复杂,使用 typeof 都会统一返回 “object” 字符串。

所以JavaScript提供了 Object,prototype.toString.call() 来判断 ,它可以给出数据的确切类型,相比typeof要精确。

<script>
        var str = ‘123‘;
        var arr = [];
        var obj = {
            name:‘hao‘,
            age: 18
        };
        var num = 5;
        var bool = false;
        var fun = function(){

        }
        console.log(typeof arr) // object
        console.log(Object.prototype.toString.call(arr)); // [object Array]
        console.log(Object.prototype.toString.call(arr).slice(8,-1)); // Array
        function isString(o){
            return Object.prototype.toString.call(o).slice(8,-1) === "String";
        }
        console.log(isString(arr))
    </script>

  

原文地址:https://www.cnblogs.com/ahaowh/p/8419434.html

时间: 2024-08-04 05:40:04

JavaScript之type类型判断的相关文章

《饿了么大前端 Node.js 进阶教程》—Javascript 基础问题—类型判断

lodash的类型判断源码 <饿了么大前端 Node.js 进阶教程>地址:https://github.com/ElemeFE/node-interview  lodash介绍:lodash是目前很流行的JS工具库,它封装了许多JS常用到的工具方法,在阅读源码时,你会发现代码冗长:官网说这是性能优化,不管你信不信,反正我信了! (1)null 类型 function isNull(value) { return value === null; } (2)number类型 function i

JavaScript 学习笔记— —类型判断

//1 判断是否为数组类型 var a=[0]; console.log(isArray(a)); function isArray(obj){ return (typeof obj=='object') && obj.constructor==Array; } console.log("2-----------------------------------") //2 判断是否为字符串类型 console.log(isString('test')); console

javascript数据变量类型判断(JS变量是否是数组,是否是函数的判断)

function isArray(o) { return Object.prototype.toString.apply(o) === “[object Array]”;}function isFunction(o) { return Object.prototype.toString.apply(o) === ”[object Function]“;} --JQuery  源码有....

类型判断(下)

前言 在上篇<JavaScript专题之类型判断(上)>中,我们抄袭 jQuery 写了一个 type 函数,可以检测出常见的数据类型,然而在开发中还有更加复杂的判断,比如 plainObject.空对象.Window 对象等,这一篇就让我们接着抄袭 jQuery 去看一下这些类型的判断. plainObject plainObject 来自于 jQuery,可以翻译成纯粹的对象,所谓"纯粹的对象",就是该对象是通过 "{}" 或 "new O

JavaScript类型判断

JavaScript的数据类型可以分为:标准类型和对象类型. 标准类型有:undefined Null Boolean Date Number Object 对象类型(构造器类型)有:Boolean Date Number Object Array Date Error Function RegExp 用来判断数据类型的一般有四种方式,分别是: 1.typeof 可以识别标准类型(Null除外) 不能识别对象类型(Function除外) 2.Prototype.toString() 可以识别标准

&lt;input type = file/&gt;上传图片限制大小、类型判断、像素判断

<input type = file/>上传图片限制大小.类型判断.像素判断 在项目中经常用到input标签来上传文件,而这些文件通常是图片文件.图片有很多格式我们只需要其中的几种,就需要对用户上传的文件进行验证,在HTML5中有一个新的属性:accept文件类型限制.但是通常我们会用javascript或jQuery编写方法进行验证图片的大小限制.类型判断.像素判断 <!DOCTYPE html> <html> <head> <meta charse

javascript类型判断方法

判断javascript中的类型,共有四种常用的方法 var a=6; var b="str"; var c=true; var arr=[]; typeof 用于基本类型的判断 1.typeof最好用于基本类型的判断,返回类型名(小写). 例外 typeof null==="object" //true typeof function(){}==="function" //true 2.typeof返回的是字符串 3.对变量执行typeof操作

javascript 的工具方法 --- 类型判断

Javascript中常见类型对象有: Boolean, Number, String, Function, Array, Date, RegExp, Object, Error, Symbol等等. 下面提供区分这几种类型的工具方法,前提是使用javascript,如果项目中使用了jquery或者angularjs等框架,就没必要自己再写这样的工具函数. 第一种:最笨的办法,一一列举 function isBoolean(value) {return typeof value === 'boo

【JavaScript】Object.prototype.toString.call()进行类型判断

权声明:本文为博主原创文章,未经博主允许不得转载. [javascript] view plain copy print? op = Object.prototype, ostring = op.toString, ... function isFunction(it) { return ostring.call(it) === '[object Function]'; } function isArray(it) { return ostring.call(it) === '[object A