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 相关文章推荐
JavaScript 学习笔记(四)
Dec 31 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
Mar 04 Javascript
基于jquery的超简单上下翻
Apr 20 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
Apr 16 Javascript
两款JS脚本判断手机浏览器类型跳转WAP手机网站
Oct 16 Javascript
javascript显示系统当前时间代码
Dec 29 Javascript
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
详解webpack 热更新优化
Sep 13 Javascript
详解在不使用ssr的情况下解决Vue单页面SEO问题
Nov 08 Javascript
vue 项目build错误异常的解决方法
Apr 22 Javascript
JavaScript高级程序设计之基本引用类型
Nov 17 Javascript
vue postcss-px2rem 自适应布局
May 15 Vue.js
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
php学习笔记之 函数声明
2011/06/09 PHP
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
通过php快速统计某个数据库中每张表的数据量
2012/09/04 PHP
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
PHP程序漏洞产生的原因分析与防范方法说明
2014/03/06 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
一个可以随意添加多个序列的tag函数
2009/07/21 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
用js调用迅雷下载代码的二种方法
2013/04/15 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
Angular中封装fancyBox(图片预览)遇到问题小结
2017/09/01 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
NodeJS实现自定义流的方法
2018/08/01 NodeJs
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python实现公司年会抽奖程序
2019/01/22 Python
查看python安装路径及pip安装的包列表及路径
2019/04/03 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
浅谈Python3中print函数的换行
2020/08/05 Python
毕业生应聘幼儿园的自荐信
2013/11/20 职场文书
网络研修随笔感言
2014/02/17 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书