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(
相关文档:
用Javascript获取页面元素的位置
阮一峰 发表于 2009年09月14日
|
分类:首页
-> 档案
-> IT技术
制
作网页的过程中,你有时候需要知道某个元素在网页上的确切位置。
下面的教程总结了Javascript在网页定位方面的相关知识。
一、网页的绝对大 ......
JavaScript 未结束的字符串常量
做JavaScript的时候,发现老是出现错误:“未结束的字符串常量”.
自己找了下应该是传参数的时候,有特殊字符引起的.
网上也找了下,也有好多出现这种情况.做下总结,以方便以后查阅.
1.JAVASCRIPT引用时,使用的字符语言不一致.
比如:<script type=”text/javascrip ......
很多人都用过AJAX控件吧,AJAX控件不需要刷新页面就可以到后台去读出数据到客户端.AJAX控件除了有很炫的特效外,其要功能就是不需要刷新整个页面就可以取得用户所需要的数据,我把这一块的的功能封装成一个类,方便日后可以重复使用,代码如下:
//Ajax Request Class Start
functio ......
在ajax没出来之前,一直是用iframe实现的无刷新请求。
主要的原理是:
使用js创建一个隐藏的iframe
把要提交的表单的target属性指向1中生成的iframe
在请求的页面中回调父页面的方法
这样就实现了一个简单的“异步提交”
看起来和ajax一样的效果,那为什么还要有ajax,我们来比较下:(以下把ajax技术称为X ......