麻烦大家帮我看看下面的代码有什么问题?

function data(obj){

if((obj.indexOf("全院")==0 )&& ("全院".indexOf(obj) == 0)){

alert("haha");

}else{

alert("xixi");

}

}

当obj为内科或者全院时,都是打印xixi。这是为什么?我应该怎么修改?

你可以尝试一下把obj.indexOf("全院")和"全院".indexOf(obj)的结果数出来看看,这样比较容易看出问题所在

if(obj.indexOf("全院")!=-1 ){

obj是什么类型的?

function data(obj){

if((obj.indexOf("全院")==0 )&& ("全院".indexOf(obj) == 0)){

alert("haha");

}else{

alert("xixi");

}

}
undefined
data("全院"); 此处结果为 haha;
undefined
data("dd"); 此处结果为 xixi;
你确定你的obj的值有一个"全院"?

我测试过,没有问题,是不是obj变量范围搞错了,有全局变量obj。

应该是&&和||的问题吧?

谢谢大家的帮助,问题已经发现了,是中文传值乱码问题。把编码改成utf-8就行了。