這是一種將屬性分配給對象的有效方法嗎?我有一個if/else語句,我希望它確定哪些屬性是和和是。這是一種將屬性分配給對象的有效方法嗎?
function game(){
var self = this;
this.determineDifficulty = function(){
var difSet = document.getElementById("dif");
var chosen = difSet.options[difSet.selectedIndex].value;
if(chosen === "Easy"){
var d = 0;
self.p = 1;
self.i = 1000;
}else if(chosen === "Medium"){
var d = 1;
self.p = 0.1;
self.i = 100;
}else{
var d = 2;
self.p = 0.01;
self.i = 10;
}
return d;
}
}
var myGame = new game();
如果我提醒myGame.p
,它給了我正確的值。但這是一個好習慣嗎?據我所知,如果我想要一個變量,我可以在多個方法中使用 - 我應該將其分配爲該對象的屬性。另一種選擇是返回這是一個常規變量。如果這是正確的?
這取決於 - 您分配給'this'(或'self',在您的示例中)的任何內容都可公開訪問,就像您使用'myGame.p'顯示的一樣。你可以在「遊戲」函數中聲明「私人」的變量 - 這意味着函數內的任何東西都可以訪問/更改它們,但是你不能超越「遊戲」。 – Ian