01 in關鍵字的使用:
- 01 for in 循環中 遍歷對象的鍵
- 02 判斷某個對象中是否存在指定的屬性,注意所有的key值都是字符串。
代碼示例:
<script>
var obj = {
name:"蘋果",
color:"黑蘋果"
};
for(var key in obj) {
console.log(key, obj[key]);
}
//02 檢查是否存在指定的屬性
//語法 鍵 in 對象
//注意點:在使用in關鍵字的時候,key是字符串,需要加上雙引號
var isInculde = "name" in obj;
console.log(isInculde) ; //true or false
//03 in在操作數組的時候的注意點
var arr = [1,3,4,5,8];
//數組:索引 _ 數組元素(具體)
//注意:在使用in操作數組的時候,操作的是所有
console.log(5 in arr) ; //false
//04 檢查數組中是否有指定的元素
//001 for循環,遍歷數組中所有的元素,每遍歷一次就判斷一次,如果相等就返回改元素的索引
for (var i = 0; i < arr.length; i++) {
if(arr[i] == 4)
{
console.log(i);
break;
}
}
//02 indexOf 如果有那么就返回索引,如果沒有那么就返回-1
console.log(arr.indexOf(9));
</script>
注意:in關鍵字操作數組的時候檢測的是索引值并非數組元素
-
02 delete關鍵字的用法:
01 刪除對象中的實例屬性。
02 刪除未使用var聲明的變量。
-
03 返回值為boolean類型,true則 表示是否刪除成功
delete 使用的注意點
- 01 它是有返回值的,它的值是布爾類型
- 02 不能刪除var 聲明的變量
- 03 可以刪除直接定義在window上面的屬性,但是無法刪除全局變量(var)
<script>
//01 刪除對象中的實例屬
var obj = {
name:"小黃",
color:"黃色"
};
console.log(delete obj.age); //返回值 true
console.log(obj.color);
console.log(delete obj.color);;
console.log(obj.color); //null or (undefined)
// 02 刪除未使用var聲明的變量
//沒有使用var關鍵字聲明的變量是全局變量,自動成為window的屬性
test = "這是一個沒有使用var關鍵字聲明的變量";
console.log(test);
delete test;
//console.log(test); //報錯
console.log(window.test); //undefined
//03 能夠刪除使用var關鍵字聲明的變量嗎? 不能
var testVar = "使用var聲明的變量";
console.log(delete testVar); //false
console.log(testVar); //使用var聲明的變量
//能夠刪除成功
window.nameDemo = "demo";
console.log(window.nameDemo); //demo
delete window.nameDemo;
console.log(window.nameDemo);
//無法刪除成功
var demo = "demo------";
</script>