JavaScript高級教程ノート

9280 ワード

1.JavaScriptオブジェクト
JavaScriptでは、すべてのものが対象です.文字列、数値、配列、関数、JavaScriptは、カスタムオブジェクトを許可します.JavaScriptは、String、Date、Arayなど、複数の内部オブジェクトを提供しています.オブジェクトは属性と方法のあるデータタイプだけです.ブールタイプ、数字タイプ、文字列タイプ、日付タイプ、数学と正規表現タイプ、配列タイプ、関数の種類はすべてオブジェクトとすることができます. , .
//          :
objectName.propertyName\
// :
var message="Hello World!";
var x=message.length;

//       :
objectName.methodName()
 :
var message="Hello world!";
var x=message.toUpperCase();
JavaScriptオブジェクトを作成する集中方法:
// 1.       
person = new Object();
person.firstname = "wei";
person.lastname = "walden";
person.age = 50;
person.eyecolor = "blue";
    (      (literals)  ):
person = {firstname: "wei", lastname: "walden", age: 50, eyecolor: "blue"};

//2.            
//     
function person(firstname, lastname, age, eyecolor){
    this.firstname = firstname;
    this.lastname = lastname;
    this.age = age;
    this.eyecolor = eyecolor;
}
//         
var myFriend = person("xiao", "ming", 15, "red");
var xiaoyu = person("xiao", "yu", 23, "blue");

//3.       JavaScript   
         ,            .

//4.       JavaScript   
              ,                 .
      : 
    function Person(firstname, lastname, age){
        this.firstname = firstname;
        this.lastname = lastname;
        this.age = age;
        this.changeFirstName = changeFirstName;
        
        function changeFirstName(name){
            this.firstname = name;
        }
    }

    var per = new Person("wei", "walden", 23);
    alert(per.firstname);
    per.changeFirstName("wang");
    alert(per.firstname);
JavaScript類:
  • JavaScriptは対象に向けた言語ですが、JavaScriptはクラスを使用しません.
  • JavaScriptでは、クラスを作成したり、クラスを介してオブジェクトを作成したりしません.
  • JavaScriptはprototypeに基づくもので、クラスに基づくものではない.
  • JavaScriptのfor inサイクル:
    for (variable in object)
    {
      code to be executed
    }
    
    2.JavaScript Numberオブジェクト
    JavaScriptは一つの数字タイプしかなくて、使ってもいいです.小数点を使わずに数字を書いてもいいです.
    たとえば:
    var pi = 3.14;
    var x = 34;
    
    //     
    var y = 1.23e5; //123000
    var z = 1.23e-5; //0.0000123
    
    すべてのJavaScript数字は64桁です.JavaScriptはタイプ言語ではないので、JavaScriptはタイプ別の数字を定義しません.JavaScriptでは、数字は整数タイプと浮動小数点タイプに分けられません.すべての数字は浮動小数点タイプです.
    8進数と16進数:プレフィクスが0なら8進数と解釈されます.プレフィックスが0 xの場合、16進数として解釈される.デフォルトでは、jsは10進数です.toString()を使って、各種進数の出力ができます.
        var num = 900;
        alert(num.toString(20)); //250
        alert(num.toString(16)); //384
        alert(num.toString(10)); //900
        alert(num.toString(8)); //1604
        alert(num.toString(2)); //1110000100
    
    無限大:数字の演算結果がJSで表現できる上限(オーバーフロー)より大きい場合、無限大の値がJavaScriptでInfinityで表されます.負の数が表現できる小数以下の場合は無限大となり、-Infinityで表します.無限大の行為特性は私達の期待と一致しています.彼らの加減乗除演算結果に基づいて、まだ無限大です.
    //JavaScript  :
        var num = 2;
        var n = 0;
        while(num != Infinity) {
            num = num * num;
            document.write(num+"
    "); n++; } document.write(" n = " + n); // 4 16 256 65536 4294967296 18446744073709552000 3.402823669209385e+38 1.157920892373162e+77 1.3407807929942597e+154 Infinity n = 10
    NaN−非数値値:NaN属性は非数値値の特殊値を表しています.この属性は、ある値が数字ではないことを示すために使用されます.Numberオブジェクトをこの値に設定して、それがデジタル値ではないことを示しています. isNaN() NaN .
    
        var x = 1000 / "Apple";
        isNaN(x); // returns true,         ,  NaN,     true
        var y = 100 / "1000";
        isNaN(y); // returns false.     ,      ,     false.
    
    一つの数を0で割ると無限大で、無限大は一つの数字です.
    var bigNum = 1 / 0; //big == Infinity
    
    数字は数字でもいいし、オブジェクトでもいいです.例えば、
    var x = 123;
    var y = new Number(123);
    typeof(x) // returns Number
    typeof(y) // returns Object
    
    数値の属性:
  • MAX_VALE
  • MIN_VALE
  • NEGATIVE_INFINITY
  • POSITIVE_INFINITY
  • NaN
  • prototype
  • constructor*数字の方法:*
  • toExponential()
  • toFixed()
  • toPrecsion()
  • toString()
  • valueOf()
  • 3.JavaScript String
    Stringは既存の文字を処理するのに早いです.jsの文字列はダブルクォーテーションまたはシングルクォーテーションマークで定義できます.位置索引を通じて文字列の中の任意の文字にアクセスできます.
    var name = "Wei Dongfang";
    var cr4 = name[4]; //cr4 == 'D'
    
    いくつかの方法の使い方:
        //      
        var str="Hello world, welcome to the universe.";
        var n=str.indexOf("welcome1");
        alert(n);
    
        //      ,                ,         ,      `null`
        var str="Hello world!";
        document.write(str.match("world") + "
    "); document.write(str.match("World") + "
    "); document.write(str.match("world!")); // str="Please visit Microsoft!" var n=str.replace("Microsoft","w3cschool"); // , . var str = "asd,asd,ad, yre,jh"; var arr = str.split(","); alert(arr[0]);
    文字列の属性と方法:
    属性:
  • length:文字列の長さを取得する
  • prototype
  • constructor:オブジェクトの構造関数コードを取り出します.例えば、function String(){native code}
  • 方法:
  • charAt():指定された位置に戻る文字.
  • charCodeAt():指定された位置に戻る文字のUnicoode符号化.
  • concat():接続文字列.
  • from CharCode():文字コードから文字列を作成します.
  • indexOf():パラメータ文字列の文字列の位置を返します.-1
  • を返します.
  • lastIndexOf():indexOf()は文字列の先頭から検索を開始し、lastIndexOf()は最後から検索を開始する
  • match():マッチング文字列であり、文字列にパラメータが与えられた文字列が含まれている場合、この文字列を返します.null
  • を返しませんでした.
  • replace():文字列を置換し、パラメータの中の第二文字列にパラメータの第一文字列
  • を置換する.
  • search():正規表現にマッチする値を検索します.
  • slice()
  • スプリット():文字列分割、分割後は配列タイプ
  • substr():開始インデックス番号から文字列の指定数の文字を抽出する.stringObject.substr(start,length)
  • substring():文字列内の2つの指定された索引番号の間の文字を抽出する.stringObject.substring(start,stop)
  • toLowerCase():小文字に変換する
  • toUpperCase():大文字に変換する
  • valueOf():取出値
  • 4.JavaScript Date(日付)
    属性:
  • constructor:このオブジェクトを作成するDate関数の参照を返します.
  • prototype:このオブジェクトに動的に属性を追加できます.
  • よく使う方法
    方法
    説明
    get FulYear()
    Dateオブジェクトから4桁の数字で年を返します.setに対応する方法があり、年を設定します.
    get Month()
    Dateオブジェクトから月に戻る(0~11).setに対応する方法があります.
    get Date()
    Dateオブジェクトから一ヶ月のある日(1~31)に戻ります.setに対応する方法があります.
    get Hours()
    Dateオブジェクトに戻る時間(0~23).setに対応する方法があります.
    get Minutes()
    Dateオブジェクトに戻る分(0~59).setに対応する方法があります.
    get Seconds()
    Dateオブジェクトの秒数(0~59)を返します.setに対応する方法があります.
    get Milliseconds()
    Dateオブジェクトのミリ秒(0~999)を返します.セットに対応する方法があります
    getDay()
    Dateオブジェクトから一週間のうちのある日(0~6)に戻ります.
    getTime()
    1970年1月1日現在のミリ秒数に戻ります.setに対応する方法があります.
    パース()
    1970年1月1日深夜から指定日までのミリ秒数を返します.
    toDateString()
    Dateオブジェクトの日付部分を文字列に変換します.
    toTimeString()
    Dateオブジェクトの時間部分を文字列に変換します.
    toString()
    Dateオブジェクトを文字列に変換します.
    toLocareDateString()
    ローカル時間書式に従って、Dateオブジェクトの日付部分を文字列に変換します.
    toLocale TimeString()
    ローカル時間書式に従って、Dateオブジェクトの時間部分を文字列に変換します.
    toLocale String()
    ローカル時間書式によると、Dateオブジェクトを文字列に変換します.
    詳細:http://www.w3school.com.cn/jsref/jsref_OBdate.asp
    5.JavaScript Mathオブジェクト
    Mathオブジェクトのプロパティ
  • PI:円周率3.14159へ戻る用法:Math.PI
  • SQRT 2:2の平方根
  • を返します.
  • SQRT 1_2:2の平方根の逆数
  • を返します.
    Mathオブジェクトの方法:
    方法
    説明
    Math.abs(x)
    xの絶対値を返します
    Math.ceeir(x)
    数字を切り捨てる
    Math.flor(x)
    数を切り捨てる
    Math.round(x)
    数字を四捨五入する
    Math.max(x,y,z,…,n)
    x,y,z,…,nの中の最高値を返します.
    Math.min(x,y,z,…,n)
    x,y,z,…,nの最低値を返します.
    Math.pow(x,y)
    xのy乗を返します.
    Math.random()
    0~1の乱数を返します.
    Math.sqrt(x)
    は、数の平方根を返します.
    6.JavaScript Arayオブジェクト
  • concat()は2つ以上の配列を接続し、結果を返します.
  • every()は、数値要素の各要素が条件に合っているかどうかを検出する.
  • some()は、配列要素の中に要素が指定条件に適合しているかどうかを検出する.
  • indexOf()は、配列内の要素を検索し、その位置を返します.
  • join()は、配列のすべての要素を文字列に入れます.
  • lastIndexOf()は、指定された文字列値が最後に現れた位置を返し、文字列の指定された位置を後から前へ検索します.
  • pop()は、配列の最後の要素を削除し、削除された要素を返します.
  • pushは、配列の最後に1つ以上の要素を追加し、新しい長さを返します.
  • reverse()は、配列の要素順序を反転させる.
  • sort()は、配列の要素を並べ替える.
  • toStering()は、配列を文字列に変換し、結果を返します.
  • // concat()          
      var arr1 = ["Cecilie", "Lone"];
      var arr2 = ["dfgs", "fgerev"];
      obj = arr1.concat(arr2, arr1, arr2);
    
    // array.join(separator)
    obj = obj.join("&");//      `&`    .  
    obj = obj.join(); //      `,`    .  
    
    //      ages            18 :
    var ages = [32, 33, 16, 40];
    
    function checkAdult(age) {
        return age >= 18;
    }
    
    function myFunction() {
        document.getElementById("demo").innerHTML = ages.every(checkAdult);
    }
    
    //              18:     every()
    var ages = [3, 10, 18, 20];
    function checkAdult(age) {
        return age >= 18;
    }
    function myFunction() {
        document.getElementById("demo").innerHTML = ages.some(checkAdult);
    }
         :
    true
    
    //sort()   
    //     
    var arrWord = ["jfds", "asdf", "aaswf", "poyt"];
    obj = arrWord.sort();
    //     
    obj = arrWord.sort();
    obj = obj.reverse();
    
    //    
    var arrNum = [100, 20, 50, 30, 8];
    obj = arrNum.sort(function(a,b){ return a-b; });
    //    
    var arrNum = [100, 20, 50, 30, 8];
    obj = arrNum.sort(function(a,b){ return b-a; });
    
    詳細:http://www.runoob.com/jsref/jsref-obj-array.html