indexOf不起作用

5
var myurl = window.location;
    var pos = myurl.IndexOf("memberId");
    if (pos = -1) {
        alert("false");
    } else {
        alert("true");
     }

由于某些原因,我似乎无法使这个简单的方法起作用。Chrome浏览器显示“myurl不包含indexOf方法”。有什么原因吗?


3
if (pos = -1) 应该改为 if (pos == -1),这样才符合语法。 - Razor
2
window.location 是一个对象。对象不拥有 indexOf 方法。即使你在那里打错了,它也无法工作。 - jAndy
4个回答

9
也许是打错了,但应该是:
myurl.indexOf

小写字母 i

location 是一个对象,因此您需要:

var myurl = window.location.href;

(以及人们在评论和其他答案中说的所有其他事情 ;))

更新:要查看一个对象具有什么属性,只需在控制台中输入,例如:window.location

Chrome console


3

window.location返回的是一个对象。也许你想要的是window.location.pathname? :-)

这一行也有问题:

if (pos = -1)

我应该这样做

if (pos == -1)

1

尝试 var myurl = window.location.pathname;


0
var myurl = window.location.toString();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接