ES5: 厳格モード
効果:
1. コードの不正確さを排除します。
2. コードのセキュリティを向上させます。
3. コードの実行効率を向上させます。
厳密モードを使用します。
「厳密を使用する」
グローバル スコープとローカル スコープの先頭に、次のコードを配置した後、厳格モードと見なされます。
使用時の問題:
1. 宣言されていない変数は直接使用できません。
2. 厳密モードでは、関数パラメーターに同じ変数名を使用することはできません。
弦
文字列を定義します。
文字通りの方法
<script>
var str='wweeee';
</script>
コンストラクター メソッド
<script>
var str=new String("wweeee");
</script>
2つの違い:
リテラル メソッドによって定義された変数は、typeof によってテストされた後の文字列型です。
コンストラクター メソッドによって定義された変数は、typeof によってテストされた後のオブジェクト型です。
new... typeof の結果がすべてオブジェクトであることがわかる限り
文字列の API:
すべてのメソッドが元の文字列を変更するわけではありません
1、連結()
構文: str.concat(str1);
意味:スプライシング
戻り値: つなぎ合わせた文字列
<script>
var str="hello"
var str1="word"
var res=str.concat(str1)
console.log(res);
</script>
2、charAt();
構文: str.charAt(添え字/インデックス);
意味: 添え字に基づいて要素を検索する
戻り値:添字に対応する文字
<script>
var str="hello"
var res=str.charAt(1)
console.log(res);
</script>
3、toUpperCase()/toLowerCase()
構文: str.toUpperCase()/str.toLowerCase()
意味:大文字にする/小文字にする
戻り値: 大文字の文字列/小文字の文字列
<script>
var str="helloword";
// 转大写
var res=str.toUpperCase();
console.log(res);
var str1="HELLOWORD";
// 转小写
var res1=str1.toLowerCase();
console.log(res1);
</script>
4.分割(「記号」)
構文: str.split("symbol"): この記号は文字列に存在する必要があります
役割: 文字列を配列に変換する
戻り値:配列形式
<script>
var str="h-e-l-l";
var res=str.split("-");
console.log(res);//['h', 'e', 'l', 'l']
var str1="h-e-l-l";
var res1=str1.split("");
console.log(res1); //['h', '-', 'e', '-', 'l', '-', 'l']
</script>
5.文字列傍受
str.substring(start subscript, end subscript); 左は含むが右は含まない
str.slice(start subscript, end subscript); 左は含むが右は含まない
str.substr(start subscript, n); 左を含むが右を含まない、開始添字位置、切片 n
戻り値: 傍受
<script>
var str="helloword";
console.log(str.substring(3,4));//l
console.log(str.slice(3,4));//l
console.log(str.substr(5,4));//word
</script>
例: 文字列を配列に変換して重複排除する
console.log(str.chatAt(i))=====console.log(str[i])
<script>
var str="helloword";
var arr=str.split("");
var newarr=[];
for(var i=0;i<arr.length;i++){
if (newarr.indexOf(arr[i])==-1) {
newarr.push(arr[i]);
}
}
//转换成新数组(去重后的)
console.log(newarr);
//将去重后的数组转换成字符串
var str1=newarr.join("");
console.log(str1);
</script>
6、indexOf()
構文: str.indexOf("要素")
機能: 要素に応じて、要素が最初に現れる添字位置を見つける
戻り値: 検索の添字位置の最初の出現、見つからない場合は -1
<script>
var str = "helloword";
var res=str.indexOf("l");
console.log(res);
</script>
7、charCodeAt()
構文: arr.charCodeAt(添え字)
意味: 下付き文字に対応する文字のASCIIテーブルの値を見つける
戻り値: ASCII テーブルの値
ASCII テーブル値: 数値 48 ~ 57 の範囲
<script>
var str = "helloword";
var res=str.charCodeAt(0)
console.log(res);
</script>
例: 文字列内の数字の出現回数をカウントする
ASCII テーブル値: 数値の範囲: 48 ~ 57
大文字の範囲: 65-90
小文字の範囲: 97-122
<script>
var str = "h4e5l64l2o3wo4r5dWSET";
var count=0;
var count1=0;
var count2=0;
for(var i=0;i<str.length;i++){
// 数字出现次数
if (str.charCodeAt(i)>=48&&str.charCodeAt(i)<=57) {
count++;
}
// 小写字母出现次数
if (str.charCodeAt(i)>=97&&str.charCodeAt(i)<=122) {
count1++;
}
// 大写字母出现次数
if (str.charCodeAt(i)>=65&&str.charCodeAt(i)<=90) {
count2++;
}
}
console.log(count);
console.log(count1);
console.log(count2);
</script>
JSON
JSON: フロントエンドとバックエンドのデータ転送用のフォーマット
JSON フォームでは、オブジェクトのキーと値のペアを引用符で囲む必要があります
<script>
var json={
"name":"张三",
"age":"18",
}
</script>
JSONトラバーサル: for...in...ループ
<script>
// for in 循环的k值是键, 值:json[k]
for(var k in json){
// 键
console.log(k);
// 值
// console.log(json[k]);
}
</script>
json 文字列: json 形式の文字列
<script>
var str='{"name":"张三","age":"18","gander":"男"}'
</script>
JSON 形式の文字列を JSON オブジェクトに変換: JSON.parse()
構文: JSON.parse(str);
注: str は JSON 形式の文字列でなければなりません
<script>
var str='{"name":"张三","age":"18","gander":"男"}'
console.log(str);//'{"name":"张三","age":"18","gander":"男"}'
console.log(JSON.parse(str));//已经变成一个JSON对象
var json=JSON.parse(str);
for(var k in json){
console.log(k+":"+json[k]);
}
</script>