我有以下代码片段:
return (AllowableCharacters.indexOf(String.fromCharCode(k)) != -1);
现在,我不太明白这个脚本中 -1 的用法。
脚本的读取方式如下:
first String.fromCharCode(k) != -1
被执行(k 是关键代码,我是从其他脚本动态获取的)。
然后我从 AllowableCharacters 获得 indexof(String.fromCharCode(k) != -1)。
这是一个类似这样的字符串:
AllowableCharacters = "abc" ;
我也明白,如果 indexof 在上面的字符串中找不到值,它会返回 -1。
然而,回到我的问题,为什么 -1 在脚本中?
编辑 ::
为了使我的问题更简单,您将如何阅读以下行:
String.fromCharCode(k))!=-1
用简单的英语。
编辑 2::
好的,所以我只是阅读了 guffa 的答案并制作了一个随机脚本来检查,脚本如下:
var store = "abcdefgpS";
function check_index(){
console.log(store.indexOf(String.fromCharCode(83)));
};
在上面的函数中 !-1 被排除在外,所以在 console.log 中,如果找到匹配项,我们将获得找到该字符的 indexOf ,如果未找到匹配项,我们将获得 -1 。
现在,这不是我们想要的,我们想要的是“告诉我值是否存在”(返回 true)或“告诉我值是否不存在”(返回 false)。
所以我们要做的就是将上面的脚本更改为:
var store = "abcdefgpS";
function check_index(){
console.log(store.indexOf(String.fromCharCode(83)) !-1);
};
其中,给出你的真值或假值。
现在如何:
返回 (store.indexOf(String.fromCharCode(83)) !-1)
读作:
if (store.indexOf(String.fromCharCode(83)) !-1){
return true;
}else { return false; }
我没有看到 if 语句。
return (store.indexOf(String.fromCharCode(83)) !-1);
谢谢,
亚历山大