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(
相关文档:
//Register NameSpace for window.MSN
if(!window.MSN)
{
window.MSN = {};
}
if(!window.MSN.SET)
{
window.MSN.SET = {};
}
if(!window.MSN.SET.Utilities)
{
window.MSN.Utilities = {};
}
//Check you borwse type
//IE7 &IE8 & FF et ......
JavaScript 未结束的字符串常量
做JavaScript的时候,发现老是出现错误:“未结束的字符串常量”.
自己找了下应该是传参数的时候,有特殊字符引起的.
网上也找了下,也有好多出现这种情况.做下总结,以方便以后查阅.
1.JAVASCRIPT引用时,使用的字符语言不一致.
比如:<script type=”text/javascrip ......
推荐兼容 IE、 FireFox 的 javascript 日历控件
原创作者:寒羽枫(cityhunter172)
一、简介与声明
此日历控件是 CSDN 网友 KimSoft 的作品:http://blog.csdn.net/kimsoft/archive/2006/05/24/753225.aspx 。界面清爽,纯 ......
注意:最好不要使用isNaN()方法,因为如果一个字符是空格的情况下,它也会把它当成数字.你必须处理空格的问题了.
呵呵,其实处理空格的问题也不难,更简单的方法处理数字问题如下:
-------------
function isNumber(str){
var mynumber="0123456789";
for(var i=0;i<str.len ......