gpt4 book ai didi

JavaScript 编码技术还是糟糕的代码?

转载 作者:可可西里 更新时间:2023-11-01 01:42:04 28 4
gpt4 key购买 nike

在调试别人编写的 javascript 时,我遇到了一些以前从未见过的代码。这是一个示例:

function doSomething() {
//doing something here...
}

function doItNow() {
//other logic...
doSomething && doSomething(); // <=== What's this?
}

函数 doItNow() 中第二行的目的是检查 doSomething 是否存在然后调用它吗?像这样:

function doItNow() {
//other logic...
if (doSomething) {
doSomething();
}
}

JSLint 不喜欢它,我不希望我的应用程序中有错误代码。有什么见解吗?

最佳答案

这确实是一个“速记”。只有当左侧作为 if() 语句传递时,右侧才会执行。

Google Closure Compiler 和其他压缩器利用了这一点;如果您的输入是 if(a) a(),它将导致 a&&a()


您可以对 || 执行相同的操作,例如:

if( !a ){
alert('Not a');
}

可以写成

a || alert('Not a');

关于JavaScript 编码技术还是糟糕的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4091558/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com