in运算符、delete运算符
in 运算符
语法:属性名 in 对象 -->看对象中是否有该属性
索引值 in 数组 -->看数组中时候有这个索引值
返回值: 都是布尔值
例如:
1.对象
var obj = {
name: "tom",
age: 18
}
console.log("name" in obj1); //true
2.数组
var arr = [1,2];
console.log(0 in arr); //true
delete 运算符
作用: 1. 删除不是var声明的变量
2. 删除对象属性
3. 删除数组索引
例如:
1.变量
num = 123;
console.log(num); // 123
delete num; // 返回值是布尔值:true(表示删除成功)
2.属性
var obj = {name: "haha",age: 12};
delete obj.name;
console.log(obj); // 对象中只有一个属性age
3.数组(改变不了数组的长度)
var arr = [1,2,3];
delete arr[0];
console.log(arr[0]); //undefind
console.log(arr); //数组的长度还是3,只是索引0的位置没有了