1

これを三項形式で書くにはどうすればよいですか:

  if (localStorage.getItem("txt")) {
    newNote(localStorage.getItem("txt"), localStorage.getItem("name"));
  } else {
    newNote();
  }

これは機能していないようです:

newNote(localStorage.getItem("txt") ? localStorage.getItem("txt"), localStorage.getItem("name") ? newNote();
4

7 に答える 7

2

質問に答えるには:

localStorage.getItem("txt")
  ? newNote(localStorage.getItem("txt"), localStorage.getItem("name"))
  : newNote();

しかし、正直なところ、なぜこのようにする必要があるのか​​ わかりません。読みにくいです。newNote与えられた引数が の場合、引数nullのない のようになるように関数を作成しnewNote()ます。その場合、次のように呼び出すことができます。

newNote(localStorage.getItem("txt"), localStorage.getItem("name"))

ifメインコードと関数には何もありませんnewNote:

function newNote(text, name) {
    if (text === null) {
        // alias to `newNote()`
    } else {
        // do whatever with `text` and `name`
    }
}
于 2013-10-24T08:04:27.043 に答える
1
localStorage.getItem("txt") ? newNote(localStorage.getItem("txt"), localStorage.getItem("name")) : newNote();
于 2013-10-24T07:53:23.517 に答える
0

私は@ZER0が提案する方法が好きですが、私はこの方法を行います.

読みやすくするために、localStorage.getItem("txt")localStorage.getItem("name")を変数に割り当てます。

var a = localStorage.getItem("txt");
var b = localStorage.getItem("name");

test(a ? [a, b] : []);

function test(options){
    if(options.length > 0){
        alert("a");
    }else{
        alert("ab");
    }
}
于 2013-10-24T08:14:05.217 に答える