Javascript 如何在chrome中拆分字符串以返回数组?

Javascript 如何在chrome中拆分字符串以返回数组?,javascript,google-chrome,Javascript,Google Chrome,我在chrome中有奇怪的行为,(ff&ie作品:) 注意: function doSomething(){ var status = "completed,please fix,qualified,cancel".split(','); $('.searchControls .status').html(status.join(',')); } 未捕获类型错误:对象已完成,请修复,符合条件,取消没有方法“加入” 我怎样才能解决这个问题?我做错什么了吗?这似乎是一个名称冲突的案

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

注意:

 function doSomething(){
   var status = "completed,please fix,qualified,cancel".split(',');
   $('.searchControls .status').html(status.join(','));
 }
未捕获类型错误:对象已完成,请修复,符合条件,取消没有方法“加入”


我怎样才能解决这个问题?我做错什么了吗?

这似乎是一个名称冲突的案例。有一个
窗口。status
属性将所有内容转换为字符串。注意:

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

解决方案:选择另一个名称<例如,code>my_status。

我认为window.status是一个保留字,因此会导致错误。要么将“status”变量的作用域包装为“window”以外的内容,要么尝试重命名该变量,例如

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

…它是有效的。

参数
1
有什么用?第二个参数
.html
在那里做什么?(虽然不是错误的来源)
split(‘,’)
然后
join(‘,’)
?它在chrome上也起作用,您还应该知道收到错误的原因。检查@Sergio Tulentsev的答案,它解释了一个很大的原因?以及它的解决方案。+1表示精确给定的跟踪/步骤,以复制错误,然后是解决方案。这也是在函数中定义的。我认为这可能会产生冲突