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 控制 html元素 显示/隐藏实现代码
Sep 01 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
Apr 16 Javascript
document.getElementBy("id")与$("#id")有什么区别
Sep 22 Javascript
Node.js的包详细介绍
Jan 14 Javascript
实现无刷新联动例子汇总
May 20 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
Nov 25 Javascript
javascript弹性运动效果简单实现方法
Jan 08 Javascript
基于javascript数组实现图片轮播
May 02 Javascript
Vue项目数据动态过滤实践及实现思路
Sep 11 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
Jan 24 jQuery
mpvue 项目初始化及实现授权登录的实现方法
Jul 20 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
Jul 21 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的特殊设置
2006/10/09 PHP
与数据库连接
2006/10/09 PHP
PHP 遍历XP文件夹下所有文件
2008/11/27 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
2014/10/15 PHP
php实现的简单日志写入函数
2015/03/31 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
php curl获取到json对象并转成数组array的方法
2018/05/31 PHP
javascript 页面划词搜索JS
2009/09/28 Javascript
优化javascript的执行速度
2010/01/23 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
javascript拖拽应用实例(二)
2016/03/25 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
浅谈node的事件机制
2017/10/09 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
微信小程序使用swiper组件实现层叠轮播图
2018/11/04 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
在python win系统下 打开TXT文件的实例
2018/04/29 Python
基于python实现学生管理系统
2018/10/17 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
在交互式环境中执行Python程序过程详解
2019/07/12 Python
Django 框架模型操作入门教程
2019/11/05 Python
如何基于python操作excel并获取内容
2019/12/24 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
python wsgiref源码解析
2021/02/06 Python
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
印刷工程专业应届生求职信
2013/09/29 职场文书
支部鉴定材料
2014/06/02 职场文书