请问在javascript里怎么识别一个变量是数组还是字符串?
解决方案 »
- 如何获取访问本网站图片的人的IP地址?
- gridview多行更新问题
- 怎么解决,,GridView表头问题(当窗口不在最大化状态时--有垂直滚动条,Gridview表头会跟随鼠标的移动而移动)。。。。。
- 页面大量数据处理
- javascript向后台传值的问题
- access 2007的查询地方在哪里啊!谢谢了
- 为什么我的简单在线人数统计只增不减?
- 求大神指点。。。。。修改信息的问题
- 如何使dropdownlist可选择,可用户自己输入,我从网上下载的ComboBox控件不能用?小女子困惑很久,请高手指教!
- GridView控件排序问题
- 打算制作一个自定义Repeater控件,不得要领,请教!
- 用vs.net怎样将连接数据库的代码放在一个地方每页能够调用?
然后判断变量的构造器。记不太清了,如果构造器是Array则是数组,如果是String则是字符串。
function isArray (object) {
if (!window.Array)
return false;
else
return object.constructor == window.Array;
}
var a = new Array();
var b = String("ssssssssssssssss");
alert(isArray(a))
alert(isArray(b))
</script>
alert("array");
else
alert("not array");
我试了一下 string和array的length都不是null都有值啊比如
<script language="javascript">
var a=String("ssssssssssssssss");
var b= new Array("x","x");
alert(a.length);
alert(b.length);
</script>孟子的方法可以
function isArray (object) {
if (!window.Array)
return false;
else
return object.constructor == window.Array;
}
function isString (object) {
if (!window.String)
return false;
else
return object.constructor == window.String;
}
var a = new Array();
var b = String("ssssssssssssssss");
var c = "ssssssssssssssss";
alert(isArray(a))
alert(isArray(b))
alert(isArray(c))
alert(isString(a))
alert(isString(b))
alert(isString(c))</script>
alert("array");
else
alert("not array");then, this doesn't exclude y is an object and has a length property
<script>
// var y="xxxx"; //测试1 这样就可以正确验证,
var y= new String("xxxxx");//测试2 这样就不正确了if (y.length != null && typeof(y)=="object")
alert("array");
else
alert("not array");
</script>仍然有问题的,
请问 这两种声明字符串的方法有何不同啊?
{
if (typeof arguments[0] == 'object')
{
var criterion = arguments[0].constructor.toString().match(/array/i);
return (criterion != null);
}
return false;
}这是一行之有效的方法,我试过了:)