したがって、インスタンスに効果的に影響するコンストラクタを変更するためにprototypeプロパティを適用する方法を知っています。理論的には、プロトタイプは通常の関数でも動作するはずです(ただし、特定のインスタンスのプロトタイプでない場合は必ずしも効果がありません)。だから、私は、これは実際にXXが機能に追加された方法として、何を思ったんだけどjavascript - コンストラクタではない関数にプロトタイプを適用すると、どのような影響がありますか?
createNewPerson.prototype.xx = (function() { //alerts hello
alert("hello");
})();
(完全なコードは末尾にある)(createNewFunctionはコンストラクタではありません通常の関数である)のコードを試してみました。それはanon関数と等しい変数xxとして格納されていますか?またはthis.xx =関数として格納されていますか?どのようにこれは、次のコードを格納することに比較します:
createNewPerson.xx = (function() { //alerts hello
alert("hello");
})();
をこれも、私はそれがするvarミリメートル= 3として保存されます、またはそれがない場合は、この行は、のように(保存する方法をこれにと思ってしまいます全く追加):?
createNewPerson.mm = 3;
完全なコードを参照するために:
function createNewPerson(name) {
var obj = {};
obj.name = name;
obj.greeting = function() {
alert('Hi! I\'m ' + this.name + '.');
};
return obj;
}
createNewPerson.mm = 3; //does nothing when i tested it
createNewPerson.xx = (function() { //alerts hello
alert("hello");
})();
createNewPerson.prototype.xx = (function() { //alerts hello
alert("hello");
})();
var salva = createNewPerson('Salva');
あなたは全然ここに任意の機能を割り当てていません。あなたは[IIFEの戻り値](https://stackoverflow.com/questions/26092101/what-is-this-javascript-pattern-called-and-why-is-it-used)を割り当てています! – Bergi
参照:https://stackoverflow.com/help/someone-answers – c0der