JavaScript基礎文法学習ノート

9260 ワード

1.JavaScriptの使い方
htmlのjavascriptスクリプトは間に置く必要があります.スクリプトはhtmlページの

と部分に配置することができる.ブラウザはとの間にあるJavaScriptコードを解釈して実行する.以前はtype="text/javascript"宣言をラベルに使用する必要があったが、今はそうする必要はなく、ブラウザのように認識できるが、文法規範のために宣言したほうがいい.JavaScriptは、すべての現代ブラウザおよびHTML 5のデフォルトスクリプト言語です.</p>
<h1>2.JavaScript出力</h1>
<p>JavaScriptには印刷または出力関数がありません.<br> JAvaScriptは、</p>
<ul>
<li>Windowsを使用します.Alert()ポップアップ警告ボックス;</li>
<li>documentを使用します.write()メソッドhtmlドキュメントに内容を書き込む;</li>
<li>innerHTMLを使用してhtml要素に書き込む;</li>
<li>コンソールを使用log()ブラウザのコンソールに書き込む.</li>
</ul>
<p>**Windowsを使用します.alert(): **</p>
<pre><code><script>
window.alert(5 + 6);
操作HTML要素:

document.getElementById("demo").innerHTML = "段落已修改。";

  
コンソールに書き込み:

a = 5;
b = 6;
c = a + b;
console.log(c);


3.JavaScript構文
プログラミング言語では、1つの字面量は3.14のような定数である.
//1.   (Number)        ,   ,     .
3.14
1002
123e5

//2.              :
"walden"
'walden'

//3.      :
[40, 100, 30, 2]

//4.      :
{firstName:"wei", lastName:"walden", age:10}

//5.            
function myFunction(a, b){ return a*b; }

//6.   
javaScript   `var`    ,   `=`     .


**変数は名前で、字面量は値です.**
その他のポイント:
JavaScriptは大文字と小文字に敏感です.
AVaScriptは余分なスペースを無視します.スクリプトにスペースを追加して、読みやすさを向上させることができます.次の2行のコードは同等です.
var person="Hege";
var person = "Hege";

テキスト文字列では、反スラッシュを使用してコード行を改行できます.次の例が正しく表示されます.
document.write("   \
  !");

コメント:
//    .
/*
     .
*/

JavaScriptデータ型:文字列(String)、数値(Number)、ブール(Boolean)、配列(Array)、オブジェクト(Object)、空(Null)、未定義(Undefined).
//1. JavaScript   
//     (  )      :true   false。
var x=true;
var y=false;

//2. JavaScript   
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
//    (condensed array):
var cars=new Array("Saab","Volvo","BMW");
//    (literal array):
var cars=["Saab","Volvo","BMW"];

// 3. JavaScript   
var person={firstname:"John", lastname:"Doe", id:5566};

           :
name=person.lastname;
name=person["lastname"];

//4. Undefined   Null
Undefined            。
             null      。
            Null       .

//5.        ,        "new"       :
var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

//6.   js      :
name = person.fullName();

//                :
methodName : function() { code lines }
//                :
objectName.methodName()

4.JavaScript関数
パラメータなしの関数:
function functionname()
{
    
}

パラメータ付き関数:
function myFunction(var1,var2)
{
  
}

ローカルJavaScript変数:
  • JavaScript関数の内部で宣言する変数は局所変数であるため、関数の内部でのみアクセスできる(この変数の役割ドメインは局所的である).
  • のさらに異なる関数では、同じ名前の局所変数を使用することができる.この変数を宣言した関数だけが変数を識別できるからである.
  • 関数の実行が完了する限り、ローカル変数は削除される.
  • の関数パラメータは関数内部でのみ機能し、局所変数である.

  • グローバルjavaScript変数:関数外で宣言する変数はグローバル変数であり、Webページ上のすべてのスクリプトと関数がアクセスできる.
    JavaScript変数の生存期間:
  • JavaScript変数の宣言周期は、彼らが宣言する時間から始まる.
  • ローカル変数は、関数の実行後に削除する.
  • グローバル変数は、ページが閉じる後に削除される.

  • 未宣言JavaScript変数に値を割り当てる:未宣言変数に値を割り当てると、その変数は自動的にグローバル変数として宣言される.次のようになります.
    function getName(){
        name = "walden"; // name          .
    }
    

    **HTMLでは、グローバル変数はwindowオブジェクトです.すべてのデータとオブジェクトはwindowオブジェクトに属します.自分で定義したグローバル変数、または関数はwindowオブジェクトの変数または関数を上書きすることができる.ローカル変数、グローバル変数の和関数を上書きできます.**
  • continue文はループでのみ使用できる.
  • break文は、ループまたはswitchでのみ使用できる.
  • ラベル参照により、breakは任意のJavaScriptコードブロックを飛び出すために使用することができる.

  • breakラベル参照:
    label:
    statements
    // break   continue                。
    break labelname; 
    
    continue labelname;
    

    5.JavaScript typeof,null,undefined
    5.1 typdefオペレータ
    typedefオペレータを用いる変数のデータ型を検出することができる.
    typeof "John"                //    string 
    typeof 3.14                  //    number
    typeof false                 //    boolean
    typeof [1,2,3,4]             //    object
    typeof {name:'John', age:34} //    object,  js             ,   typedef [  ],   object
    

    5.2 Nullとundefined
    jsではNullは何もないことを示す.Nullがobjectであることをtypeofで検出し、undefinedは値変数が設定されていないことを示し、typedefがundefinedであるかを検出する.
    var person = null;           // Value is null, but type is still an object
    var person = undefined;     //    undefined, type is undefined
    

    6 . jsのデータ型
      JavaScript    5         :
    string
    number
    boolean
    object
    function
    3      :
    Object
    Date
    Array
    2             :
    null
    undefined
    

    typedefオペレータはjs変数のデータ型を検出します.
    typeof "John"                 //    string 
    typeof 3.14                   //    number
    typeof NaN                    //    number
    typeof false                  //    boolean
    typeof [1,2,3,4]              //    object
    typeof {name:'John', age:34}  //    object
    typeof new Date()             //    object
    typeof function () {}         //    function
    typeof myCar                  //    undefined (if myCar is not declared)
    typeof null                   //    object
    
    
    // NaN        number
    //   (Array)       object
    //   (Date)       object
    // null        object
    //             undefined
    

    **constructorプロパティ:**constructorプロパティは、すべてのjs変数のコンストラクション関数を返します.
    "John".constructor                 //      String()  { [native code] }
    (3.14).constructor                 //      Number()  { [native code] }
    false.constructor                  //      Boolean() { [native code] }
    [1,2,3,4].constructor              //      Array()   { [native code] }
    {name:'John', age:34}.constructor  //      Object()  { [native code] }
    new Date().constructor             //      Date()    { [native code] }
    function () {}.constructor         //      Function(){ [native code] }
    

    constructorプロパティを使用して、オブジェクトが配列(文字列「Array」を含む)であるかどうかを確認します.
    function isArray(myArray) {
        return myArray.constructor.toString().indexOf("Array") > -1;
    }
    

    constructorプロパティを使用して、オブジェクトが日付(文字列「Date」を含む)であるかどうかを確認します.
    function isDate(myDate) {
        return myDate.constructor.toString().indexOf("Date") > -1;
    }
    

    JavaScriptタイプ変換:
    // 1.          
    String(x)         //     x          
    String(123)       //     123          
    String(100 + 23)  //                
    
    //Number    toString()         。
    x.toString()
    (123).toString()
    (100 + 23).toString()
    
    // 2.           
    String(false)        //    "false"
    String(true)         //    "true"
    // Boolean    toString()        。
    false.toString()     //    "false"
    true.toString()      //    "true"
    
    // 3.          
    String(Date())      //    Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
    
    // Date    toString()        。
    Date().toString()   //    Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
    
    // 4.         
    Number("3.14")    //    3.14
    Number(" ")       //    0 
    Number("")        //    0
    Number("99 88")   //    NaN
    

    JSコードをデバッグするには、ブラウザに付属のconsoleを使用することができます.log()メソッドデバッグのためにブレークポイントを設定もよい.
    7.JS変数のアップグレード
    jsでは、関数および変数の宣言が関数の最上位に昇格する.jsの変数は使用後に宣言することができる.次の2つのコードの効果は同じです.
       :
    x = 5; //    x     5
    elem = document.getElementById("demo"); //      
    elem.innerHTML = x;                     //        x
    var x; //    x
    
       :
    var x; //    x
    x = 5; //    x     5
    
    elem = document.getElementById("demo"); //      
    elem.innerHTML = x;                     //        x
    

    JavaScriptの初期化は向上しません:
    次の2つのコードの効果は異なります.
       1
    var x = 5; //     x
    var y = 7; //     y
    elem = document.getElementById("demo"); //      
    elem.innerHTML = x + " " + y;           //    x   y
    
       2
    var x = 5; //     x
    elem = document.getElementById("demo"); //      
    elem.innerHTML = x + " " + y;           //    x   y
    var y = 7; //     y
    

    JSON文字列はJavaScriptオブジェクトに変換されます.
    var text = '{ "employees" : [' +
    '{ "firstName":"John" , "lastName":"Doe" },' +
    '{ "firstName":"Anna" , "lastName":"Smith" },' +
    '{ "firstName":"Peter" , "lastName":"Jones" } ]}';
    //   ,   JavaScript      JSON.parse()         JavaScript   :
    var obj = JSON.parse(text);
    

    8.JavaScriptコード仕様
  • 変数名はアルパカ法で命名することを推奨する.
  • 通常演算子(+-*/)の前後にスペースを追加します.
  • は、エディタによってtab解析が異なるため、4つのスペースでコードをインデントすることを推奨する.
  • 短いオブジェクトは1行、長いものは複数行、
  • と書くことができます.
  • 命名規則:変数と関数はアルパカ法、グローバル変数は大文字、定数は大文字である.
  • HTMLを外部JSファイル typeにロードする は ではない.