gpt4 book ai didi

javascript - 这个javascript函数有什么作用?

转载 作者:搜寻专家 更新时间:2023-11-01 04:48:24 25 4
gpt4 key购买 nike

var n = {
Android: /Android/i.test(navigator.userAgent),
Safari: /iPhone|iPad|iPod/i.test(navigator.userAgent) && !/CriOS|Chrome|Mercury/.test(navigator.userAgent)
};

我对/Android/i.test() 函数很好奇。如果这是另一个文件中的函数?我猜这不是因为下一个函数/iPhone|iPad|iPod/i.test() 更加令人好奇。它是对“Android”字符串的字符串比较吗?谁能给我提供一些文件?

最佳答案

这是对正则表达式/Android/i的方法调用。

/Android/i 部分代表一个 regular expression或“正则表达式”,用于对字符串进行模式匹配。

正则表达式有一个名为test 的方法,如果匹配则返回true。您可以将上面的代码重写为:

androidRegex = /Android/i;
safariRegex = /iPhone|iPad|iPod/i;
criOsregex = /CriOS|Chrome|Mercury/;
var n = {
Android: androidRegex.test(navigator.userAgent),
Safari: safariRegex.test(navigator.userAgent) && !criOsregex.test(navigator.userAgent)
};

在 Javascript 中声明正则表达式的语法是 /pattern/flags,其中 pattern 是要比较的模式,flags是附加选项。

Android 非常简单:它只是与字符串 Android 进行比较,并使用标志 i 使其不区分大小写。

Safari 稍微复杂一些,因为它使用“交替”来匹配iPhoneiPadiPod| 字符分隔正则表达式中的交替。

值得注意的是,CriOS 正则表达式省略了 i 标志,因为作者希望它区分大小写(默认设置)。

关于javascript - 这个javascript函数有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34722423/

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