为什么这部分会返回结果:
var s = "foo";
alert(s.indexOf("oo") > -1);
但这部分不是:
var currentLocation = window.location;
alert(currentLocation.indexOf(".") > -1);
答案 0 :(得分:2)
因为window.locaton
不是字符串。它是several properties的对象。
您可以检查window.location.href
以获取整个网址(保证包含点),或只检查window.location.pathname
的路径(位于域之后)。
答案 1 :(得分:0)
window.location.toString()
var currentLocation = window.location.toString();
alert(currentLocation.indexOf("."));
<强> DEMO 强>
查看所有属性
showLoc();
function showLoc() {
var oLocation = window.location, aLog = ["Property (Typeof): Value", "window.location (" + (typeof oLocation) + "): " + oLocation ];
for (var sProp in oLocation){
aLog.push(sProp + " (" + (typeof oLocation[sProp]) + "): " + (oLocation[sProp] || "n/a"));
}
alert(aLog.join("\n"));
}
<强> DEMO 强>