我在向 google.maps.Map 对象添加两个函数(一个调用另一个函数)时遇到了一点困难
google.maps.Map.prototype.addMarkerFromJson = function() {
alert("hi");
}
google.maps.Map.prototype.getPictureDataFromJson = function (jsonObj) {
this.addMarkerFromJson();
}
此代码引发错误:
Uncaught TypeError: Object #<Object> has no method 'addMarkerFromJson'
这本身就令人费解,更让我困惑的是当我更改名称时:
google.maps.Map.prototype.anotherTestFunction = function() {
alert("hi");
}
google.maps.Map.prototype.aTestFunction = function (jsonObj) {
this.anotherTestFunction();
}
这仍然不起作用(警报不会被触发)但它也不会在控制台中引发错误?
很想知道我在这里做错了什么以及对奇怪的解释!
编辑:当我再看一遍时,我开始认为this
inthis.addMarkerFromJson();
实际上是指 function() 定义,而不是我将其附加到的 Map 对象?在这种情况下,我将如何调用另一个函数?