js类型判断

js类型有:字符串、数字、布尔、数组、对象、null、undefined。



typeof

console.log(typeof "a"); //string
console.log(typeof 1); //number
console.log(typeof true); //boolean
console.log(typeof []); //object
console.log(typeof new {}); //object
console.log(typeof null); //object
var a;
console.log(typeof a); //undefined
console.log(typeof function(){}); //function

从中可以看出typeof对数组、对象、null返回的类型都为object。



Object.prototype.toString.call

var type=Object.prototype.toString;
console.log(type.call("a")); //[object String]
console.log(type.call(1)); //[object Number]
console.log(type.call(true)); //[object Boolean]
console.log(type.call([])); //[object Array]
console.log(type.call({})); //[object Object]
console.log(type.call(null)); //[object Null]
var a;
console.log(type.call(a)); //[object Undefined]
console.log(type.call(function(){})); //[object Function]
时间: 2024-09-30 07:15:04

js类型判断的相关文章

js类型判断及鸭式辨型

目录 instanceof constructor 构造函数名字 鸭式辨型 三种检测对象的类方式: instanceof.constructor .构造函数名字 用法如下: 1)instanceof console.log([1,2,3] instanceof Array); true console.log([1,2,3] instanceof Object); true 尽管构造函数是原型的唯一标识,instanceof运算符的右操作数是构造函数,instanceof实际计算过程中检测的是对

看jquery3.3.1学js类型判断的技巧

需要预习:call , typeof, js数据类型 1. isFunction中typeof的不靠谱 源码: var isFunction = function isFunction( obj ) { // Support: Chrome <=57, Firefox <=52 // In some browsers, typeof returns "function" for HTML <object> elements // (i.e., `typeof d

JS类型判断typeof PK {}.toString.call(obj)

参考链接:https://www.talkingcoder.com/article/6333557442705696719 先看typeof <!doctype html> <html lang="en">     <head>         <meta charset="UTF-8" />         <script type="text/javascript" src="&

一次搞定js类型判断

对于一些灵活或者通用的函数,需要根据输入的参数类型,来执行一些逻辑,或简单的报错.因此准确的判断数据类型就尤为重要. 第一种方式,也是最容易想到的方式,typeof.它可以很容易的判断出大部分数据的类型,然而array和null会被误判为object类型. 第二种方式,instanceof,然而它的判断逻辑是基于实例的,跨实例或非实例则会出现问题,而且修改_proto_会影响判断结果. 第三种方式,也是最推荐的一种,Object.prototype.toString.call() functio

js 基础复习 之 js 类型判断

ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型. 1.基本类型 基本的数据类型有:`undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值.基本类型有以下几个特点: 1.基本类型的值是不可变得: 1.任何方法都无法改变一个基本类型的值. var name = 'hello'; name.toUpperCase(); // 输出 'HELLO' console.log(name); // 输出

js类型判断的方法

var arr=[]; alert(Object.prototype.toString.call(arr)=='[object Array]');

js中浏览器类型判断

在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却标准不一,因此时常需要根据不同的浏览器,甚至相同浏览器不同版本做不同的操作,因此,知晓浏览器的判断方法,还是很重要的.下面列举一下常用的判断方法:1.判断浏览器是否为IE        document.all ? 'IE' : 'others':在IE下document.all值为1,而其他浏览器下的值为0:        nav

js怎么判断浏览器类型

<script type="text/javascript"> function isIE(){ return navigator.appName.indexOf("Microsoft Internet Explorer")!=-1 && document.all; } function isIE6() { return navigator.userAgent.split(";")[1].toLowerCase().i

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

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