最初に - 私のひどい英語で申し訳ありません。私はそれを練習しなければならず、最善を尽くします。
JavaScriptで何か新しいことを試してみます。私はjQueryライブラリでアイデアを得ました。二つあります
「jQuery」または「$」を操作するさまざまな方法。
jQuery(arg).foo(); // first way
jQuery.foo(); // second way
今、私はオブジェクトで同じことをしたいと思っていました。
obj(arg).foo();
obj.foo();
私の最初の質問は、どうすれば jQuery をオブジェクトを返す関数にして、オブジェクトにすることができるかということでした。
同じ方法 ?
obj(arg).foo();
オブジェクトを返す関数のようです。しかし
obj.foo();
物のようです。
obj.foo() と obj().foo() を操作しようとしましたが、何も機能しませんでした - いずれにせよ、エラーが返されたものを試してみました: foo() は未定義です。
この異常な方法で変数jQueryを登録するために、jQueryがどのようにそれを解決したか知っていますか?
以下は私が実現したいものです(コードは機能しません!):
myClass = function () {
this.foo() {
window.alert('foo()!');
return this;
}
}
var myObj = new myClass();
function obj() {
return myObj.foo(arguments);
}
var obj = {
secondFoo : function () {
myObj.foo();
}
};
obj('arg').foo(); // alert(foo()!) && alert(foo()!)
obj.secondFoo(); // alert(foo()!)
obj('arg'); // alert(foo()!)