javascript 得到变量类型的函数


Posted in Javascript onMay 19, 2010

这个功能需要写一点代码来实现。下面的函数可以得到一个变量的类型,调用时传递一个变量进去,会返回用字符串形式描述的变量类型。

//得到x的类型,返回类型名称 
function getType(x) { 
//如果x为null,则返回null 
if (x == null) return "null"; 
var t = typeof x; 
//如果x为简单类型,则返回类型名称 
if (t.toLocaleLowerCase() != "object") return t; 
//调用object类的toString方法得到类型信息 
//object.toString方法返回类似这样的信息[object 类名] 
t = Object.prototype.toString.apply(x).toLowerCase(); 
//截取toString方法返回值的类名部分 
t = t.substring(8, t.length - 1); 
if (t.toLocaleLowerCase() != "object") return t; 
//检查x确实为object类型 
if (x.constructor == Object) return t; 
//从构造函数得到类型名称 
if (typeof x.constructor == "function") 
return getFunctionName(x.constructor); 
return "unknow type"; 
} 
//得到函数名称 
function getFunctionName(fn) { 
if (typeof fn != "function") throw "the argument must be a function."; 
var reg = /\W*function\s+([\w\$]+)\s*\(/; 
var name = reg.exec(fn); 
if (!name) { 
return '(Anonymous)'; 
} 
return name[1]; 
}
Javascript 相关文章推荐
深入理解JavaScript系列(4) 立即调用的函数表达式
Jan 15 Javascript
根据配置文件加载js依赖模块
Dec 29 Javascript
JavaScript父子窗体间的调用方法
Mar 31 Javascript
jquery实现的仿天猫侧导航tab切换效果
Aug 24 Javascript
JavaScript编程中window的location与history对象详解
Oct 26 Javascript
jQuery 调用WebService 实例讲解
Jun 28 Javascript
jQuery-mobile事件监听与用法详解
Nov 23 Javascript
Vue render深入开发讲解
Apr 13 Javascript
详解vue-cli 本地开发mock数据使用方法
May 29 Javascript
基于Vue2实现简易的省市区县三级联动组件效果
Nov 05 Javascript
js实现点击按钮随机生成背景颜色
Sep 05 Javascript
微前端qiankun改造日渐庞大的项目教程
Jun 21 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
May 19 #Javascript
js 复制或插入Html的实现方法小结
May 19 #Javascript
15 个 JavaScript Web UI 库
May 19 #Javascript
JavaScript 以对象为索引的关联数组
May 19 #Javascript
JavaScript 语言的递归编程
May 18 #Javascript
JS 树形递归实例代码
May 18 #Javascript
document.getElementById方法在Firefox与IE中的区别
May 18 #Javascript
You might like
谈谈新手如何学习PHP
2006/12/14 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
php中读写文件与读写数据库的效率比较分享
2013/10/19 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
js 实现菜单上下显示附效果图
2013/11/21 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
简单谈谈javascript中this的隐式绑定
2016/02/22 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
javascript入门之数组[新手必看]
2016/11/21 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
js实现日历与定时器
2017/02/22 Javascript
jquery submit()不能提交表单的解决方法
2017/04/24 jQuery
angularjs路由传值$routeParams详解
2020/09/05 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
ES6顶层对象、global对象实例分析
2019/06/14 Javascript
layui文件上传控件带更改后数据传值的方法
2019/09/23 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
用Python实现QQ游戏大家来找茬辅助工具
2014/09/14 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
Python绘制组合图的示例
2020/09/18 Python
Cpython解释器中的GIL全局解释器锁
2020/11/09 Python
银行学习十八大感想
2014/01/11 职场文书
工程承诺书怎么写
2014/05/24 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
市场营销毕业求职信
2014/08/07 职场文书
教师四风问题整改措施
2014/09/25 职场文书
2019入党申请书格式
2019/06/25 职场文书
高一作文之暖冬
2019/11/09 职场文书
Python爬取某拍短视频
2021/06/11 Python