私は次のコードを持っている:関数内から関数を呼び出しますか?
var A = function (id) {
var elem = document.getElementById(id);
function text() {
return "Hello world";
}
this.other = function(){
console.log(text());
}
}
私は外からother
機能を追加しても、このようなテキスト()関数を呼び出すしたい場合はどう:
(function(A){
A.prototype.other = function() {
console.log(text());
}
})(A);
を行うにはどのような方法がありますがそれ?私はあなたがまだオブジェクトであるtext()
方法A
の機能を添付して、このようなA.prototype.other
でそれを使用することができますfunction text(){}
** **あなたが '関数のテキストを(){}' 'this.text =関数に(){}変更したくないのはなぜ'? – phihag
私はそれを上書きしたくありません。 'var a = new A(); a.text = function(){} ' – IchHabsDrauf
あなたの質問は本当に「名前を上書きしないようにするにはどうすればいいのですか」と言うべきでしょう。なぜ[プロパティ](https://developer.mozilla.org/en/docs/ Web/JavaScript/Reference/Global_Objects/Object/defineProperty)は十分ではありません。また、他のライブラリの名前を最初からランダムに上書きするコードを含めるかどうかを検討してください。 – phihag