这是什么??!Javascript中的运算符
What is the ??! operator in Javascript?
当我在寻找一些站点的Javascript代码时,我看到了这个
function hrefLeftMenu() {
var x = true;
for (i in info) {
$(".leftmenu ul").append("<li" + (x ? " class='active'" : "") + " onclick='openAnInfo('"" + i + "'", this);'> - " + info[i].title + "</li>");
x = x??!x;
}
openAnInfo("0", ".lelelesakineyy");
}
它在javascript中做什么?编码器为什么使用这个运算符?
谢谢。
它在javascript中做什么?
它抛出一个语法错误。
> x = x??!x;
SyntaxError: Unexpected token ?
编码器为什么使用这个运算符?
进行合理的猜测(除了"他们犯了一个错误")需要更多的背景。说肯定需要读心术:)
我认为这是一个错误。他们正在生成一个菜单,x
用于将一个项目设置为活动,看起来他们希望默认选择第一个项目。他们希望x
第一次为真,然后为假
x = x?!x:x; // If first time through, then set x = false for the rest
又名
x = false; // Set x = false for the rest
但混乱/思维混乱导致了过度复杂化。
在JavaScript中,这不是有效的代码。然而,序列??!
在C中作为一个三图存在(存在?),表示|
。也许这不是JavaScript代码,或者它是从古老的C代码移植而来的。但即便如此,x = x | x
也很难被称为一个有用的语句。
编辑:现在问题中有一点上下文,这种猜测可能是错误的。一位朋友提出,序列x??
可能是一个拼写错误,随后试图纠正它,因为backspace被一些中间篡改(在终端或SSH中键入时并不罕见)变成了一个字符,并且有问题的行应该是x = !x
。
这是个错误吗?
你是这个意思吗?
x= x?x:!x;
相关文章:
- 这是什么 ==- javascript 运算符
- 这是什么??!Javascript中的运算符
- 在Javascript中,变量前面的+运算符是什么
- JavaScript中的%运算符是什么
- 使用扩展运算符和析构函数运算符修改不可变对象的最短方法是什么
- JavaScript 中加号运算符的域是什么?
- JavaScript - 这些值赋值(使用 |= 作为运算符)是什么意思
- 在 JavaScript 中,条件语句中 OR 运算符的正确语法是什么?我错过了什么
- 在 Javascript 中模拟“IN”运算符以简化冗余逻辑 OR 的最佳解决方案是什么?
- Node.js:在模块作用域中使用“this”运算符的上下文是什么
- JavaScript 中的 '/=' 运算符是什么意思?
- 使用 === 运算符测试未定义而不是使用 == 运算符有什么好处
- Javascript中添加的最新运算符是什么?
- 原因是什么?运算符或使用字符串
- 这个运算符是什么意思<<=&”;
- 在本例中使用new运算符的目的是什么
- 这个运算符是什么:&=
- “铸造”的目的是什么?布尔运算符的返回值
- JS中布尔运算符的优先顺序是什么?
- JavaScript 中的“双波浪号”(~~) 运算符是什么?