当前位置: 代码迷 >> 综合 >> JS里的运算符(delete,in,instanceof,typeof)
  详细解决方案

JS里的运算符(delete,in,instanceof,typeof)

热度:102   发布时间:2023-11-20 21:53:40.0

本文列出了较常用的几种运算符,除此之外还有比较运算符(大于> 小于< 小于等于<= 大于等于>= ),相等和全等运算符(即== 和 ===,这里的相等允许类型转换,全等则要求数据的类型和值都严格相等)等。

delete运算符

delete是一元运算符,它用来删除对象的属性或者数组元素。如下例:
var o = { x:1,y:2};
delete o.x;
console.log(“x” in o ) ; //=>false,这个属性在对象中已经不存在了.

var a = [1,2,3];
delete a[2]; // =>删除数组最后一个元素
console.log(2 in a); // false,元素2已经不在数组里了
console.log(a.length); // 3,尽管删除了一个元素,但删除操作留下了一个"洞",数组长度没变

in运算符

in运算符希望左侧操作数是字符串或可以转换为字符串,右侧操作数是对象。如果右侧对象有一个名为左操作数值的属性名,那么表达式返回true.
var point = {a:1,b:2};
console.log(“a” in point); // =>true,对象point里有一个名为"a"的属性
console.log(“c” in point); // =>false,对象point里有一个名为"a"的属性
console.log(“toString” in point); // =>true,对象继承了toString方法。

var data = [7,8,9];
console.log(“0” in data); //=> true,数组包含元素"0"
console.log(1 in data); // => true,数字转换为字符串
console.log(3 in data); // =>false,没有索引为3的元素

instanceof运算符

instanceof运算符希望左侧操作数是对象,右侧操作数是对象的类。如果左侧的对象是右侧类的实例,则表达式返回true,否则返回false
var d = new Date(); //通过Date()构造函数来创建一个新对象
console.log(d instanceof Date); // =>true,d是由Date()创建的
console.log(d instanceof Object); // =>true,所有对象都是Object的实例
console.log(d instanceof Number); // =>false,d不是一个Number对象。

var arr = [7,8,9];
console.log(arr instanceof Array); //=> true,arr是一个数组
console.log(arr instanceof Object); // => true,所有的数组都是对象
console.log(arr instanceof RegExp); // =>false,数组不是正则表达式

typeof运算符

typeof运算符常用于检测基本数据类型。最常用的用法是写在表达式中,如typeof value == “string” 如果value是字符串,该表达式将返回true,否则返回false.如果value是数组,对象,或函数,typeof value将分别返回object和function.

在这里插入图片描述

  相关解决方案