javaScript 工作必知(六) delete in instanceof

时间:2022-08-30 16:35:35

in

in 判断  左边字符串或者能转换成字符串的是否属于 右边 的属性。

        var data = { x: 1, y: 4 };//定义了直接对象
alert("x" in data);//true ,x 是data 的一个属性
alert(1 in data);//false ,1 是data的属性值。

  

        var arr = [4, 5, 7];//定义了直接数组对象
alert(0 in arr);//true ,arr 数组的index包括0,1,2,0 是他的一个[0]属性。
alert(4 in arr);//false ,4不是他的属性。

instanceof

instanceof 希望左边的实例右边的对象的类型。

        var date = new Date();
alert(date instanceof Date);//true
alert(date instanceof Object);//true
alert(date instanceof Number);//false

  

        var date = [1, 2, 3];
alert(date instanceof Array);//true
alert(date instanceof Object);//true
alert(date instanceof Number);//false

  

delete

delete 删除一个对象的属性

        var o = { x: 1, y: 2 };
alert(delete o.x); //true 删除成功
alert("x" in o);//false x不是o的属性
         var o = 2;
alert(delete this.o);//false
y = 3;
alert(delete this.y);//true
alert(delete this.window);//false

summary

 delete 是一元操作符,delete 不可删除javascript内置的全局变量,也不可删除有var声明的全局变量,但可以删除不用var声明的全局变量。