Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么是stristr函数?_Javascript - Fatal编程技术网

Javascript 什么是stristr函数?

Javascript 什么是stristr函数?,javascript,Javascript,我一直在到处搜索,似乎无法理解这个函数。我将我的javascript代码发布在代码审查上,有人为我编辑了代码,我只是想从中学习 这是我不理解的部分,它是一个函数,但是这个函数在脚本中的任何地方都没有被调用,我认为所有函数都必须被调用。我只想一步一步地理解这段代码。也许有人能给我举个例子,说明如何使用它,以及在脚本中的什么地方调用它 function stristr (haystack, needle) { var pos = 0 haystack += '' po

我一直在到处搜索,似乎无法理解这个函数。我将我的javascript代码发布在代码审查上,有人为我编辑了代码,我只是想从中学习

这是我不理解的部分,它是一个函数,但是这个函数在脚本中的任何地方都没有被调用,我认为所有函数都必须被调用。我只想一步一步地理解这段代码。也许有人能给我举个例子,说明如何使用它,以及在脚本中的什么地方调用它

function stristr (haystack, needle) { 
    var pos = 0 
    haystack += '' 

    pos = haystack.toLowerCase().indexOf((needle + '').toLowerCase()) 
    if (pos >= 0) return haystack.substr(0, pos) 
} 

第1行:fcn声明

第2行:将pos变量定义为0

第3行:或多或少类型转换为字符串

第5行:将位置设置为字符串中由指针表示的字符的位置


第6行:如果指针存在于干草堆中,则返回指针之前的整个字符串。

从中,您可以看到函数的php版本“返回所有干草堆,从指针的第一次出现开始,包括针的第一次出现到结尾”。这意味着给定字符串(或haystack)'thisisthehaystack'和我们正在搜索的术语(指针)'the',stristr函数将返回字符串'thehaystack'。您发布的函数与此类似,它在草堆中搜索针,但随后返回从第一个字符开始并在找到针的点或“thisis”结束的子字符串。

否,不必调用所有函数。就像不是字典里的所有单词都必须使用一样。该函数是PHP()中一个函数的复制。只有在haystack中后跟空格的情况下才能找到指针,因此在@ryanbwork给出的示例中,搜索“thisisthehaystack”中的“The”将失败。搜索“this is the haystack”中的“the”将返回字符串“this is”。事实上,现在我看到它,针+”并没有添加空格,可能只是将针作为一根字符串投射。公平地说,你的视力比我的好。