JavaScript中的typeof操作符用法实例


Posted in Javascript onApril 05, 2014

对一个值使用typeof操作符可能返回下列某个字符串:
“undefined”——如果这个值未定义
“boolean”——如果这个值是布尔值
“string”——如果这个值是字符串
“number”——如果这个值是数值
“object”——如果这个是对象或null
“function”——如果这个值是函数

常用的typeof操作符的返回值包括number、string、boolean、undefined 、object和function。如:

var n;
console.log(typeof n); // "undefined"n = 1;
console.log(typeof n); // "number"
n = "1";
console.log(typeof n); // "string"
n = false;
console.log(typeof n); // "boolean"
n = { name: "obj" };
console.log(typeof n); // "object"
n = new Number(5);
console.log(typeof n); // "object"
n = function() { return; };
console.log(typeof n); // "function"

这几个例子说明,typeof操作符的操作数可以是变量(message),也可以是数值字面量。注意,typeof是一个操作符而不是函数,因此例子中的圆括号不是必须的(尽管可以使用)。

从上面的例子中,我们发现用Number()创建的数字也会被typeof判定为对象而返回值“object”,这是因为构造函数返回的都是对象,那么如果我们想要区分数字对象(Number)、字符串对象(String)、数组对象(Array)、Function对象、日起对象(Date)、布尔对象(Boolean)以及错误对象(Error)等JavaScript内置对象时,怎么办呢?在这里可以调用对象的toString方法,如:

var n, res;n = new Number(66);
res = Object.prototype.toString.call(n);
console.log(res); // "[object Number]"
n = new String("string");
res = Object.prototype.toString.call(n);
console.log(res); // "[object String]"
n = [];
res = Object.prototype.toString.call(n);
console.log(res); // "[object Array]"
// ...
Javascript 相关文章推荐
为EasyUI的Tab标签添加右键菜单的方法
Jul 14 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
Apr 02 Javascript
jQuery避免$符和其他JS库冲突的方法对比
Feb 20 Javascript
jquery $.trim()方法使用介绍
May 21 Javascript
JQuery.Ajax()的data参数类型实例详解
Nov 20 Javascript
Bootstrap每天必学之导航条(二)
Mar 01 Javascript
vuejs使用FormData实现ajax上传图片文件
Aug 08 Javascript
jqgrid实现简单的单行编辑功能
Sep 30 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
Sep 04 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
Nov 04 Javascript
javascript 设计模式之享元模式原理与应用详解
Apr 08 Javascript
Vue中函数防抖节流的理解及应用实现
Apr 24 Javascript
Javascript排序算法之计数排序的实例
Apr 05 #Javascript
JavaScript中的正则表达式简明总结
Apr 04 #Javascript
JavaScript格式化日期时间的方法和自定义格式化函数示例
Apr 04 #Javascript
Javascript排序算法之合并排序(归并排序)的2个例子
Apr 04 #Javascript
JQuery记住用户名和密码的具体实现
Apr 04 #Javascript
JS根据变量保存方法名并执行方法示例
Apr 04 #Javascript
JavaScript制作的可折叠弹出式菜单示例
Apr 04 #Javascript
You might like
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
解析php session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
php+mysql开发的最简单在线题库(在线做题系统)完整案例
2019/03/30 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
js实现屏蔽默认快捷键调用自定义事件示例
2013/06/18 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
如何在 Vue.js 中使用第三方js库
2017/04/25 Javascript
强大的 Angular 表单验证功能详细介绍
2017/05/23 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
小程序click-scroll组件设计
2019/06/18 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
详解JS预解析原理
2020/06/16 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
[03:06]3分钟带你回顾DOTA2完美盛典&完美大师赛
2017/12/06 DOTA
Python类属性与实例属性用法分析
2015/05/09 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
python实现智能语音天气预报
2019/12/02 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
英国音乐设备和乐器商店:Gear4music
2017/10/16 全球购物
天猫国际进口超市直营:官方直采,一站购齐
2017/12/11 全球购物
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
三好生演讲稿
2014/09/12 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python
springcloud之Feign超时问题的解决
2021/06/24 Java/Android