gpt4 book ai didi

javascript - 对理解 javascript split 有一点帮助

转载 作者:行者123 更新时间:2023-12-03 12:30:59 25 4
gpt4 key购买 nike

我基本上是在尝试调试一些 JavaScript,但我并不真正理解它。

这是代码

if(a&&0<=a.indexOf("://")&&a.split("/")[2]!=f.location.href.split("/")[2])

这是值

a= "/cc/subs/TOS-turkish.srt"

f.location - "http://192.168.55.108:5555/cc/mypage.html"

这可能是他们到底应该如何匹配的情况。我现在真的很困惑。

谢谢。

最佳答案

调用split将内容分割成一个数组。调用split("/")"http://192.168.55.108:5555/cc/mypage.html"会给你:

["http:", "", "192.168.55.108:5555", "cc", "mypage.html"]

[2]其索引是 "192.168.55.108:5555" .

什么是if语句的作用是检查它们是否匹配:

a.split("/")[2] != f.location.href.split("/")[2]
^

这部分if如果 a.split("/")[2] 则语句将成功不等于"192.168.55.108:5555" .

调用split("/")"/cc/subs/TOS-turkish.srt"会给你:

["", "cc", "subs", "TOS-turkish.srt"]

因此这部分if语句将成功,如 "subs" (上述数组的 [2] 索引)不等于 "192.168.55.108:5555" .

但是if语句将在此之前失败,如 a没有"://" ,所以a.indexOf("://")返回-10不小于或等于-1 .

<小时/>

彻底分解你的if声明:

   a                         // true: a = "/cc/subs/TOS-turkish.srt"
&& 0 <= a.indexOf("://") // false: 0 is greater than -1
&& ...[2] != ...[2] // true: "subs" isn't equal to "192.168.55.108:5555"

由于它返回 false0 <= a.indexOf("://") ,无论如何它永远不会到达最后一部分。

关于javascript - 对理解 javascript split 有一点帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23934310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com