javascript 得到变量类型的函数
这个功能需要写一点代码来实现。下面的函数可以得到一个变量的类型,调用时传递一个变量进去,会返回用字符串形式描述的变量类型。
代码如下:
//得到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];
}
相关推荐
-
Js检查变量类型的代码()
JavaScript检查变量的类型,并判断是整形或是字符串或是其它类型等等. 检查变量的类型 [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 2.toString 本来是用来做字符串转换的,不过现在流行用来做变量类型的检查了.舜子这里也写了一个函数,方便检查变量的类型,可以用来代替 typeof 复制代码 代码如下: function getType(o) { var _t; return ((_t = typeof(o)) == "object" ? o==null &a
-
JavaScript的变量作用域深入理解
在学习JavaScript的变量作用域之前,我们应当明确几点: a.JavaScript的变量作用域是基于其特有的作用域链的. b.JavaScript没有块级作用域. c.函数中声明的变量在整个函数中都有定义. 1.JavaScript的作用域链 首先看下下面这段代码: 复制代码 代码如下: <script type="text/javascript" language="javascript"> var rain = 1; function rain
-
JavaScript变量类型以及变量作用域详解
变量类型 ECMAScript变量可能包含两种不同类型的数据值:基本类型和引用类型. 基本类型 基本类型指的是简单的数据段,5种基本数据类型:undefined.null.boolean.number.string,基本数据类型是按值访问的,因此可以操作保存在变量中的实际的值. 复制变量值 从一个变量向另一个变量复制基本类型的值,会在变量对象上创建一个新值,然后把该值复制到为新变量分配的位置上.例如: var num1 = 5; var num2 = num1; 复制前的变量对象 复制后的变量对
-
关于javascript 回调函数中变量作用域的讨论
1.背景 Javascript中的回调函数,相信大家都不陌生,最明显的例子是做Ajax请求时,提供的回调函数, 实际上DOM节点的事件处理方法(onclick,ondblclick等)也是回调函数. 在使用DWR的时候,回调函数可以作为第一个或者最后一个参数出现,如: JScript code function callBack(result){ } myDwrService.doSomething(param1,param2,callBack);//DWR的推荐方式 //或者 myDwrSer
-
JavaScript基于自定义函数判断变量类型的实现方法
本文实例讲述了JavaScript基于自定义函数判断变量类型的实现方法.分享给大家供大家参考,具体如下: 通常用typeof来判断js变量的类型,但很多时候仅仅typeof满足不了要求的. 我写了一个自定义函数来做这个事,判断的比较全面了. function varType(v){ if ( typeof v=== "object" ){ if (v=== null ) return 'null' ; if (v. constructor ) return (v. constructo
-
js中判断变量类型函数typeof的用法总结
1.作用: typeof 运算符返回一个用来表示表达式的数据类型的字符串. 可能的字符串有:"number"."string"."boolean"."object"."function" 和 "undefined". 2.常用返回值说明 表达式 返回值 typeof undefined 'undefined' typeof null 'object' typeof true 'boole
-
js判断undefined变量类型使用typeof
js判断undefined变量类型直接用 复制代码 代码如下: if(mydata=='undefined'){ alert("未定义"); } 这是个很低级的错误,这么使: 复制代码 代码如下: if(typeof(mydata)=='undefined'){ alert("未定义"); }
-
js 变量类型转换常用函数与代码[比较全]
1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数.前者把值转换成整数,后者把值转换成浮点数.只有对String类型调用这些方法,这两个函数才能正确运行:对其他类型返回的都是NaN(Not a Number). 在判断字符串是否是数字值前,parseInt()和parseFloat()都会仔细分析该字符串.parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字:如果不是,该方法将返回NaN,不再继续执行其他操作.但如果该字符是有效数字,该方法
-
详细分析JavaScript变量类型
变量类型 只有6种 : 四种原始数据类型boolean , number, string , undefine, 其他object,function是对象 typeof,instanceof 直接看实例: var obj = null; console.info(typeof obj); //Object var arr = []; console.info(arr instanceof Object); //true console.info(arr instanceof Array);
-
javascript中对变量类型的判断方法
在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null, Boolean, Number和String:复杂数据类型是Object,Object中还细分了很多具体的类型,比如:Array, Function, Date等等.今天我们就来探讨一下,使用什么方法判断一个出一个变量的类型. 在讲解各种方法之前,我们首先定义出几个测试变量,看看后面的方法究竟能把变量的类型解析成什么样子,以下几个变量差不多包含了我们在实际编码中常用的类型. var
随机推荐
- AngularJs 指令详解及示例代码
- iOS开发中ViewController的页面跳转和弹出模态
- Java读取Properties文件的七种方法的总结
- java Thread 多线程
- SSH框架网上商城项目第29战之使用JsChart技术显示商品销售报表
- .net c# gif动画如何添加图片水印实现思路及代码
- JavaScript基础之流程控制语句的用法
- Bootstrap缩略图与警告框学习使用
- Java实现多线程断点下载实例代码(下载过程中可以暂停)
- 详解数据库语言中的null值
- ASP中实现执行定时任务的方法
- JS实现仿新浪黄色经典滑动门效果代码
- OnSharedPreferenceChangeListener详解及出现不触发解决办法
- Android 重写ViewGroup 分析onMeasure()和onLayout()方法
- 详解如何使用PM2将Node.js的集群变得更加容易
- liunx 时间函数与时间格式与字符串之间的转化方法
- MySQL命令行下18个常用命令
- python实现nao机器人手臂动作控制
- 用python打印1~20的整数实例讲解
- python通过TimedRotatingFileHandler按时间切割日志