jsのカスタムプロパティの値とインデックス(2019年6月27日)

レビュー

  • プロセス制御:シーケンシャル構造\分岐構造\ループ構造

  • if文

       1- if(条件){  条件成立执行的语句          }
       2- if(条件){   条件成立执行的语句    }else{   条件不成立执行的语句     }
       3- if(条件){ ... }else if( 条件 ){ ... } .... else{   ...   }
    
    
  • switchステートメント

    • 変数とケースステートメント間のスイッチの絶対比較で、「===」の等価
        var a = '1';
        swicth(a){  
            case 1 : 代码;break;
            case 2 : 代码;break;
            case 3 : 代码;break;
            ...
            default:代码;
        }
    
  • forループ

        for(var i = 0; i < 10; i++){
            console.log(i);
        }
        console.log(i); //10
    
        //遍历数组
        var ary = [2,3,4,5];
        for(var i = 0; i < ary.length; i++){
            console.log(ary[i]);
        }
        //批量生成标签
        var str = '';
        for(var i = 0; i < 100; i++){
            str += '<div></div>';
        }
    
  • 要素を取得する方法

    • 1-VAR oBox =のdocument.getElementById( 'ボックス'); //単一の要素(DOMオブジェクト)

          oBox.style.width = "100px";
          oBox.onclick = function(){   }
      
    • 2-VAR ADIV = document.getElementsByTagName( 'リー')。

          var aDiv = oBox.getElementsByTagName('li');
          // 类数组 [li,li,li]
          for(var i = 0; i < aDiv.length; i++ ){
               aDiv[i].style.width = '100px';  
               aDiv[i].onclick = function(){
      
                   this.style.width = "100px";
      
               }
          }
      
    • 3-VAR ADIV = document.getElementsByClassName( '赤')。

  • 出力1アラート(); 2-はconsole.log(); console.dir(); // プリントオブジェクトのdocument.write詳細3();
    -本体の内部に、タグ本体にのみ書き込み動作コンテンツ-テキストとラベルを書き込むことができます-実行が体の最後に追加された場合に実行される最初のJSは、ラベルの前に書かれていたであろう場合-イベントの内部に配置された場合には、体内の以前の内容を上書きします

(A)サイクル

  • 1-whileループ

        初始化循环变量;
        while(循环条件){
            循环体;
            更新循环变量;
        }
    
  • 2-DO-ながら、

    • 条件が満たされていないときとの区別は、やる-しばらくは一度だけ実行される一方
```
    初始化循环变量;
    do{
        循环体;
        更新循环变量;
    }while(循环条件);

```
- 3- continue :结束本轮循环,继续下一轮循环
- 4- break : 跳出整个循环

ループ内用(B)

  • 1 - オブジェクト操作

       var obj = {
            name:'优就业',
            age:18,
            1:'aaaa',
        };
        //查看属性值
        console.log(obj.age);
        // 添加属性
        obj.city = "北京";
        console.log(obj);
        //修改已有的属性值
        obj.age = 19;
        console.log(obj);
        //删除属性
        delete obj.name;
        console.log(obj);
    
        //当对象属性名是数字时,需要 obj[数字]
        console.log(obj[1]);
    
       console.log( obj['age'] );
       //如果属性名使用的是变量,也需要用obj[变量名]访问
       var a = 'age';
       console.log(obj[a]); 
    
  • ループ内のための2-

        for(var key in obj){
            //key是一个变量,代表的是对象的属性名
            //obj代表要遍历的对象
            //obj[key] 代表属性值
        }
    
    • 昇順優先ループトラバーサルの数値属性で、他の属性定義されたシーケンス・トラバーサル

(C)本の場合には

  • これを使用する必要があるの1-なぜイベント?

        var aLi = document.getElementsByTagName('li'); //[li,li,li]
        for(var i = 0; i < aLi.length; i++){
            aLi[i].onclick = function(){
                console.log(i); 
                // 因为用户点击时,for循环早已执行完毕,i最终的值是3,再取i的时候永远是3,所以不能使用i
                // 在批量绑定事件的事件处理函数里面使用this代表触发事件的那个元素
                this.style.border = "1px solid black";  
            }
        }
    
    
  • 私は問題を解決するために使用することはできませんどのように2 - ?

        for(var i = 0; i < aLi.length; i++){
            aLi[i].index = i;  //给每个li设置一个自定义属性index,用来存li的索引
            aLi[i].onclick = function(){
                console.log(this.index); // 事件发生时通过this.index访问当前对象的索引值
            }
        }

おすすめ

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