ブロックレベル関数ES6 より前では厳密モードは禁止される必要があります。 ES6 以降で利用可能になった関数のスコープは、関数が宣言されているブロックです。非厳密モードではこれを無効にする必要があります。 真の場合{ function test() { //ブロックレベル関数 console.log(1); } } テスト(); オブジェクトのプロトタイプを直接変更するブラウザは、インスタンスを呼び出す前にプロトタイプを最適化し、オブジェクトのメソッドのメモリ位置を事前に計画します。したがって、プロトタイプを直接変更することはできません。以下の2つの方法は禁止されるべきである Object.setPrototypeOfを使用してプロトタイプを変更します 関数a(){} a.プロトタイプ = { a_prop: "値" }; 関数b(){} var プロトコル = { b_prop: "b 値" }; オブジェクト.setPrototypeOf() プロト、プロトタイプ ); b.prototype = プロトタイプ; var test = new b; console.log(test.a_prop); // 値 console.log(test.b_prop); // b 値 オブジェクトの__proto__属性を直接変更する 関数a(){} a.プロトタイプ = { a_prop: "値" }; 関数b(){} var プロトコル = { b_prop: "b 値", __proto__: a.prototype //オブジェクト b の __prototype__ 属性を直接変更します}; b.prototype = プロトタイプ; var test = new b; console.log(test.a_prop); // 値 console.log(test.b_prop); // b 値 との使用法: var a = { p1: 1, p2: 2 } (a) {と 3 は 0 です。 } コンソールログ(a.p1); with の使用は禁止されるべきです。例: 関数a(arg1, arg2) { (arg2){で console.log(arg1); // 最初のパラメータを出力するか、arg2 の arg1 プロパティを出力するかを判断できません} } var arg2 = {arg1:1} a("引数1", 引数2) 呼び出された人arguments.callee は現在実行中の関数を表します。 関数a(arg1) { (引数1>1)の場合{ arg1 * arguments.callee(arg1 - 1) を返します。 } それ以外 { 1 を返します。 } } コンソールログ(a(3)); // 6 関数が自分自身を呼び出す必要がある場合は、代わりに arguments.callee() を使用し、関数を名前で直接呼び出します。 関数a(arg1) { (引数1>1)の場合{ return arg1 * a(arg1 - 1); // 関数名で直接呼び出す} それ以外 { 1 を返します。 } } コンソールログ(a(3)); // 6 発信者caller は関数の呼び出し元を表すため、使用しないでください。この機能は標準ではありません。 関数a() { console.log(a.caller); // 関数 b() { a(); } } 関数b() { (); } 関数b(); 評価eval() は渡された文字列パラメータを JavaScript コードとして実行できます。 eval("var a = 1, b = 2; console.log(a+b)"); // 3 eval の使用は禁止されています。ブラウザは JavaScript を最適化するため、eval は通常の JavaScript 実行よりも遅くなります。 eval メソッドも、呼び出し元と同じ権限でコードを実行し、eval() が呼び出されたときにそのスコープが公開されるため、安全ではありません。代わりに次の関数を使用する必要があります: var a = 新しい関数("a", "b", "console.log(a+b)") (1,2); // 3 以上がネイティブJSで禁止すべき記述方法の詳しい内容です。ネイティブJSで禁止すべき記述方法についての詳細は、123WORDPRESS.COM内の他の関連記事にも注目してください! 以下もご興味があるかもしれません:
|
<<: mysql エラー 1045 (28000) - ユーザーへのアクセスが拒否される問題を解決する方法
>>: Nginx 構成 クロスドメイン リクエスト Access-Control-Allow-Origin * 詳細な説明
Dockerのインストール依存パッケージをインストールする sudo yum install -y ...
静的ウェブサイトをホストできるサーバーは数多くあります。この記事では、nginx、apache、to...
目次チュートリアルシリーズ1. yumパッケージマネージャーを使用してMariaDBサーバーをインス...
開発中、MySQL へのリモートアクセスでよく問題に遭遇します。そのたびに検索する必要があり、面倒に...
この記事では、例を使用して、MySQL でスケジュールされたタスクを設定する方法について説明します。...
1. プロジェクトの実行時に報告されるエラー情報は次のとおりです。 ファイル "/home...
注意: 他のマシン (IP) は、承認なしではクライアント経由で MySQL データベースに接続でき...
Web サーバーは、独立したドメイン名を持つ複数の Web サイトを構築できるほか、通信経路上のトラ...
プロパティやイベントがあるにもかかわらず、JavaScript で子コンポーネントに直接アクセスする...
find コマンドは主にディレクトリやファイルを検索するために使用され、一致のために複数のパラメータ...
Linux では、ハードディスクの追加やパーティションの再マウントといった状況に頻繁に遭遇します。こ...
1. Macvlan の紹介Macvlan が登場する前は、イーサネット カードに複数の IP ア...
まず最初に、適切なブラウザを選択します。私が Chrome を選択したのは、その強力なデバッグ ツー...
企業では、データベースの高可用性は常に最優先事項です。多くの中小企業は、MySQL マスター スレー...
解決策1完全にアンインストールしてすべてのデータを削除します。まず、MySQLに関連するすべてのプロ...