javascript判断变量类型的自定义函数
通常用typeof来判断js变量的类型,但很多时候仅仅typeof满足不了要求的。
我写了一个自定义函数来做这个事,判断的比较全面了。
New
function
varType(v){
if
(
typeof
v===
"object"
){
if
(v===
null
)
return
'null'
;
if
(v.
constructor
)
return
(v.
constructor
.toString()).match(/(?:
)[\w\$]+/)[
0
];
if
(
typeof
typeof2===
'undefined'
&&
window
.execScript){
window
.execScript(
'Function vbsTypeName(o):vbsTypeName=TypeName(o):End
Function'
,
'vbscript'
);
window
.execScript(
'function typeof2(o){return vbsTypeName(o)}'
,
'jscript'
);
}
if
(
typeof
typeof2!==
'undefined'
){
return
typeof2(v);
}
return
"object"
;
}
return typeof
v;
}
//对于普通js常量和js对象,各浏览器是基本一致的
alert
(varType());
//undefined
alert
(varType(
100
));
//number
alert
(varType({}));
//Object
alert
(varType([]));
//Array
alert
(varType(/ /));
//RegExp
alert
(varType(
new
Date
()));
//Date
alert
(varType(
Date
));
//function
alert
(varType(
Object
));
//function
alert
(varType(
RegExp
));
//function
//对于DOM对象,各浏览器可能会有不同值
alert
(varType(
window
));
//IE:HTMLWindow2 FF:Window
alert
(varType(
document
));
//IE:HTMLDocument FF:HTMLDocument
alert
(varType(
document
.body));
//IE:HTMLBody FF:HTMLBodyElement
alert
(varType(
Option
));
//IE:Object FF:function
alert
(varType(
Image
));
//IE:Object FF:function
alert
(varType(
navigator
));
//IE:DispHTMLNavigator FF:Navigator
//以下几个只适用于IE,其他内核浏览器不支持
alert
(varType(
ActiveXObject
));
//IE:function
alert
(varType(
相关文档:
Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就 ......
JavaScript 未结束的字符串常量
做JavaScript的时候,发现老是出现错误:“未结束的字符串常量”.
自己找了下应该是传参数的时候,有特殊字符引起的.
网上也找了下,也有好多出现这种情况.做下总结,以方便以后查阅.
1.JAVASCRIPT引用时,使用的字符语言不一致.
比如:<script type=”text/javascrip ......
JavaScript 未结束的字符串常量
做JavaScript的时候,发现老是出现错误:“未结束的字符串常量”.
自己找了下应该是传参数的时候,有特殊字符引起的.
网上也找了下,也有好多出现这种情况.做下总结,以方便以后查阅.
1.JAVASCRIPT引用时,使用的字符语言不一致.
比如:<script type=”text/javascrip ......
/**
* 自己的 HashTable
* 愿脚本神力与你同在
*/
function HashTable(){
var values = {};
/** 将值插入 HashTable 中 **/
this.put = function(key, value){
if(key in values){
return false;
}
values[key] = value;
}
/** 根据 key 返回 value **/
this.find = function(key){
ret ......