ブロックレベル関数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 * 詳細な説明
主に、Nginx で X-Frame-Options、X-XSS-Protection、X-Cont...
1. はじめに外部キー制約を使用するかどうかという話題は、すでに決まり文句になっています。学校では、...
目次序文JavaScript find() メソッドJavaScript filter() メソッド...
構造本文、見出し、HTML、タイトル文章abbr、頭字語、アドレス、引用ブロック、br、引用、コード...
1. デフォルトのポート8080に加えて、ドメイン名のアクセスとserver.xmlのオープンにポー...
margin:auto; + position: absolute; 上、下、左、右:0デモを見れ...
序文この記事では、山括弧のその他の用途をさらに詳しく見ていきます。前回の記事では、山括弧 (<...
目次テレポートの目的テレポートの仕組みこの記事では、以下の内容を取り上げます。テレポートの目的テレポ...
クロスドメインソリューションjsonp (get をシミュレート) CORS (クロスオリジンリソー...
CentOS7では、MySQLをインストールすると、MariaDBもデフォルトでインストールされます...
この記事の例では、Element+vueを使用して開始と終了の時間制限を実装するための具体的なコード...
指導トピックウェブページ適用グレード高校2年生授業時間1 クラス教科書分析焦点: 静的および動的ウェ...
描画効果実装コードJavaScript var キャンバス = document.getElemen...
この記事では、ビデオタグを使用してビデオ再生を実装するVueの具体的なコードを参考までに共有します。...
通常、vue プロジェクトではルーティングを使用します。vue-router は vue.js の公...