我在其中一個應用程序中使用了Revealing模塊模式,並且無法在調用init方法之後讓它返回字符串變量的值目的。目標是設置stringVar的值並從我的UI中檢索它。 arrayVar的作品。如何在JavaScript中返回字符串值Revealing模塊模式
謝謝, 克里斯
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
var viewModel = null;
$(document).ready(function() {
viewModel = new ViewModel();
viewModel.init();
// writes "object1" to ul
$("#log").append("<li>" + viewModel.arrayVar[0] + "</li>");
// writes "" to ul
$("#log").append("<li>" + viewModel.stringVar + "</li>");
});
ViewModel = (function() {
var
arrayVar = new Array(),
stringVar = '',
init = function() {
// load data from external source
arrayVar.push("object1");
arrayVar.push("object2");
stringVar = "string value 1";
};
return {
arrayVar: arrayVar,
stringVar: stringVar,
init: init
};
});
</script>
這是因爲'stringVar'在return語句不是一個參考,但副本(一個新的字符串)。 – numbers1311407 2013-02-11 01:53:16
它爲什麼與arrayVar一起工作? – user135498 2013-02-11 02:53:53
arrayVar是一個數組,因此它是一個參考,而不是一個值 – Marc 2013-02-11 16:21:33