String.fromCharCode(k) 中 -1 的用途
Purpose of -1 in String.fromCharCode(k)
我有以下代码片段:
return (AllowableCharacters.indexOf(String.fromCharCode(k)) != -1);
现在,我不太明白 -1 在此脚本中的用法。
脚本读取方式如下:
first String.fromCharCode(k) != -1
被执行(k 是一个关键代码,我是从其他脚本动态获取的)。
然后我从 AllowableCharacters 得到 indexof(String.fromCharCode(k) != -1)。
这是一个像这样的字符串:
AllowableCharacters = "abc" ;
我也明白如果indexof在上面的字符串中找不到值它return -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 .
现在, 现在这不是我们想要的,我们想要的是 "tell me if the value is there"(return true) 或 "tell me if the value is not there"(return假)。
所以我们要做的是将上面的脚本更改为:
var store = "abcdefgpS";
function check_index(){
console.log(store.indexOf(String.fromCharCode(83)) !-1);
};
它给出了你的真值或假值。
现在怎么样:
return (store.indexOf(String.fromCharCode(83)) !-1)
读作:
if (store.indexOf(String.fromCharCode(83)) !-1){
return true;
}else { return false; }
我没有在 .
return (store.indexOf(String.fromCharCode(83)) !-1);
谢谢,
亚历山大
这是一个验证字符是否被允许的条件。它将return一个boolean
(比较的结果)。
让我们分解一下。
- 首先,我们使用
String.fromCharCode
从字符代码中获取字符串。大概我们已经从某种输入事件中收到了这个。
- 接下来,我们使用
indexOf
. 在 AllowableCharacters
中获取此结果单字符字符串的索引
- 最后,我们测试该结果是否为
-1
。测试的计算结果为 boolean
值,它可以像任何其他值一样从函数中得到 returned。值为-1
表示不允许使用该字符,所以我们使用!=
来判断该字符是否有效。
你搞错了执行顺序。
首先计算这个表达式:String.fromCharCode(k)
.
让我们假设结果是字符串 "b"
。即在表达式中使用:AllowableCharacters.indexOf("b")
.
假设在字符串的第二个字符处找到字符,索引为 1,因此结果为 1
。在表达式 1 != -1
.
中使用
由于1
不等于-1
,返回结果true
。
简而言之,将 -1
与 indexOf
方法的结果进行比较,就像 returns -1
方法没有找到任何结果。
是比较运算符 !=
导致值为 true
或 false
。它比较值,结果取决于它们是否相等。不需要 if
语句将结果变成 true
或 false
,那已经是比较表达式的值。
有时您会看到如下代码:
if (AllowableCharacters.indexOf(String.fromCharCode(k)) != -1) {
return true;
} else {
return false;
}
if
语句在这种情况下是多余的。 if
语句中的表达式已经是true
或false
,所以可以直接返回:
return AllowableCharacters.indexOf(String.fromCharCode(k)) != -1;
我有以下代码片段:
return (AllowableCharacters.indexOf(String.fromCharCode(k)) != -1);
现在,我不太明白 -1 在此脚本中的用法。
脚本读取方式如下:
first String.fromCharCode(k) != -1
被执行(k 是一个关键代码,我是从其他脚本动态获取的)。
然后我从 AllowableCharacters 得到 indexof(String.fromCharCode(k) != -1)。
这是一个像这样的字符串:
AllowableCharacters = "abc" ;
我也明白如果indexof在上面的字符串中找不到值它return -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 .
现在, 现在这不是我们想要的,我们想要的是 "tell me if the value is there"(return true) 或 "tell me if the value is not there"(return假)。
所以我们要做的是将上面的脚本更改为:
var store = "abcdefgpS";
function check_index(){
console.log(store.indexOf(String.fromCharCode(83)) !-1);
};
它给出了你的真值或假值。
现在怎么样:
return (store.indexOf(String.fromCharCode(83)) !-1)
读作:
if (store.indexOf(String.fromCharCode(83)) !-1){
return true;
}else { return false; }
我没有在 .
return (store.indexOf(String.fromCharCode(83)) !-1);
谢谢,
亚历山大
这是一个验证字符是否被允许的条件。它将return一个boolean
(比较的结果)。
让我们分解一下。
- 首先,我们使用
String.fromCharCode
从字符代码中获取字符串。大概我们已经从某种输入事件中收到了这个。 - 接下来,我们使用
indexOf
. 在 - 最后,我们测试该结果是否为
-1
。测试的计算结果为boolean
值,它可以像任何其他值一样从函数中得到 returned。值为-1
表示不允许使用该字符,所以我们使用!=
来判断该字符是否有效。
AllowableCharacters
中获取此结果单字符字符串的索引
你搞错了执行顺序。
首先计算这个表达式:String.fromCharCode(k)
.
让我们假设结果是字符串 "b"
。即在表达式中使用:AllowableCharacters.indexOf("b")
.
假设在字符串的第二个字符处找到字符,索引为 1,因此结果为 1
。在表达式 1 != -1
.
由于1
不等于-1
,返回结果true
。
简而言之,将 -1
与 indexOf
方法的结果进行比较,就像 returns -1
方法没有找到任何结果。
是比较运算符 !=
导致值为 true
或 false
。它比较值,结果取决于它们是否相等。不需要 if
语句将结果变成 true
或 false
,那已经是比较表达式的值。
有时您会看到如下代码:
if (AllowableCharacters.indexOf(String.fromCharCode(k)) != -1) {
return true;
} else {
return false;
}
if
语句在这种情况下是多余的。 if
语句中的表达式已经是true
或false
,所以可以直接返回:
return AllowableCharacters.indexOf(String.fromCharCode(k)) != -1;