[解決済み] プログラムによるjavascript関数へのコード追加
2022-08-11 19:48:36
質問
私は、オリジナルのJSコードを変更することなく、既存のJSライブラリをカスタマイズしようとしています。 このコードは、私がアクセスできるいくつかの外部 JS ファイルを読み込みます。私が行いたいのは、全体を 2 番目の JS ファイルにコピー アンド ペーストすることなく、元のファイルに含まれる関数の 1 つを変更することです。
例えば、オフリミットのJSはこのような関数を持っているかもしれません。
var someFunction = function(){
alert("done");
}
この関数に、何らかの形でJSコードを追加または前置きできるようにしたいと思います。 理由は主に、オリジナルのアンタッチャブルJSでは関数がかなり巨大で、そのJSが更新された場合、私が上書きした関数は古くなってしまうからです。
これが可能であることを完全に確信しているわけではありませんが、確認してみようと思いました。
どのように解決するのですか?
もし
someFunction
がグローバルに利用可能であれば、その関数をキャッシュし、自分自身の関数を作成し、自分自身にそれを呼び出させることができます。
これがオリジナルなら...
someFunction = function() {
alert("done");
}
あなたならこうする...
someFunction = (function() {
var cached_function = someFunction;
return function() {
// your code
var result = cached_function.apply(this, arguments); // use .apply() to call it
// more of your code
return result;
};
})();
を使用していることに注意してください。
.apply
を使用してキャッシュされた関数を呼び出していることに注意してください。これによって
this
を保持し、渡された引数がいくつであろうと、個々の引数として渡すことができます。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み】JavaScriptの比較では、どちらの等号演算子(== vs ===)を使うべきですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] $.ajax実行中にローディングイメージを表示する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptの関数を参照しながらオーバーライドする
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] 文字列がすべて同じ部分文字列で構成されているかどうかを調べるにはどうすればよいですか?
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] querySelectorAllがない場合、ライブラリを使用せずに属性で要素を取得する?
-
[解決済み] 変異を伴わないオブジェクトからの値の削除
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?