這是涉及到具體knockout.js,或者你只是想排序平原ECMAScript問題?任何...
通常最好不要在函數表達式中使用聲明,而構造函數應該以首字母開頭,讓別人知道它們是構造函數。
function App() {
var self = this;
目前尚不清楚爲什麼要這樣做。保持對的引用,這個在構造函數中不常見。
this.index = 0;
myfunction = function(){
這裏是你陷入困境的地方。當第一次調用consructor時,上面將創建一個名爲myfunction的全局變量。那probaby不是你想要做的。函數聲明將保持本地,明確。無論如何,函數應該放在App.prototype上。
function myFunction() {
。
//how can i modify index here
self.index = 1;
};
該函數將修改索引屬性,但只有在調用索引屬性時纔會修改索引屬性。所以你可能做的是:
function App(){
this.index = 0; // Each instance will have an index property
}
// All instances will share a myfunction method
App.prototype.myfunction = function() {
this.index = 1;
console.log(this.index);
}
var app = new App();
app.myfunction(); // 1