我想this
在类的函数成员中使用该对象。该函数可以根据类的实例而有所不同。它工作正常,但 Google Closure Compiler 会向我发送警告,这让我觉得我做得不对。
因此我的问题是:this
在既不是原型也不是构造函数的函数中使用的正确方法是什么?如果没有,我应该怎么做而不是尝试在this
那里使用?
这是我正在尝试做的一个说明:
/** @constructor */
function MyAlert() {}
/** @type {string} */
MyAlert.prototype.name = "joe";
/** @type {function()} */
MyAlert.prototype.myAlert;
/** @type {MyAlert} */
var formalAlert = new MyAlert();
/** @type {MyAlert} */
var informalAlert = new MyAlert();
informalAlert.myAlert = function() {alert("Hi " + this.name);}
formalAlert.myAlert = function() {alert("Good morning Mr " + this.name);}
formalAlert.myAlert();
informalAlert.myAlert();
在编译时,我收到此警告并且找不到解决方法:
JSC_USED_GLOBAL_THIS: dangerous use of the global this object at line 11 character 57
formalAlert.myAlert = function() {alert("Good morning" + this.name);}
^
非常感谢你的帮助!