如何在chrome中将字符串拆分为返回数组?

时间:2013-09-30 10:00:56

标签: javascript google-chrome

我在chrome中有奇怪的行为,(ff& ie works :))

观察:

 function doSomething(){
   var status = "completed,please fix,qualified,cancel".split(',');
   $('.searchControls .status').html(status.join(','));
 }

未捕获TypeError:对象已完成,请修复,合格,取消没有方法'加入'

我该如何解决这个问题?我做错了吗?

2 个答案:

答案 0 :(得分:2)

似乎是一个名字冲突的案例。有一个window.status属性可以将所有内容转换为字符串。观察:

> window.status
 => ""
> var status = 1
 => undefined
> window.status
 => "1"
> var status = ['completed', 'cancel']
 => undefined
> window.status
 => "completed,cancel"

解决方案:选择其他名称。例如my_status

答案 1 :(得分:0)

我认为window.status是一个保留字,因此会导致错误。将“status”变量的范围包装到“window”以外的其他位置或尝试重命名变量,例如。

var myStatus = "completed,please fix,qualified,cancel".split(',');
 $('.searchControls .status').html(myStatus.join(','),  1);

......它有效。