Javascript 如何在chrome中拆分字符串以返回数组?
我在chrome中有奇怪的行为,(ff&ie作品:) 注意: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(',')); } 未捕获类型错误:对象已完成,请修复,符合条件,取消没有方法“加入” 我怎样才能解决这个问题?我做错什么了吗?这似乎是一个名称冲突的案
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表示精确给定的跟踪/步骤,以复制错误,然后是解决方案。这也是在函数中定义的。我认为这可能会产生冲突