js类型检查实现代码


Posted in Javascript onOctober 29, 2010
//检查我们的数字是否其实是一个字符串 
if ( num.constructor == String ) 
//如果是,则将它解析成数字 
num = parseInt( num ); 
//检查我们的字符串是否其实是一个数组 
if ( str.constructor == Array ) 
//如果是,则用逗号连接该数组,得到一个字符串 
str = str.join(',');

表1显示了对不同类型对象分别使用我所介绍的两种方法进行类型检查的结果。表格的第一列显示了我们试图找到其类型的对象。每二列是运行typeof Variable(Variable 为第一列所示的值)。此列中的所有结果都是字符串。最后,第三列显示了对第一列包含的对象运行Variable.constructor 所得的结果。些列中的所有结果都是对象。

表1. 变量类型检查

———————————————————————————————
Variable

typeof Variable

Variable.constructor
———————————————————————————————
{an:"object"}

 object

Object
["an","array"]

  object

  Array
function(){}

   function

  Function
"a string"

  string

String
55  

number

   Number
true

boolean

  Boolean
new User()

object

User
——————————————————————————————————

使用一个变量的constructor 作为对象类型的引用可能是最简单的类型检查方式。当你想要确定精确吻合的参数数目的类型传进了你的函数时,严格的类型检查在这种可能会大有帮助。

Javascript 相关文章推荐
JavaScript根据数据生成百分比图和柱状图的实例代码
Jul 14 Javascript
js实现继承的5种方式
Dec 01 Javascript
JS提交form表单实例分析
Dec 10 Javascript
JavaScript的ExtJS框架中表格的编写教程
May 21 Javascript
jQuery深拷贝Json对象简单示例
Jul 06 Javascript
深入理解JavaScript继承的多种方式和优缺点
May 12 Javascript
JS实现前端缓存的方法
Sep 21 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
Jan 08 Javascript
微信小程序事件 bindtap bindinput代码实例
Aug 26 Javascript
vue+element实现图片上传及裁剪功能
Jun 29 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
Jul 18 Javascript
JavaScript编码小技巧分享
Sep 17 Javascript
JavaScript继承方式实例
Oct 29 #Javascript
拖动布局之保存布局页面cookies篇
Oct 29 #Javascript
JS函数验证总结(方便js客户端输入验证)
Oct 29 #Javascript
JavaScript 原型链学习总结
Oct 29 #Javascript
JavaScript 原型学习总结
Oct 29 #Javascript
用JQuery调用Session的实现代码
Oct 29 #Javascript
基于jquery 的一个progressbar widge
Oct 29 #Javascript
You might like
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
用javascript实现自定义标签
2007/05/08 Javascript
从阿里妈妈发现的几个不错的表单验证函数
2007/09/21 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
vue事件修饰符和按键修饰符用法总结
2017/07/25 Javascript
javascript 缓冲运动框架的实现
2017/09/29 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
axios异步提交表单数据的几种方法
2019/08/11 Javascript
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
python3对接mysql数据库实例详解
2019/04/30 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
python实现复制大量文件功能
2019/08/31 Python
windows 10 设定计划任务自动执行 python 脚本的方法
2019/09/11 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
Python使用进程Process模块管理资源
2020/03/05 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
使用CSS3来代替JS实现交互
2017/08/10 HTML / CSS
电子商务助理求职自荐信
2014/04/10 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
公司车辆管理制度
2015/08/04 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js
GO中sync包自由控制并发示例详解
2022/08/05 Golang