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);