ホームページ  >  記事  >  ウェブフロントエンド  >  JS の基本エッセイ (初心者必読)

JS の基本エッセイ (初心者必読)

高洛峰
高洛峰オリジナル
2017-01-21 09:36:341321ブラウズ

学習の過程では、以前にナツメを飲み込んだ場所が必ず出てきます。今後の参考のために、今日学んだ知識ポイントのいくつかを記録しましょう。

JavaScript のデータ型

単純 (基本) データ型: 数値、文字列、ブール、未定義、Null

複雑 (参照) データ型: オブジェクト、配列、日付、関数など

単純 (基本)データ型は以下で紹介します) データ型と複雑 (参照) データ型の違い:

単純なデータ型: 以下に示すように、値をスタックに直接保存します

JS の基本エッセイ (初心者必読)

複雑なデータ型: 参照をスタックに保存します以下に示すようにスタックを作成します

JS の基本エッセイ (初心者必読)

上記の 2 つのデータ型の格納方法を理解した後、次の演習を行うことで 2 つの違いを区別できます:

var a =10;
  var b = a;
  //问:当改变a的值后,b的值是否发生改变
  a=20;
  console.log(b);  // 10
var s1 = new Object();
var s2 = s1;
//问:改变s1的属性后,s2相同的属性是否改变
s1.name = "mh";
console.log(s2.name);    //mh
function f2(arr)
     {
       arr = [9,8,7,6,5];//产生新的对象
       arr[0]=-100;
     }
     var array = [1,2,4,7,5];
     f2(array);
     console.log(array[0]);//  1

での変数プロモーション、関数宣言、および変数スコープJavaScript

まず次のインタビューの質問を見てください:

var num = 10;
    fun();
    function fun()
    {
      console.log(num);
      var num =20;
    }

学ぶ前は、直接 10 と答えていたでしょう。今、私は JavaScript のプリコンパイルの概念を学習しており、JavaScript のプロモーションの概念を知っています。 var キーワードと関数の宣言の概念については、上記のコードと同等のコードを理解しています。

var num;//全局作用域  遇到var和function 提升
     function fun() {
       var num ;  //局部做用户 遇到var 提升
       console.log(num);
       num =20;
     }
    num = 10;
    fun();

次の質問をもう一度見てください。

//问题:为什么会出现下面的错误?
      //Uncaught TypeError:fnName is not a function
 
      console.log(fnName(1,2));
      var fnName = function (a,b) {
        return a + b;
      }

関数が等号の右側にあるため、var のみがプロモートされ、「Uncaught TypeError: fnName is not a function」エラーが報告されることがわかります。

変数のスコープを理解するには、次のコードを見ることができます:

var fnName;
      console.log(fnName(1,2));
      fnName = function (a,b) {
        return a + b;
      }

var a=b=c=20; のような連続代入の場合、 a のみがローカル スコープで再宣言され、 b と c のスコープはグローバル スコープです。したがって、グローバル スコープ内の a のみが「Uncaught ReferenceError: a is not registered」というエラーを報告します。

上記の基本的な JS エッセイ (初心者必読) は、編集者が共有したすべての内容です。参考にしていただければ幸いです。また、皆様にも PHP 中国語 Web サイトをサポートしていただければ幸いです。

その他の JS 基本エッセイ (初心者必読) 関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。