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之bind使用介绍
Oct 09 Javascript
js中cookie的添加、取值、删除示例代码
Oct 21 Javascript
jQuery Ajax()方法使用指南
Nov 19 Javascript
jQuery鼠标事件总结
Oct 13 Javascript
关于RequireJS的简单介绍即使用方法
Oct 20 Javascript
js封装成插件_Canvas统计图插件编写实例
Sep 12 Javascript
浅谈Node.js之异步流控制
Oct 25 Javascript
详解VUE项目中安装和使用vant组件
Apr 28 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
对layui中的onevent 和event的使用详解
Sep 06 Javascript
layui 上传文件_批量导入数据UI的方法
Sep 23 Javascript
js实现贪吃蛇小游戏
Oct 29 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
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
安装PHP扩展时解压官方 tgz 文件后没有configure文件无法进行配置编译的问题
2020/08/26 PHP
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
Javascript 函数parseInt()转换时出现bug问题
2014/05/20 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
Bootstrap Navbar Component实现响应式导航
2016/10/08 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
vue项目中使用Hbuilder打包app 设置沉浸式状态栏的方法
2018/10/22 Javascript
微信小程序实现的动态设置导航栏标题功能示例
2019/01/31 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
uniapp,微信小程序中使用 MQTT的问题
2020/07/11 Javascript
Python中逗号的三种作用实例分析
2015/06/08 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
利用python批量检查网站的可用性
2016/09/09 Python
pandas string转dataframe的方法
2018/04/11 Python
python 将字符串完成特定的向右移动方法
2019/06/11 Python
flask开启多线程的具体方法
2020/08/02 Python
python实现计算图形面积
2021/02/22 Python
新加坡鲜花速递/新加坡网上花店:Ferns N Petals
2020/08/29 全球购物
What is view? why do we have view?
2012/06/22 面试题
配置管理计划的主要内容有哪些
2014/06/20 面试题
本科应届生求职信
2014/08/05 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
导游欢迎词范文
2015/01/23 职场文书
高三语文教学反思
2016/02/16 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书