JavaScriptのinitValidation()関数の外でvalidate()関数を呼び出す方法はありますか?
必ずしもinitValidation()を呼び出す必要なしに、initValidation()の外部で関数validate()を呼び出したい
以下は問題コードです-
function initValidation(){ // irrelevant code here function validate(_block){ // code here } }
JavaScriptでは、関数はオブジェクトに他ならないことがわかっているので、これを実現するために、次のようにコードを微調整することはできません-
function initValidation(){ // irrelevant code here function validate(_block){ // code here console.log(_block); } this.validate = validate; }
この調整により、親関数がクラスを表すようになります。このクラスのvalidateはプロパティであり、次のようにアクセスできます-
const v = new initValidation(); v.validate('Hello world');
以下は、出力を含む完全なコードです-
例
function initValidation(){ // irrelevant code here function validate(_block){ // code here console.log(_block); } this.validate = validate; } const v = new initValidation(); v.validate('Hello world');
出力
コンソールの出力は-
になりますHello world
-
JavaScriptエラーを拡張できますか?そうするための最良の方法は何ですか?
JavaScriptエラーは、エラークラスを拡張することで拡張できます。これを行う最良の方法は、組み込みのJavaScriptエラークラスを拡張する新しいカスタムエラークラスを作成することです。 以下は、JavaScriptでエラーを拡張するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=de
-
HTMLファイルがソースモジュールからJavaScript関数を見つけられないのはなぜですか?
これは、「export」ステートメントを使用していない場合に発生する可能性があります。スクリプトファイルにインポートされる関数の前に「エクスポート」を使用します。 JavaScriptファイルは次のとおりで、emo.jsという名前のファイルがあります。 demo.js console.log("function will import"); export function test(){ console.log("Imported!!!"); } 上記の関数をインポートする「index.html」ファイルは次のとおりで