JavaScriptの基本文法

8335 ワード

JavaScript基本文法の復習について簡単すぎて書かないということです.
データタイプの変換
どのようにGoogleのブラウザーを使って、迅速なデータのタイプを調べますか?
文字列の色は黒、数値タイプは青、ブールタイプは赤、undefined、nullは灰色です.
文字列の種類に変換
  • var.toStringの方法は多く使われていますが、noneとundefineを変換することはできません.
  • string(var)は、noneとundefineが文字列に変換されるときにstring()を使用して変換
  • を実現することができる.
  • var+''は、空の文字列を追加することにより文字列に変換されるタイプ
  • である.
    数値の種類に変換
  • Number(var)方法は、文字列とbollanを数字に変換することができます.varがアルファベットを含むなら、nanに変換します.bootleanはtrueであれば、1に変換されます.そうでなければ、0
  • に変換されます.
  • parseInt(var):ブールタイプを数値タイプに変換できなくて、全部アルファベットのvarに変換できませんでしたが、文字列を変換する時に数字文字に出会うと数字に変換されます.非数値は戻ります.パーパーミッションFloat(var):浮動小数点数に変換して、ブーンのタイプを変換できません.パーrseIntは整数数字にしか変換できません.パーサーFloatは第一の点を解析します.第二の点または非数値文字に出会うと
  • に戻ります.
  • +/-:変数の前にプラス記号を付けて、ブーメランタイプを変換できます.varはアルファベットを含んでいるので、nan
  • に変換されます.
    ブールの種類に変換
  • Boolean(var):falseに変換する場合:null、undefined、'、0、nan;
  • ブールタイプの隠し変換
  • 条件判定において、ループ判定において暗黙的な変換が行われる.
    演算子
    ==と==の違い==は変数の値が等しいかどうかを判断し、数値タイプは文字列タイプと判断することができます.変数のタイプが一致するかどうかを先に判断し、数値が等しいかを判断し、switchは==の判定方式で判断します.
    関数
    関数の形式1:ネーミング関数
    //     
            function getSum() {
                //argument    
                console.log(arguments);
                var sum = 0;
                for (var i = 0; i <= 100; i++) {
                    sum += i;
                }
            }
            //    
            getSum();
    
    2:関数式(匿名関数)
    //     ,    ,      
            var fn= function(){
                
            }
    
    3:コール機能
    //      
            (function () {
                console.log("     ");
            })()
    
    関数のargment:関数の実際参照を取得すると、配列に似ています.配列の形で呼び出すことができますが、配列ではありません.
    関数もデータの種類です.
     //     ,    ,      
            var fn = function () {
                console.log('     ');
            }
    
            //      
            function test (fun) {
                //          undefined
                fun();
            }
            test(fn);
    
    オブジェクト
    オブジェクトの作成:1:オブジェクトの字面量の方式で作成します.
            var student = {
                name: '  ',
                age: 18,
                sex: ' ',
                sayHi:function() {
                    console.log(this.name+'hi');
                }
            }
            student.sayHi();
    
    2:new object()の方式
            var hero = new Object();
            //           undefine
            hero.name = '  ';
            hero.weapon = '  ';
            hero.attack = function (){
                console.log(this.name+'  ');
            }
    
    3.カスタムコンストラクタの方式
           //       
            function Hero(name,weapon,equipment,blood){
                this.anme = name;
                this.weapon = weapon;
                this.equipment = equipment;
                this.blood = blood;
    
                this.attack = function(){
                    console.log(this.name+'  ');
                }
            }
            var hero1 = new Hero('  ','  ',['  ','  '],100);
            var hero2 = new Hero('  ','  ',['  ','  '],100);
    
    newの実行過程
  • メモリに空きオブジェクトを作成する
  • thisは、メモリ内で作成したばかりのオブジェクト
  • を指す.
  • は、構造関数を指し、構造関数に属性と方法を設定する
  • .
  • は、現在のオブジェクト
  • を返します.
    thisキーワード
    関数のthisとは、windowメソッドのthisのことです.この方法が属しているオブジェクト構造関数のthis:thisのオブジェクト構造関数で作成されたオブジェクトのことです.
    オブジェクトを巡回して削除する属性
    for in方式
            var student = {
                name: '  ',
                age: 18,
                sex: ' ',
                sayHi:function() {
                    console.log(this.name+'hi');
                }
            }
            student.sayHi();
            // for inb    
            for(var key in student){
                console.log(key+'------'+student[key]);
            }
            //     
            delete student.sex;
            console.log(student.sex);
    
    Javascript内蔵オブジェクト
    Date:構造関数です.まずnew Date()を通じて日付インスタンス(オブジェクト)を作成する必要があります.
    //      
            function formateDate(date) {
                if(!(date instanceof Date)) {
                    console.error("      ");
                    return;
                }
                var year = date.getFullYear();
                var month = date.getMonth()+1;
                var day = date.getDate();
                var hour = date.getHours();
                var minute = date.getMinutes();
                var second = date.getSeconds();
    
                return year+'-'+month+'-'+day+'-'+hour+':'+minute+':'+second;
            }
            var d =new Date();
            var date1= formateDate(d);
            console.log(date1);
    
    時間の差を計算する
     function getInterval(strat,end) {
                var interval = end -strat;
                //       /   /   /  
                interval = interval / 1000; //  
                day = interval /60 /60 /24; //  
                hour = interval /60/60%24; //  
                minute= interval /60%60;
                second = interval%60;
                return {
                    day:day,
                    hour:hour,
                    minute:minute,
                    second:second
                }
            }
    
    配列オブジェクトarr.valueOf()は、配列オブジェクト自体に戻る.arr.toString()は、配列を文字列に変換し、コンマで区切る.array.pop()は、1つの配列の最後の要素を削除し、この要素を返します.array.shift()は、配列の最初の要素を削除し、この要素を返します.array.push(element1, ...elementN)は、配列の最後に1つ以上の要素を追加し、配列の新しい長さを返します.array.unshift(element1, ...elementN)は、配列の先頭に1つ以上の要素を挿入し、配列の新しい長さを返します.array.sort([compareFunction(firstEl,secondEl)])は、配列の要素を元の位置に並べ替えて、この配列を返します.sortは不安定かもしれません.デフォルトは文字列のunicodeコードの位置によって並べ替えられます.记aとbは二つの比较される要素です.
  • 関数function(a,b)の戻り値が0より小さい場合、aはbより前の
  • に配置される.
  • は、関数の戻り値が0に等しい場合、aとbの相対的な位置は不変である(保証されていない)
  • .
  • 関数の戻り値が0より大きい場合、aはbの後に
  • に配置される.
  • 比較関数出力結果は安定していなければなりません.そうでなければ、順序付けの結果は不確定な
  • になります.array.reverse()は、配列中の要素の位置を前後に反転させ、最初の要素が最後となる.array.splice(start, deleteCount[, item1[, item2...])は、任意の位置で配列に任意の要素(スティッチング)を追加または削除し、削除された要素からなる配列を返し、なければ空の配列を返します.array.concat(value1, value2.....)は、入力された配列または非配列値を元の配列と結合し、新しい配列を構成して戻ってくることに注意する.
  • オブジェクト参照(オブジェクト直接量ではない):concat方法は、オブジェクト参照をコピーして組み合わせられた新しい配列に配置し、元の配列と新しい配列のオブジェクト参照は同じ実際のオブジェクトを指すので、実際のオブジェクトが修正されると、両方の配列も同時に修正される
  • .
  • 文字列と数字(元の値で、元の値を包装するstringとnumberオブジェクトではなく):concat方法は文字列と数字の値をコピーして新しい配列に入れます.
    var arr1 = [1, 2, {a: 'test'}]
    var arr2 = ['a', 'b', 'c']
    
    var output = arr1.concat(arr2)
    console.log(output) // output[2].a == 'test'
    setTimeout(function(){
           arr1[2].a = 'has changed'
           console.warn(output)  //output[2].a == 'has changed'
    }, 5000)
    
    array.join([separator = ','])は、配列中のすべての要素を一つの文字列に接続します.(デフォルトではカンマを区切り記号として使用します.separatorが空の文字列であれば、配列中のすべての要素は直接接続されます.)要素がundefinedまたはnullであれば、空の文字列に変換されます.array.slice([begin = 0 [, end = this.length - 1]])は、配列の一部を浅いコピーで新しい配列オブジェクトに保存し、この新しい配列を返します.元の配列から抽出された要素を含む新しい配列だけを返します.array.indexOf(searchElement[, fromIndex = 0])は、指定された要素が配列内で見つけることができる最初のインデックス値を返します.そうでなければ、-1 from Indexは負であり、最後からn番目の開始(この時も前から後ろへ照会する配列)が「厳密に等しい」(==)を使用してマッチングすることを表します.
    文字列オブジェクトの一般的な方法
    文字列に注意する方法は、文字列オブジェクトの方法substring()であり、開始インデックスから終了インデックスまでの1つの文字列のうちの1つのサブセットを返すか、開始インデックスから文字列の末尾までの1つのサブセットを返す.
    var anyString = "Mozilla";
    console.log(anyString.substring(0,3)); //Moz
    console.log(anyString.substring(3,0)); //Moz
    
    charAt()方法は、1つの文字列から指定された文字を返す.HTML 5ではstr[0]に相当する.
    console.log('hello'.charAt(3)) //l
    
    charCodeAt()文字列の下付きを検索し、unicode値順を返します.
    console.log("ABC".charCodeAt(0)) // returns 65
    
    concat()方法は、1つ以上の文字列を元の文字列と連結し、新しい文字列を形成して返します.
    let hello = 'hello';
    console.log(hello.concat(' word','!')); //hello word!
    
    replace()は要素の置換にマッチし、最初の文字のみを置換します.
    console.log('hi word'.replace('hi','hello')) //hello word
    
    すべての要素を置換
    var index=-1
    do {
      index=s.indexOf('o',index+1);
      if(index!=-1){
      //  
      s=s.replace('o','!');
      }
    }while(index !=-1)
    
    trim()は文字列の両側のスペースを削除する.
    console.log(' hello '.trim()); //hello
    
    文字列間のスペースはどうやって取り除きますか?replaceは使えます