javascript - 需要帮助解释 javascript 正则表达式

标签 javascript hash

我刚刚发现这段代码片段与过滤哈希标签有关,但我不明白它试图做什么,而且我也不确定要用谷歌搜索什么。

感谢您的提醒...

var index = 0;
var hash = window.location.hash; //store the entered hash value eg, #02

if (hash) {
    index = /\d+/.exec(hash)[0];
    index = (parseInt(index) || 1) - 1;
}

最佳答案

  • if (hash) {:如果hash不是undefined这样的垃圾值, null 或空字符串。
  • index =/\d+/.exec(hash)[0]:查找哈希中的第一个数字,例如 #432 中的第一个数字是 432 (注意返回值是字符串).
  • index = (parseInt(index) || 1) - 1:尝试将 index 转换为数字,如果成功并且结果数字不是 0 然后从返回值中减去 1,否则返回 1 然后从中减去 1 从而得到我们 0,这里的主要思想是我们似乎正在尝试获取数组的索引,因此索引不能小于 0

关于javascript - 需要帮助解释 javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19816656/

相关文章:

perl - 在 Perl 中打印哈希值

javascript - 无法在 selenium webdriver 中写入 Excel 工作表

javascript - Angular1/JavaScript - 改进算法条件

javascript - JS中的时差结果错误

symfony - 在symfony中没有用户实例的哈希用户密码

Javascript Sha256 与 PHP Sha256 : Line breaks create different hash?

javascript - 闭包是否使整个执行上下文保持事件状态?

javascript - 输入聚焦时在 iOS(和所有移动设备)上自定义滚动

ruby - 在 ruby​​ 哈希中交换 key

java - PHP 和 Java 中的 SHA256