"if"ステートメントで宣言され、割り当てられた変数は、 "if"ブロック内または関数全体でのみ表示されますか?IFステートメントのjavascript変数スコープ
私は次のコードでこれを正しく実行していますか? (動作しているようですが、 "var構造"を複数回宣言することは厄介なようです)どんなクリーナーソリューションでも?
function actionPane(state) {
if(state === "ed") {
var structure = {
"element" : "div",
"attr" : {
"class" : "actionPane"
},
"contains" : [{
"element" : "a",
"attr" : {
"title" : "edit",
"href" : "#",
"class" : "edit"
},
"contains" : ""
}, {
"element" : "a",
"attr" : {
"title" : "delete",
"href" : "#",
"class" : "delete"
},
"contains" : ""
}]
}
} else {
var structure = {
"element" : "div",
"attr" : {
"class" : "actionPane"
},
"contains" : [{
"element" : "a",
"attr" : {
"title" : "save",
"href" : "#",
"class" : "save"
},
"contains" : ""
}, {
"element" : "a",
"attr" : {
"title" : "cancel",
"href" : "#",
"class" : "cancel"
},
"contains" : ""
}]
}
}
return structure;
}
このようにすることもできます: 'if(state ===" ed "){} {return {...}} else {return {...}}'変数を使用する代わりに、 –