CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

请问在javascript里怎么识别一个变量是数组还是字符串?

楼主yuanhang03(远航)2004-11-03 22:16:26 在 .NET技术 / ASP.NET 提问

请问在javascript里怎么识别一个变量是数组还是字符串? 问题点数:100、回复次数:8Top

1 楼yuanhang03(远航)回复于 2004-11-03 22:19:56 得分 0

先判断这个变量是不是一个对象,如果是对象,才有可能是数组。  
  然后判断变量的构造器。  
   
  记不太清了,如果构造器是Array则是数组,如果是String则是字符串。Top

2 楼net_lover(【孟子E章】)回复于 2004-11-03 22:24:42 得分 5

<script>  
      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>Top

3 楼saucer(思归)回复于 2004-11-03 22:25:09 得分 0

if   (x.length   !=   null)  
    alert("array");  
  else  
    alert("not   array");Top

4 楼xiahouwen(武眉博<活靶子.NET>)回复于 2004-11-03 22:28:46 得分 5

saucer的方法  
  我试了一下   string和array的length都不是null都有值啊  
   
  比如  
  <script   language="javascript">  
  var   a=String("ssssssssssssssss");  
  var   b=   new   Array("x","x");  
  alert(a.length);  
  alert(b.length);  
  </script>  
   
  孟子的方法可以Top

5 楼net_lover(【孟子E章】)回复于 2004-11-03 22:29:18 得分 8

<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>Top

6 楼saucer(思归)回复于 2004-11-03 22:37:56 得分 2

yes,   sorry,   my   method   is   too   crude,   net_lover's   solution   is   better  
   
  if   (y.length   !=   null   &&   typeof(y)=="object")  
    alert("array");  
  else  
    alert("not   array");  
   
  then,   this   doesn't   exclude   y   is   an   object   and   has   a   length   propertyTop

7 楼xiahouwen(武眉博<活靶子.NET>)回复于 2004-11-04 08:56:25 得分 0

经测试  
  <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>  
   
  仍然有问题的,  
  请问   这两种声明字符串的方法有何不同啊?Top

8 楼runAndRun(路漫漫)回复于 2004-11-04 09:02:55 得分 80

function   isArray()    
  {  
  if   (typeof   arguments[0]   ==   'object')    
  {      
  var   criterion   =   arguments[0].constructor.toString().match(/array/i);  
  return   (criterion   !=   null);      
  }  
  return   false;  
  }  
   
  这是一行之有效的方法,我试过了:)  
  Top

相关问题

  • 字符串变量能组成数组吗?具体怎么做??
  • 如何实现将表单内容存进一个字符串数组变量?
  • 如何实现将表单内容存进一个字符串数组变量?
  • 怎样用JavaScript数组的sort方法对中文字符串数组排序?
  • javascript里,把字符串分解为数组的函数是什么?或者是替换字符串函数?
  • 字符串指针数组
  • 请教:字符串数组
  • 字符串数组处理
  • 字符串数组赋值
  • 字符串数组比较

关键词

  • null
  • 数组
  • 字符串
  • 变量
  • 请问
  • array
  • 方法
  • alert
  • length
  • object

得分解答快速导航

  • 帖主:yuanhang03
  • net_lover
  • xiahouwen
  • net_lover
  • saucer
  • runAndRun

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo