Javascript 编写此代码的更简洁的方法
下面的代码工作得很好,但是我调用了两次Javascript 编写此代码的更简洁的方法,javascript,Javascript,下面的代码工作得很好,但是我调用了两次getItem函数,这似乎是不必要的。我该怎么收拾呢 if(localStorage.getItem("preferences") == null { //show set preferences page } else { var preferences = localStorage.getItem("preferences"); //do stuff } 只需执行一次getItem: var preferences = loca
getItem
函数,这似乎是不必要的。我该怎么收拾呢
if(localStorage.getItem("preferences") == null {
//show set preferences page
} else {
var preferences = localStorage.getItem("preferences");
//do stuff
}
只需执行一次
getItem
:
var preferences = localStorage.getItem("preferences");
if (preferences == null) {
//show set preferences page
} else {
//do stuff
}
除非preferences
可以是除null
之外的错误值,否则我可能会反转这些块:
var preferences = localStorage.getItem("preferences");
if (preferences) {
//do stuff
} else {
//show set preferences page
}
只需执行一次
getItem
:
var preferences = localStorage.getItem("preferences");
if (preferences == null) {
//show set preferences page
} else {
//do stuff
}
除非preferences
可以是除null
之外的错误值,否则我可能会反转这些块:
var preferences = localStorage.getItem("preferences");
if (preferences) {
//do stuff
} else {
//show set preferences page
}
您不需要读取localStorage.getItem两次。您可以将其读入变量并使用相同的值
var preferences=localStorage.getItem(“首选项”);
如果(首选项==null){
//显示设置首选项页面
}否则{
//您可以在此处使用此首选项
//做事
}
无需读取localStorage.getItem两次。您可以将其读入变量并使用相同的值
var preferences=localStorage.getItem(“首选项”);
如果(首选项==null){
//显示设置首选项页面
}否则{
//您可以在此处使用此首选项
//做事
}
希望这有帮助
let preferences = localStorage.getItem("preferences");
preferences ? do stuff : show set preferences page
希望这有帮助
let preferences = localStorage.getItem("preferences");
preferences ? do stuff : show set preferences page
如果本地存储的值为null,您仍然可以将其分配给var,然后对照它进行检查
此外,您可以简单地检查if语句中的var,而无需与null进行比较。
以以下为例:
if(!a) {
//Will enter here if a is null, undefined, false, empty string, 0 or NaN
}
进一步阅读:
如果本地存储的值为null,您仍然可以将其分配给var,然后对照它进行检查
此外,您可以简单地检查if语句中的var,而无需与null进行比较。
以以下为例:
if(!a) {
//Will enter here if a is null, undefined, false, empty string, 0 or NaN
}
进一步阅读:调用它一次并将其存储在变量中
var preferences = localStorage.getItem("preferences");
if(preferences==null){
//....
}
else{
//....
}
调用它一次并将其存储在变量中
var preferences = localStorage.getItem("preferences");
if(preferences==null){
//....
}
else{
//....
}
简单
var preferences = localStorage.getItem("preferences");
if(preferences == null) {
//show set preferences page
} else {
//do stuff with preferences
}
简单
var preferences = localStorage.getItem("preferences");
if(preferences == null) {
//show set preferences page
} else {
//do stuff with preferences
}
作为替代方案,您可以在if语句本身中分配首选项,并执行以下操作:
if ((preferences = localStorage.getItem("preferences"))) {
// use preferences here
}
else {
// set preferences here
}
我通常采用这种方法,因为这是我唯一要处理的事情,在调试时,在条件内赋值可能会让一些人感到困惑。作为一种替代方法,您可以在if语句本身内赋值首选项,并执行以下操作:
if ((preferences = localStorage.getItem("preferences"))) {
// use preferences here
}
else {
// set preferences here
}
我通常会在只有我会处理的情况下采用这种方法,在调试时,在条件内分配可能会让一些人感到困惑。感谢TJ的详细回答感谢TJ的详细回答谢谢大家的建议。因为它们几乎都是一样的,我会接受TJs的答案,因为它是最干净的,并且对重新排序代码也有很好的看法。谢谢大家的建议。因为它们几乎都是一样的,所以我会接受TJs的答案,因为它是最干净的,并且对重新排序代码也有很好的看法。@RahulDesai如果变量为null、未定义或false,那么它将以任何方式返回false,除此之外,它还将处理isNaN情况,如parseInt(“a”)变为false。有关详细信息,请参见
getItem
将永远不会返回NaN
,因此它是多余的。@EvanTrimboli如果您有“函数getItem(){return parseInt(“a”)}”呢?它来自localStorage
:啊,好吧,这在OP中没有提到question@RahulDesai若变量为null、undefined或false,那个么它将以任何方式返回false,除此之外,它还将处理isNaN情况,比如将parseInt(“a”)转换为false。有关详细信息,请参见getItem
将永远不会返回NaN
,因此它是多余的。@EvanTrimboli如果您有“函数getItem(){return parseInt(“a”)}”呢?它来自于localStorage
:啊,好吧,这在操作问题中没有提到,谢谢Ajay,但是在这个例子中,“do stuff”和“show preferences page”代码块对于这个符号来说太长了。嘿@Brad,你可以很容易地为这两个函数创建一个函数,比如:preferences?doStuff():setPreferencesPage()
并相应地编写它。:)谢谢Ajay,但是在本例中,“do stuff”和“show preferences page”代码块对于这种表示法来说太长了。嘿@Brad,你可以很容易地为这两个代码块创建一个函数,比如:preferences?doStuff():setPreferencesPage()
并相应地编写它。:)