Javascript js是否正常工作

Javascript js是否正常工作,javascript,Javascript,我已经做了一个多小时了,不知道有什么问题。。。 代码如下 var webkit = (browsername == (("Safari")||("Chrome")))? true : false; 它应该返回chrome和safari的真实值,而不是InternetExplore、Opera或Firefox 我不明白为什么safari会返回真值,而chrome不会?有什么建议吗 即使我把它改大一点,它仍然这样做 if (browsername == (("Safari")||("Chrome"

我已经做了一个多小时了,不知道有什么问题。。。 代码如下

var webkit = (browsername == (("Safari")||("Chrome")))? true : false;
它应该返回chrome和safari的真实值,而不是InternetExplore、Opera或Firefox 我不明白为什么safari会返回真值,而chrome不会?有什么建议吗

即使我把它改大一点,它仍然这样做

if (browsername == (("Safari")||("Chrome")))
        webkit = true;

我是做错了还是做错了?

是的,你做错了。应该是

var webkit = (browsername == "Safari")||(browsername == "Chrome");

是的,你知道。应该是

var webkit = (browsername == "Safari")||(browsername == "Chrome");

您不能使用
|
那样,您应该使用:

var webkit = (browsername == "Safari" || browsername == "Chrome");


您不能使用
|
那样,您应该使用:

var webkit = (browsername == "Safari" || browsername == "Chrome");

使用此类型

if (browsername == ("Safari")||browsername == ("Chrome"))
    webkit = true;
使用此类型

if (browsername == ("Safari")||browsername == ("Chrome"))
    webkit = true;

是的,我认为您使用了以及=运算符的方式是错误的在JavaScript中,一次只能将一个值与一个不同的值进行比较,因此其工作原理与在口语中的使用不同。尝试:

var webkit = (browsername == "Safari" || browsername == "Chrome") ? true : false;
编辑:感谢Alnitak对冗余三元运算符的提示:

var webkit = browsername == "Safari" || browsername == "Chrome";

是的,我认为您使用了以及=运算符的方式是错误的在JavaScript中,一次只能将一个值与一个不同的值进行比较,因此其工作原理与在口语中的使用不同。尝试:

var webkit = (browsername == "Safari" || browsername == "Chrome") ? true : false;
编辑:感谢Alnitak对冗余三元运算符的提示:

var webkit = browsername == "Safari" || browsername == "Chrome";

您也可以在jquery中尝试以下操作:

    $(document).ready(function () {
        var browser=$.browser.webkit;
    });

对于chrome和safari,它将返回true;对于其他浏览器,它将返回“undefined”

您也可以在jquery中尝试这一点:

    $(document).ready(function () {
        var browser=$.browser.webkit;
    });

对于chrome和safari,它将返回true;对于其他浏览器,它将返回“undefined”

“safari”| |“chrome”==>“safari”,因为
“safari“
确实如此。实际上,为什么需要浏览器检测?PS。建议使用
=
操作符,至少在您不知道差异的情况下。看到它只是为了我正在研究的东西,我并不真的需要它,但将来可能需要它:D
“safari”| |“Chrome”=>“safari”
,因为
“safari”“
确实如此。实际上,为什么需要浏览器检测?PS。建议使用
=
操作符,至少在您不知道差异的情况下。看,这只是为了我正在做的事情,我并不真的需要它,但将来可能需要它:我会在五分钟内:D@ryanc1256不,不,不<代码>谓词?true:false与编写
谓词
一样-三元运算符完全没有必要。我将在五分钟内:D@ryanc1256不,不,不<代码>谓词?true:false与编写
谓词
相同-三元运算符完全没有必要。如果if不起作用,则不会将webkit设置为false。如果if不起作用,则不会将webkit设置为false。实际上,我现在看到您只是在复制OP,但在编辑答案之前,我无法还原向下投票。向下投票回复。但是请在整个表达式周围放上大括号,并使用
===
而不是
=
。事实上,我现在看到你只是在复制OP,但在编辑答案之前,我无法还原向下投票。向下投票已还原。但请在整个表达式周围加上大括号,并使用
==
而不是
=