まあ、これは本当に面白いと思います。もちろん、これよりも少し先にコードを掘り下げてみると、彼らがどうやってそれを実行できるかは確かにわかります。私が話しているのはJQueryライブラリです。以下のコードを見てください-
$.prototype.mymethod=function(str){
alert(str);
}
//now call the added method
$(document).mymethod('hello') //alert out hello
が純粋な通常のjavascript関数(jqueryライブラリを使用しない)の場合、キーワードが前に付加さ$
れていない限り、追加されたメソッドは期待どおりに機能しませんnew
$
new $(document).mymethod('hello')
しかし、JQueryでは、new
キーワードは非常にオプションです!
私が彼らの図書館を調べなくても、誰かがそれをどのように行ったかについて、より多くの洞察を与えることができますか?
編集:苦労した後、最後に、上記がどのように機能するか(new
キーワードを使用せずにJavaScriptオブジェクトを構築する)の実際のルートメカニズムを掘り下げました!これは、高度なJavaScriptを学びたいと思っている人にとっては良い参考になると思います。
function a(){
return a.prototype;
}
a.prototype.fn=function(){
alert('hello')
}
a.prototype.test=123;
console.log(a().test)//123
a().fn()//alerts out hello