use*_*756 2 javascript node.js
对不起基本问题.我在javascript中找到了以下构造,我不熟悉它.你知道这个建筑是什么吗?
我已经改变了变量,但含义是一样的.
var pt = (
5 in [1,2,3,5]?
2:
3 in [1,2,3]?
1:
7);
Run Code Online (Sandbox Code Playgroud)
看起来它检查所有条件并根据条件采取行动,但最后一步是没有条件,这样的事情?
var pt;
if (5 in [1,2,3,5]) { // is there an element with index 5 ?
pt = 2;
} else if (3 in [1,2,3]) {
pt = 1;
} else {
pt = 7;
}
Run Code Online (Sandbox Code Playgroud)
但这看起来更像是一个谜题而不是合法的代码.这特别看起来像一个陷阱:
5 in [1,2,3,5]
Run Code Online (Sandbox Code Playgroud)
大多数程序员不会把它的是什么:5存在的测试作为重点(见的).所以它false(但3 in [1,2,3,5]会true).
整体相当于
var pt = 7;
Run Code Online (Sandbox Code Playgroud)