Javascript Shorthanding
Javascript Shorthanding
本文关键字:Shorthanding Javascript 更新时间:2023-09-26
考虑以下示例:
if (cache) {
x = cache;
} else {
x = cache = someMethod();
}
无论如何,让它比cache ? x = cache : x = cache = someMethod();
短?
编辑:
感谢所有提出的解决方案,我应该注意到,有问题的数据是字符串而不是布尔值。
x = cache || (cache = someMethod());
如果不确定之前是否声明和/或分配了cache
,这是对MaxArts答案的修正(使用短路布尔求值和逗号运算符):
x = (cache = window.cache || someMethod(),cache);
//note: 'window' may be another namespace
在严格模式下,这也不起作用。在这种情况下,这将:
'use strict';
var x = function(w){w.cache = w.cache || someMethod(); return w.cache;}(window);
实现这一点的干净方法(即使使用bools也可以)是
if (cache === undefined) { cache = someMethod (); }
x = cache;
相关文章:
- Javascript Shorthanding
- 使用ja将对象添加到HTML画布中
- 如何从document.getElementsByClassName('myTxtBox');中获取ja
- 在 Jsctypes 中将 char * 从 javascript 传递到 c,并将 char * 从 c 传递到 ja
- 是否可以避免使用getter和setter的模式,并且仍然使用闭包ADVANCED_OPTIMIZATIONS最小化Ja
- 如何重置“;readonly=true”;从php创建的表单中的输入字段为“”;readonly=false”;使用ja
- 无法在chrome本地存储中使用jquery,如何使用.remove() jquery方法的css:有伪选择器只使用ja
- 使用ja/jQuery提交表单,并停留在同一页面
- “test”和“test”有什么区别?Javascript变量和"#test"变量可以将var ja
- What's the difference between & and && in Ja
- chrome中的Javascript window.print(),关闭新窗口或选项卡而不是取消打印会在父窗口中阻止Ja
- Jquery - customize ui.ja
- 带有Hierarchy的Telerik radgrid不会在OnHierarchyExpanding事件上运行客户端ja