JS--Day14 (通常の関連属性メソッド + ES6 新規追加)

1. 総合形式の必須選択

var oSexs = document.getElementsByName("sex");
    var oHobby = document.getElementsByName("a");

    var flagSex = false;
    var flagHobby = false;

    function isSelectSex(){
        for(var i=0; i<oSexs.length; i++){
            if(oSexs[i].checked){
                return true;
            }
        }    

        return false;
    }

    function isSelectHobby(){
        for(var i=0; i<oHobby.length; i++){
            if(oHobby[i].checked){
                return true;
            }
        }    

        return false;
    }

    xxx.onsbumit = function(){
        flagSex = isSelectSex();
        flagHobby = isSelectHobby();

        if(flagXXX && flagXXX && flagSex){

        }
    }

2. 通常の属性とメソッド

①test() 文字列がある正規の仕様に準拠しているかどうかをチェックし、準拠していればtrueを返し、そうでなければfalseを返します。

使用法: reg.test(str)

②execは正規表現に従って検索し、結果が満足であれば長さ1の配列を返します(配列の値は1つだけです)

使用法: reg.exec(str)

var reg = /\d+/g;

var str = "123a456b789";

var arr = reg.exec(str);

③ 以下の条件を満たす文字列修飾子を照合する方法: g global

console.log(arr[0]);

arr = reg.exec(str);console.log(arr[0]);

④searchメソッド(文字列パラメータとしての通常のオブジェクト)

正規表現検索に一致する最初の部分文字列の位置を返します。

⑤ マッチング方法

正規表現パターンを使用して文字列の検索を実行し、検索を含む結果を配列として返します。

     str.match(rgExp)
     var reg = /\d+/g;
     var str = "123a456b789";

     var arr = str.match(reg);
     console.log(arr);

⑥replaceメソッドは正規表現に従ってテキスト置換後の文字列のコピーを返します。

stringObj.replace(パラメータ 1, パラメータ 2): パラメータ 1 をパラメータ 2 に置き換えます

    var str = "liji de ge bi shi liji";
    str = str.replace(/liji/g,"laowang");
    console.log(str);

スリーレット

a = 123 とします。

コンソール.ログ(a);

① すべての変数は使用前に定義する必要があります

②変数の値は繰り返し定義できない

③ブロックレベルのスコープ、各サイクル中、i は一意の空間であり、破壊されません

 let oLis = document.querySelectorAll("li");
     for(let i=0; i<oLis.length; i++){
         oLis[i].onclick = function(){
             console.log(i);
         }
     }

④一時的なデッドゾーン、内部変数が外部変数と同じ名前の場合、内部変数が外部変数をシールドします。

    let a = 123;
    {
        let a = 456;
        console.log(a);
    }
    console.log(a);

4.const

要件: 名前付き定数 const: const によって変更された変数は読み取り専用変数と呼ばれます

①読み取り専用変数を変更する

②初期化が必要

③ 使用前に定義する必要がある

④重複して定義することはできません

⑤ ブロックレベルのスコープ

⑥一時的な不感帯

const はヒープ領域ではなくスタック領域を変更します

面试题:
 let,const,var的异同?
   1.都是用来定义变量的
   2.var具备声明提升
   3.const修饰只读变量,并且必须初始化
   4.let和cont    
    必须先定义后使用
    不能重复定义
    块级作用域
    暂时性死区

5.これ

この関数の組み込みオブジェクト

①イベントボディと組み合わせて使用​​され、イベントをトリガーする要素自体を表します

②通常の関数と組み合わせて使用​​し、その関数を呼び出すオブジェクトを表します。

6. バインド

bind: this のポイントを変更する関数オブジェクトの関数 (通常は匿名関数を変更するために使用されます)

パラメータ:bind(これが指すように変更)

  var oBox = document.querySelector("div");

    document.onclick = function(){
        this.style.display = "none";
    }.bind(oBox);


 var fun = function(){}
    fun == function(){}
    fun.bind(被修改的this指向)===>
    function(){}.bind()

7. jsonオブジェクトとjson文字列の相互変換

文字列はすべてのデータ相互作用の橋渡しです

① JSON文字列→JSONオブジェクト

let str = '{"name":"老王","age":18}';

let json = JSON.parse(str);

コンソール.ログ(json);

②JSONオブジェクト→JSON文字列

let str1 = JSON.stringify(json);

コンソール.ログ(str1);

8.7. 内および...の

①for(jsonオブジェクトにインデックスを付けます){通常はjson文字列を走査します}

一部のコンテナには添字やインデックスがありません

②for(let temp ofcontainer (cannot be json)){ 通常、添字なしでコンテナを走査するために使用されます(set、map)

各時間の温度は要素自体を表します}

9. アロー関数

①アロー関数:無名関数の略称

    document.onclick = ()=>{
        console.log("想念宣文振的第一天");
    }
    let fun = ()=>{
        console.log("想念宣文振的第一天");
    }
    fun();

②アロー関数の特徴

1. 関数のパラメータが 1 つだけの場合、アロー関数はパラメータの括弧を省略できます。
    let fun = a=>{
        console.log(a);
    }
    fun(123);
2. 関数のコードが 1 行のみの場合、中括弧は省略できます。
    let fun1 = a=>{
        console.log(a);
    }
    fun1(456);
3. 関数のコードが 1 行だけの場合、return が付きます。
    let fun2 = a=>a + 10;
    //let fun2 = function(a){
        //return a + 10
    //}
    console.log(fun2(1111));

10. 代入の分割

代入の構造化: 代入の構造の解析、配列と JSON オブジェクトの代入の解析

① 構造を解析して値を割り当てる

a. 配列
     let [x,y,z] = [1,2,3];
     console.log(x,y,z);

b.json オブジェクト: 利点、冗長なプレフィックスを削除できる

    let json = {
        "name": "老王",
        "age": 18
    }

    let {
        name,
        age
    } = json;
    console.log(name, age);

②2つの変数の値を交換する

    let [x, y] = [1, 2];
    [x, y] = [y, x];
    console.log(x, y);

おすすめ

転載: blog.csdn.net/weixin_72756818/article/details/129636265