JSの機能(2019年6月28日)

レビュー

  • 1 - しばらく和行い、しばらく

        初始化循环变量
        while(条件){
            循环体;    
            更新变量操作;
        }
    
        do{
            循环体;  
        }while(条件);
    
    
  • 2ブレークサイクルの現在のラウンドの終わりの端を通して続け、次のサイクルが続くサイクルを壊し続けます

        for(var i = 0; i < 5; i++){
            if(i==2){
                break;
            }
            console.log(i);
        }
    
    
  • FOR-3-(物体を横断するように設計されました)

        var obj = {name:'ujiuye',2:'bbb',age:18,1:'aaa'};
        for(var key in obj){
            key:属性名
            obj[key]: 值
        }
    
    
  • 4 - この

        var aLi  = document.getElementsByTagName('li'); //[li,li,li] 0-2
        var aDiv  = document.getElementsByTagName('div'); //[div,div,div] 0-2
        for(var i = 0; i < aLi.length; i++){
    
            oLi[i].index = i;
    
            oLi[i].onclick = function(){
                console.log(i);
                this.style.backgroundColor = "red";
                console.log(this.index);
                var a = this.index; //a = 1
                aDiv[a].style.display = "block"; 
            }
        }
        // i = 3;
    

(A)関数

  • コードブロックは再利用することができる機能であります

  • 作成するための1-機能

    • ヒープメモリスペースを見つけるために、プロセスを作成するための機能、機能コードの本体は、関数名に割り当てられたメモリアドレスに格納されています
        function 函数名(){       
            //函数体
        }
    
  • 2-呼び出す関数

    • 関数宣言の後、複数回呼び出すことができ
    • 新しいプライベートスコープ機能を毎回呼び出す必要がありますが、お互いの間で変数にアクセスすることはできませんスコープは、グローバルスコープは、内部変数のプライベートスコープにアクセスすることはできません
        函数名();
    
  • 3 - 関数の戻り値

    • 関数の結果の実装が滞在したい後、値のリターンを返します
    • あなたが返されない場合は、機能を残して定義されていません(デフォルトの関数の戻り値は不定です)
    • return関数本体は実行を停止することができます
          function sum(){
              var total = 1+3;
              return total; //返回的是total代表的值
              console.log(total);//这个代码不会运行
          }
      
          var n = sum();  //n = 4
      
      
  • 4-関数パラメータ

    • 関数パラメータを機能させるために、より柔軟な機能を可能にします
    • デフォルトのパラメータ値が割り当てられていない定義されていません
        function sum(n,m){  //函数定义同时定义形参,相当于声明了两个变量
            var total = n+m;
            return total;
        }
        var t = sum(100,200);//调用函数时传递实参
        console.log(t);
    
  • 5つのスタイルの操作

    • 設定:ele.style.widthは、インラインスタイルを設定されています
    • 取得:ele.style.widthスタイルは、唯一のラインの間に取得することができます
    • アフリカ開発銀行の部屋のスタイル:
      • 標準ブラウザ:getCoumputedStyle(ELE).width
      • IEブラウザ:ele.currentStyle.width
    • 機能パッケージのスタイルを取得します。
        function getCss(ele,attr){
            return  ele.currentStyle==="undefined" ? getCoumputedStyle(ele)[attr] : ele.currentStyle[attr];
        }
        getCss(box,'width');
    
  • 6-引数は、引数のコレクションを表す関数オブジェクトに組み込まれています

        function fn(){
            console.log(arguments);
        }
    
        fn(1);  //arguments [1]   
        fn(1,2);     // arguments [1,2]  
    
    
  • 7-異なる関数形

  • 1) - 名前の関数

        function sum(){    
        }
        sum();
    
  • 2) - イベントハンドラ

        //事件处理函数,一般使用的是匿名函数
        box.onclick = function(){
    
        }
        //如果事件绑定使用的是命名函数,不能加(),不能传参
        box.onclick = fn;
    
        //如果命名函数需要传参,需要放在匿名函数里面
        box.onclick = function(){
            fn('hello');
        }
    
  • 3) - オブジェクトの関数の方法

    • オブジェクト関数の場合は、属性値、コール属性オブジェクトのメソッド
        var obj = {
        name:'ujiuye',
        age:18,
        eat:function(){ //eat方法
                console.log('吃面条!');
            }
        }
        obj.eat();
    
  • 同じ名前の問題の8機能

        // 函数名相同时,后面会覆盖前面的
        fn1();  //222
        function fn1(){
            console.log(111);
        }
        fn1(); //222
        function fn1(){
            console.log(222);
        }
        fn1();//222
    
  • 9-この時点

    • 1) - これは正常な機能ウィンドウオブジェクトを指し
        //命名函数(普通函数)
        function fn(){
            console.log(this);// 普通函数里面的this是window
        }
        fn();
    
    • 2) - イベントをトリガした要素を指し、この内部イベントハンドラ、
        var oBox = document.getElementById('box');
        //事件处理函数,一般使用的是匿名函数
        oBox.onclick = function(){
            console.log(this); // oBox
        }
    

    -3) - メソッドこのオブジェクト内のオブジェクトの検索方法を指し

        var obj = {
            name:'ujiuye',
            age:18,
            eat:function(){ //eat方法
                console.log(this);
            }
        }
        obj.eat(); // obj
    
  • 10〜グローバルスコープとプライベートスコープ&グローバル変数とローカル変数

    • グローバルスコープ:JS割り当てられたランタイムスタックメモリ(パブリックスペース)を見ます
    • グローバル変数:グローバルスコープ変数の宣言、グローバル変数と呼ばれるには、限り何もグローバル変数が関数内で宣言されていないとして、どこからでもアクセスすることができます
    • プライベート範囲:関数が実行されたときにプライベートスコープを作成
    • ローカル変数:関数宣言または関数パラメータ内の変数、すべてのローカル変数は、効果が外部にアクセスすることができません
    • スコープチェーン:あなたはグローバルスコープを見つけるまでされていない場合、エラーに、見上げ保管しない場合や機能に使用される変数がない場合は、現在のスコープから内側に見える範囲のレベルを調べ、(あなたが親の子を見つけることができ、父親は子供を見つけることができません)
    
    
  • 事前解決11-(変数が音を述べ)

    • 私たちは、事前にブラウザがJSを実行する前に、いくつかのことを行うVARを見つけ、関数宣言します
    • 時間が未定義であることのために割り当てられた値がないとvarステートメント
    • 声明および機能の割り当てと
    • 事前解析はトップダウンからのコードを実行する前に終了した後
    • 現在のスコープは、関数は第1プリ解析された内部で実行し、次にコードを実行するときに事前解析が発生します
  • 12-と宣言通常関数式の関数との間の差

        fn1();//因为函数在预解析时已经被声明并且赋值,所以可以在再函数定义之前调用
        function fn1(){  }
    
        fn2(); // 因为函数写在等号后面不会被预解析,所以这种方式不能再函数定义之前调用
        var fn2 = function(){  }
    
  •  

おすすめ

転載: www.cnblogs.com/didamehulayou/p/11106782.html