这是否与 knockout.js 相关,或者您只是想对一个简单的 ECMAScript 问题进行排序?任何...
通常最好不要在声明的地方使用函数表达式,构造函数应该以大写字母开头,让其他人知道他们是构造函数。
function App() {
var self = this;
目前尚不清楚您为什么要这样做。保持对this的引用在构造函数中并不常见。
this.index = 0;
myfunction = function(){
这就是你遇到麻烦的地方。当构造函数第一次被调用时,上面会创建一个名为myfunction的全局变量。那个概率不是你想做的。函数声明将明确地保持本地化。但无论如何,该功能应该可能在 App.prototype 上。
function myFunction() {
.
//how can i modify index here
self.index = 1;
};
该函数将修改 index 属性,但前提是它被调用。所以你可能会做的是:
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