我有这个Try课程:
function Try () {
console.log('Start')
this.Something( function() {
console.log('asd')
this.Some()
})
}
Try.prototype.Something = function (callback) {
console.log('hi all')
callback()
}
Try.prototype.Some = function () {
console.log('dsa')
}
但是当我尝试在回调部分中调用Some方法时,它会给出一个错误,即this.Some is not a function
。问题是什么?我该如何解决这个问题?
答案 0 :(得分:1)
this
的范围在不同的function
内是不同的,即使它是内部function
您需要在this
中保留self
外部函数并将其设为
function Try () {
console.log('Start')
var self = this;
self.Something( function() {
console.log('asd')
self.Some();
})
}