Javascript 常用类型检测

  1.判断变量是否为数组的数据类型?

  方法一 :判断其是否具有“数组性质”,如slice()方法。可自己给该变量定义slice方法,故有时会失效。

  方法二 :obj instanceof Array ,但是在某些IE版本中不正确

  方法三 :来自于zepto.js源码 ,

function isArray(arg){
    return Object.prototype.toString.call(arg) === "[object Array]"
}

         对于支持ECMA Script5中的新方法Array.isArray()的浏览器可以做如下优化。

if(typeof Array.isArray==="undefined")
{
  Array.isArray = function(arg){
        return Object.prototype.toString.call(arg)==="[object Array]"
    };
}

  2.判断变量是否为对象

function isObject(arg){
    return Object.prototype.toString.call(arg) === "[object Object]"
}

  更加深层次的判断

function isPlainObject(obj) {
	return isObject(obj)  && Object.getPrototypeOf(obj) == Object.prototype
}

  3.判断变量是否为函数

function isFunction(arg){
    return Object.prototype.toString.call(arg) === "[object Function]"
}

  

  

  

时间: 2024-10-27 05:53:34

Javascript 常用类型检测的相关文章

JavaScript中类型检测

JavaScript是类型松散的,也就是说,在使用变量和函数参数之前,不会对它们进行比较已确保它们的数据类型正确. JS有五种基本数据类型:Undefined.Null.Boolean.Number和String,还有一种复杂数据类型Object. JS是不支持任何创建自定义类型的机制,所有值最终都将是上述6种数据类型之一. 对于上述6种类型的变量,可以利用typeof操作符来检测. typeof操作符可能返回下列六个字符串: "undefined"--这个值未定义,对应Undefin

复习javascript之类型检测

昨天面了阿里一面,有一个检测类型问题,虽然当时给了答案,但是感觉自己还是不够确信,事实的结果是我给的答案有几个的确是错的~~唉~~有道是信誓旦旦不思其反.面试的时候脑子进水~~ typeof null 返回object,这是因为特殊值null被认为是一个空的对象引用. typeof 123 返回number typeof NaN 返回number .NaN,非数值是一个特殊的数值. 这个数值用来表示一个本来要返回数值的操作数未返回数值的情况. typeof new Number(123) 返回o

Javascript之类型检测

一.检测原始(基本数据:字符串.数字.布尔.null.undefined)类型. 用typeof检测原始类型:1.对于字符串,typeof返回"string"; 2.对于数字,typeof返回"number"; 3.对于布尔型,typeof返回"boolean"; 4.对于undefined,typeof返回"undefined"; 5.对于null,typeof返回"object". 所以检测前面四种类型

Underscore.js 常用类型判断以及一些有用的工具方法

1. 常用类型判断以及一些有用的工具方法 underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法. 首先我们先来谈一谈数组类型的判断.先贴出我自己封装好的函数. 第一: 在ES5里面有一个检测数组的函数,就是Array.isArray(); (毕竟原生的才是最屌的)但是如果老版本的浏览器不支持ES5呢.那怎么办 所以我们这个时候要想其他的办法.   来回忆下 instanceof 运算符的使用方式.a instanceof b,如果返回 true,表

说说javascript变量类型和变量类型检测

javascript是一种弱类型语言,它的典型例子就是即变量在使用的时候可以给它赋值任何类型.那么先来看下javascript都有那些变量类型已经它们的使用方法吧. 先来看看javascript都有那些类型吧: string --- 字符串number --- 数值boolean --- 布尔值undefined --- 未申明的变量 或 申明并未赋值null --- 空object  --- 对象function  --- 函数 这里比较有争议的是 function 类型到底要不要归属到变量类

JavaScript安全的类型检测

在JavaScript中,内置的类型检测机制并非是完全可靠的.这里分别指的typeof和instanceof关键字. 由于typeof有一些无法预知的行为,经常会导致检测数据类型时得到不靠谱的结果,Safari在对正则表达式应用typeof时会返回"function",在chrome下回返回"object". instanceof存在多个全局作用域的情况下(指的是一个页面中包含iframe),也是问题多多.比如下面的代码: var isArray = value i

如何使用JavaScript快速的创建一种常用类型的导航组件:sidebar

本文标签: JavaScript小技巧 JavaScript JavaScript函数 JavaScript处理sidebar JavaScript导航组件 sidebar是一种常用类型的导航组件,它可从页面旁侧弹出,覆盖在正常内容上. 假设你的正常内容为: <div id="main"> Placeholder<p> Placeholder<p> Placeholder<p> </div> 现在我们可以在内容内加入sideb

JavaScript类型检测

在编写JS代码中,经常要对某个变量进行类型检测.常用的类型检测方法有: typeof Object.prototype.toString constructor instanceof typeof typeof可以识别出基本数据类型(null除外),同时typeof并不能识别具体的对象类型(Function除外). eg: typeof "seven"; // "string" typeof 7; //"number" typeof true ;

javascript 类型检测

javascript类型检测主要包括下面几个方法: typeofinstanceofObject.prototype.toStringconstructorduck type 一.typeof方法 typeof可以检测给定变量的数据类型,对一个值使用typeof操作符可能返回下列某个字符串: “undefined”  如果这个值未定义 “boolean”     如果这个值是布尔值 "string"        如果这个值是字符串 “number”     如果这个值是数值 “obj