JavaScript初学者,如果某个变量不匹配,可以执行某些操作

JavaScript初学者,如果某个变量不匹配,可以执行某些操作,javascript,Javascript,基本上,我要做的是编写一个greasemonkey脚本,这样,如果页面上的链接不是我在忽略列表中的链接,只需打开该链接,如果它在列表中,则在5秒钟后重新加载页面。这是我迄今为止尝试的 var url1 = $("span.capsulelink a:eq(0) ").attr("href"); var ignoreList = ["example1.com","example2.com"] if (url1 !== ignoreList) { window.open(url1); }

基本上,我要做的是编写一个greasemonkey脚本,这样,如果页面上的链接不是我在忽略列表中的链接,只需打开该链接,如果它在列表中,则在5秒钟后重新加载页面。这是我迄今为止尝试的

var url1 =  $("span.capsulelink a:eq(0) ").attr("href");
var ignoreList = ["example1.com","example2.com"]
if (url1 !== ignoreList) {
    window.open(url1);
} else {
    setTimeout(function() {
        location.reload();  
    },5000);
}

我知道这是(
url1!==ignoreList
)部分我遇到了麻烦,我就是找不到合适的表达式。就像我不知道如何判断
url1
是否不在
ignoreList
{do something}上一样。

这是一个好问题,因为答案确实不直观

当您开始学习
javascript
时,一些语法模式开始变得熟悉起来

但是与PHP的javascript等价

if (!in_array([ARRAY]));
根本不明显——这是一种你只需要知道的语法

以下是您要查找的
javascript

if (ignoreList.indexOf(url1) !== -1) {

[RELOAD PAGE CODE HERE]

}

else {

[OPEN THE LINK CODE HERE]

}
以下是它工作的原因:

ignoreList.indexOf([VALUE])
查看
ignoreList
数组并搜索数组的项

如果其中一项为
[VALUE]
,则返回该项的索引

重要的是,如果没有任何项是
[VALUE]
,则返回
-1

因此,为了确定至少有一个项目是
[VALUE]
,您必须验证返回的索引肯定不是
-1

因此,您需要检查的条件是:

if (ignoreList.indexOf(url1) !== -1)

这是一个好问题,因为答案并不直观

当您开始学习
javascript
时,一些语法模式开始变得熟悉起来

但是与PHP的javascript等价

if (!in_array([ARRAY]));
根本不明显——这是一种你只需要知道的语法

以下是您要查找的
javascript

if (ignoreList.indexOf(url1) !== -1) {

[RELOAD PAGE CODE HERE]

}

else {

[OPEN THE LINK CODE HERE]

}
以下是它工作的原因:

ignoreList.indexOf([VALUE])
查看
ignoreList
数组并搜索数组的项

如果其中一项为
[VALUE]
,则返回该项的索引

重要的是,如果没有任何项是
[VALUE]
,则返回
-1

因此,为了确定至少有一个项目是
[VALUE]
,您必须验证返回的索引肯定不是
-1

因此,您需要检查的条件是:

if (ignoreList.indexOf(url1) !== -1)
ignoreList.indexOf(url1)!=-1

这是另一种表示“是否
url
包含在
ignoreList
数组中?”

这是因为
Array
indexOf()
方法返回要查找的元素的索引,如果元素不存在,则返回
-1

要否定这一点,这正是你想要做的,你可以写:

ignoreList.indexOf(url1)=-1

(即,
url1
不在
ignoreList
?)

ignoreList.indexOf(url1)!=-1

这是另一种表示“是否
url
包含在
ignoreList
数组中?”

这是因为
Array
indexOf()
方法返回要查找的元素的索引,如果元素不存在,则返回
-1

要否定这一点,这正是你想要做的,你可以写:

ignoreList.indexOf(url1)=-1


(即
url1
不在
ignoreList
?)

第一课:Java不是Javascript第二课:当您应该将字符串与数组的内容进行比较时,您直接将字符串(
url1
)与数组(
ignoreList
)进行比较。对不起,谢谢你编辑这篇文章来反映这一点。这看起来像是基本的JS和一点jQuery。greasemonkey和tampermonkey标签是必要的吗?这就是我写脚本要用到的,我不知道这不重要。抱歉,我将删除它们第一课:Java不是JavaScriptSecond:当您应该将字符串与数组的内容进行比较时,您正在直接将字符串(
url1
)与数组(
ignoreList
)进行比较。对不起,谢谢您编辑文章来反映这一点。这看起来像是基本的JS和一点jQuery。greasemonkey和tampermonkey标签是必要的吗?这就是我写脚本要用到的,我不知道这不重要。对不起,我将删除它们或
~indexOf(url1)
这在技术上是正确的,但是对于初学者来说,按位操作并不直观。或者
~ignoreList.indexOf(url1)
这在技术上是正确的,但是对于初学者来说,按位操作并不直观。谢谢你的帮助,就像我说的那样,我对这东西非常熟悉,并且尝试自己学习。这就是我最终得到的If(ignoreList.indexOf(url1)=-1){setTimeout(function(){location.reload();},5000)}else{window.open(url1);}谢谢你的帮助,就像我说的,我对这些东西很新,正在尝试自己学习。这就是我最后得到的if(ignoreList.indexOf(url1)=-1){setTimeout(function(){location.reload();},5000);}else{window.open(url1);}