我正在尝试获取JS中当前页面的名称,并检查该名称是否与常量匹配。如果是,我想触发警报。我能够得到页面的名称,但if语句中有问题,我不确定它是什么。
package co.farel.server.services.test;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import co.farel.server.services.test.config.WebConfig;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={WebConfig.class})
public class ExampleTest {
@Test
public void test() {
assertEquals(true, true);
}
}
答案 0 :(得分:1)
在你的if语句中,你只使用一个=。这不是比较器,您可以使用==来检查两个变量是否相等
<script language="JavaScript">
var sPath=window.location.pathname;
var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
var sHost = 'host.html' ;
if(spage == sHost){
alert('orange');
}
</script>
希望它有所帮助:)
答案 1 :(得分:1)
如果语句比较运算符应为==或更好===
if(spage == sHost){
alert('orange');
}
或
if(spage === sHost){
alert('orange');
}
严格相等运算符===只考虑具有相同类型的相等值。
lenient等于运算符==在比较严格相等之前尝试转换不同类型的值。
严格等于=== 比较两个值。具有不同类型的值永远不会相等。如果两个值具有相同的类型,则以下断言成立。
undefined === undefined
null === null
两个(原始)数字:
NaN !== _ // any value including NaN
x === x
+0 === -0
任何数字x。因此,在JavaScript中,等式不是反身,因为NaN不等于它自己。
两个布尔,两个字符串(原始):显而易见的结果 两个对象(包括数组和函数):x === y仅当x和y是同一个对象(!)时。也就是说,如果你想比较不同的对象,你必须手动完成。
等于== 基本上比较两个值。如果两个值具有相同的类型,则与==进行比较:
undefined == null
如果您有一个数字,一个字符串:将字符串转换为数字
布尔值和非布尔值:将布尔值转换为数字,然后执行比较。
将字符串或数字与对象进行比较:尝试将对象转换为基元,然后进行比较。