在Javascript变量声明中使用逻辑AND
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Javascript变量声明中使用逻辑AND,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1821字,纯文字阅读大概需要3分钟。
内容图文
我感兴趣的是使用&& ;;声明变量的实际应用.像这样:
var x = undefined && 4;
// Evaluate to the first falsey value
// or else the last value.
eval(x);
// undefined
我理解如何评估该值(见this SO answer).我也了解它的妹妹|| (有关详细说明,请参阅here)以及为什么使用以下表达式声明变量会很有用:
// Some other variable
var y;
var x = y || 4;
// Evaluate to the first truthy value
// or else the last value.
实际上:使用第一个值,除非第一个值为false;如果是这样,请使用最后一个值.我们可以证明||的这个特征在浏览器控制台中:
> null || 4
4
> 4 || null
4
> null || undefined
undefined
> undefined || null
null
> true || 4
true
> 4 || true
4
至于&& ;:
> null && 4
null
> 4 && null
null
> null && undefined
null
> undefined && null
undefined
> true && 4
4
> 4 && true
true
我们应该这样做:使用第一个值,除非第一个值是真实的;如果是这样,使用最后一个值?
我有兴趣使用编码快捷方式来最小化条件语句的使用,我想知道我是否能以某种方式使用它.
我在jQuery核心源的line 472中找到了这种编码方法的一个例子:
scripts = !keepScripts && [];
因此问题是:任何人都可以描述使用&&和在javascript变量声明中?你认为这是不好的做法吗?
谢谢!
解决方法:
一般来说,你应该只使用这样的“快捷方式”,如果它使典型的JavaScript程序员的代码比替代方案更具可读性.
在考虑哪些内容更具可读性且不那么令人惊讶时,请考虑一下
var foo;
if(bar) {
foo=[];
}
和
var foo = bar && [];
不一样.例如,如果bar是NaN,那么在后一种情况下foo将是NaN,这可能稍后会让人头疼.
由于存在优化/最小化JavaScript的工具,因此您应该关注代码的可读性,这与简洁性并不总是相同.
假设您连续几次重复初始化,所有这些都依赖于不同的变量(因此它们不能包含在单个条件中),但遵循相同的逻辑公式.在这种情况下,一旦读者在心理上解析了公式的含义,他们就可以快速扫描所有实例并查看每个实例之间的差异.在这种情况下,您不是依赖大多数JavaScript程序员熟悉的约定(例如var foo = some_opt || {}),而是创建一个本地化约定,读者必须只学习此文件.即使在这种情况下,我也会建议仔细考虑一下,这可能不值得.
内容总结
以上是互联网集市为您收集整理的在Javascript变量声明中使用逻辑AND全部内容,希望文章能够帮你解决在Javascript变量声明中使用逻辑AND所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。