(1)typeof作用
用于查看数据类型

(2)typeof用法
typeof 返回值类型有number, string, boolean, function, undefined, object
PS:在使用typeof()操作符时圆括号是可选项,可带可不带。即两种形式 typeof(XX) 或 typeof XX

1  console.log(typeof 2); // number
2 console.log(typeof "2"); // string
3 console.log(typeof true); // boolean
4 console.log(typeof [2]); // object
5 console.log(typeof {name:2});// object
6 console.log(typeof function(){return 2});// function
7 console.log(typeof new Date());// object
8 console.log(typeof null); // object
9 console.log(typeof undefined);// undefined

但typeof只能区分number, string, boolean, function及undefined,其他的对象、数组、日期、null等都返回Object,存在缺陷。
利用Object.prototype.toString.call可以很好的区分各种类型(注:无法区分自定义对象类型,自定义类型可以采用instanceof区分)

 1 console.log(Object.prototype.toString.call("zhangsan"));//[object String]
2 console.log(Object.prototype.toString.call(12));//[object Number]
3 console.log(Object.prototype.toString.call(true));//[object Boolean]
4 console.log(Object.prototype.toString.call(undefined));//[object Undefined]
5 console.log(Object.prototype.toString.call(null));//[object Null]
6 console.log(Object.prototype.toString.call({name: "zhangsan"}));//[object Object]
7 console.log(Object.prototype.toString.call(function(){}));//[object Function]
8 console.log(Object.prototype.toString.call([]));//[object Array]
9 console.log(Object.prototype.toString.call(new Date));//[object Date]
10 console.log(Object.prototype.toString.call(/\d/));//[object RegExp]
11 function Person(){};
12 console.log(Object.prototype.toString.call(new Person));//[object Object]

(3)js判断是否为空

1 var exp = null;
2 if (!exp && typeof(exp)!="undefined" && exp!=0 && exp!='')
3 {
4 alert("is not null");
5 }

js判断是否为空和typeof的用法的更多相关文章

  1. js判断是否为空火undefined是否给undefined加引号

    js判断是否为空为undefined如果判断的是类型则用typeof(),如果其本身就是“undefind”字符窜,则不能这样判断, 这样typeof之后是字符串类型就判断不出来了,这是需要去掉typ ...

  2. JS判断不能为空实例代码

    JS判断不能为空实例代码.分享在此. 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " ...

  3. js判断是否为空

    http://dushanggaolou.iteye.com/blog/1293803 1.<input type="hidden" id="key" n ...

  4. JS判断内容为空方法总结

    HTML代码: 用户名:<input type="text" id="username"> <p style="color:red& ...

  5. js判断input为空校验

    突然发现最近js发现的问题比较多,更发现我怎么快成了前端开发了?不能够啊!我后台怎么不出问题呢?我的后台是太简单了吗?mybatis-dao-service-controller返回给前台...... ...

  6. js 判断是否为空对象、空数组

    当需要判断参数是否为空时,总希望 js 能够提供原生的判断方法,可惜并没有,只能自己封装了. function isEmpty(obj) { // 检验 undefined 和 null if(!ob ...

  7. js 判断是否是空对象

    主要思路 我们要考虑到的主要有:js原生对象,宿主对象(浏览器上面的). 首先对于宿主对象 主要判断是DOM 对象 和是否是window 对象 是否是DOM对象  value.nodeType 是否存 ...

  8. 小程序 js 判断 字符串 为空 null

    判断字符串是否为空 1 2 3 4 5 var strings = ''; if (string.length == 0) { alert('不能为空'); } 判断字符串是否为“空”字符即用户输入了 ...

  9. js判断是否为空的代码

    方法一: var keyVal= $("#key").val(); if(keyVal==undefined || keyVal=="" || keyVal== ...

随机推荐

  1. Winforn中使用代码动态生成控件

    场景 有时候需要根据配置文件在窗体中使用代码动态生成控件. 比如读取xml配置文件中的节点数量,然后在窗体中生成指定数量的RadioGroup控件. 实现 新建一个窗体,在窗体的加载完之后的事件中 p ...

  2. Laravel 5.4 快速开发简书:

    Laravel 5.4 快速开发简书第1章 课程介绍 介绍课程的大体脉络和课程安排 第2章 Laravel 5.4介绍 本节课会带领大家介绍laravel的各个版本历史以及讨论php框架的未来发展趋势 ...

  3. go语言新建多维map集合

        1:map中加map   var map1 map[string]map[string]string       //声明变量     map1 = make(map[string]map[s ...

  4. TensorFlow2.0(1):基本数据结构—张量

    1 引言 TensorFlow2.0版本已经发布,虽然不是正式版,但预览版都发布了,正式版还会远吗?相比于1.X,2.0版的TensorFlow修改的不是一点半点,这些修改极大的弥补了1.X版本的反人 ...

  5. YQL获取天气

    $(function () { $.getJSON("http://query.yahooapis.com/v1/public/yql?callback=?", { q: &quo ...

  6. App引流增长技术:Deeplink(深度链接)技术

    移动互联网时代,信息的分享传播无疑是 App 引流增长的关键,与其花费大量精力和成本找渠道.硬推广,不如从细节下手,用最快最简便的方法实现 Deeplink(深度链接)技术,打破信息孤岛.缩短分享路径 ...

  7. JavaScript之时间对象Date

    时间是物理学七大常量之一.生活中记录时间有两种方式(或者说有两种计时系统):GMT(格林尼治时间)和UTC(协调世界时间). 一 创建Date对象 JS中的Date对象只能通过new关键字创建. va ...

  8. JDK 13 都已经发布了,Java 8 依然是最爱

    在 JDK 版本的世界里,从来都是 Oracle 发他的新版本,我们继续用我们的老版本.三年之前用 JDK 7,后来终于升级到了 JDK 8.自从升级了没多久,JDK 就开始了半年发一个新版本的节奏, ...

  9. 【linux】【jenkins】自动化部署一 安装jenkins及Jenkins工作目录迁移

    系统环境:Centos7 https://jenkins.io/zh/download/ 下载对应系统的jenkins 一.安装jdk8.0 jenkins安装需要jdk8or11,根据jenkins ...

  10. 客户端与服务端的事件watcher源码阅读

    watcher存在的必要性 举个特容易懂的例子: 假如我的项目是基于dubbo+zookeeper搭建的分布式项目, 我有三个功能相同的服务提供者,用zookeeper当成注册中心,我的三个项目得注册 ...