web前の問題集ノート——JavaScriptの部分

3681 ワード

jsの変数タイプ
値の種類と参照の種類
  • 値タイプundefined string number book
  • 引用タイプobject:{}[]null function
  • 強制変換文字列スティッチング==演算子if文論理演算子は、trueかfalseかを判断します.consosolie.logs(!a);     
  • ==と==強制変換
    JSの内蔵関数
    JS変数は格納方式によってどのタイプに分類されますか?
    Jsonを理解する
    window.onloadとdoMContentloadedブラウザのレンダリング
    スコープ
    JSモジュール化
    JSの基礎計算方
    スコープとクローズド
    コンテキストを実行
    関数の宣言と関数の表式を自動的に前倒しします.
    this
    実行時にのみ、値を確認することができます.

    スコープ
    スコープチェーン
    包みを閉じる
    変数の昇格
    関数と宣言は前倒しとなります.
    thisのいくつかのシーン
    コンストラクタとして
    オブジェクトとしての属性
    普通の関数として
    コールを直接使う
    applyは[]配列方式を使用します.
    bind(.bind({y:100})
    10 aを作成し、それぞれのポップアップ番号をクリックします.
    スコープ
    包みを閉じる
     
    非同期とシングルスレッド
    同期と非同期

    set Timeout
    先端に非同期を使うシーン
  • 待つことができる状況では、非同期が必要です.
  • は、alertブロッキングプログラムのように
  • を実行することができません.
  • したがって、待つ場合は、非同期のタイミングタスクが必要である.setTimeout setIntervalネットワーク要求:ajax要求、動的IMGのローディング
  •             var xhr=XMLHttpRequest()
    ​
                xhr.open("get",url)
    ​
                xhr.send()
    ​
                xhr.onreadystatechange=function(){
        
                    if(xhr.readystatechange==4&&xhr.status==200)
                        {
                            document.getElementById("myDiv").innerHTML=xhr.responseText;
                        }
                }
    ​
    イベントバインド
    日付
    function foematDate(dt){
        if(!dt){
        dt=new Date()
    }
        var year = dt.getFullYear()
        var month = dt.getMonth()+1
        var date = dt.getDate()
        if(month<10){
            month='0'+month
    }
        if(date<10){
            date='0'+date
    }
        return year+ '-' +month+'-'date //    
    }
    var dt=new Date()
    var formatDate = formatDate(dt)
    console.log(formatDate)
    Math
    0-1間の乱数Math.randomを取得します()
    var random=Math.random()
    var random=random+'0000000000'
    var random=random.slice(0,10)
    console.log(random)
     
    配列API
    forEach:すべての要素を巡回
    var arr = ['a','b','c','d']
    arr.forEach(function(item,index){
        console.log(index,item)
    })
     
    function forEach(obj,fn)
    {
        var kry
        if(obj instanceof Array)
        {
            obj.forEach(function(item,index)
            {
                fn(index,item)
            })
        }
        else
        {
            for(key in obj)
            {
                if (obj.hasOwnProperty(key))
                {
                    fn(key,obj[key])
                }
            }
        }
    }
    var arr = [1,2,3,4]
    forEach(arr,function(index,item)
    {
        console.log(index,item)
    })
    var obj={x:100,y:200,z:300}
    forEach(obj,function(key,val)
    {
        console.log(key,val)
    })
     
    every:すべての要素が条件に合っているかどうかを判断します.
    var arr = [1,2,3,4]
    var result=arr.every(function(item,index){
       if(item<5){
           return true
       }
    })
    console.log(result)
    そして、少なくとも一つの要素が条件に合っていると判断します.
    var arr = [1,2,3,4]
    var result=arr.some(function(item,index){
       if(item<3){
           return true
       }
    })
    console.log(result)
    ソフト
    ):並べ替え
    var arr = [1,6,2,7,3,5,4]
    var arr2=arr.sort(function(a,b){
           return a-b //             
    })
    console.log(arr2)
    map:元素の再組み立て
    var arr = [1,2,3,4]
    var arr2=arr.map(function(item,index){
           return '+item+'
    })
    console.log(arr2)
    filter:条件に適合する要素をフィルタリングする
    var arr = [1,2,3,4]
    var arr2=arr.filter(function(item,index){
           if(item>2){
               return true
           }
    })
    console.log(arr2) 
    for in
    var obj = {
        x:100,
        y:200,
        z:300
    }
    var key
    for (key in obj)
        if(obj.hasOwnProperty(key))
        {
            console.log(key,obj[key])
        }