instanceof typeof 运算符

typeof 运算符

描述
返回一个用来表示表达式的数据类型的字符串。
语法
typeof [ ( ]  expression  [ ) ] ;

expression 参数是需要查找类型信息的任意表达式 。

说明
typeof 运算符把类型信息当作字符串返回。 typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."

typeof 语法中的圆括号是可选项。

Js代码   收藏代码
  1. alert(typeof (5));  //<span>number</span>  
  2.   
  3. alert(typeof (true));  //<span>boolean</span>  
  4.   
  5. alert(typeof ("abc"));  //<span><span>string</span>  
  6. /span>  

 

 

---------------------------------------------------------------------------------------------------

  伦理片 http://www.dotdy.com/

 

instanceof 运算符

描述
返回一个 Boolean 值,指出对象是否是特定  的一个实例。
语法
result =  object  instanceof  class

instanceof 运算符的语法组成部分如下:

部分描述
result任何变量 。
object任何对象表达式 。
class任何已定义的对象类。

说明
如果  object 是  class 的一个实例,则  instanceof 运算符返回  true 。如果  object 不是指定类的一个实例,或者  object 是  null ,则返回  false 。

下面的例子举例说明了 instanceof 运算符的用法:

 

function objTest(obj)
{
  var i, t, s = "";            // 创建变量。
  t = new Array();             // 创建一个数组。
  t["Date"] = Date;            // 充填数组。
  t["Object"] = Object;
  t["Array"] = Array;
    for (i in t)
    {
      if (obj instanceof
 t[i]) // 检查 obj 的类。
      {
        s += "obj is an instance of " + i + "\n";
      }
      else 
      {
        s += "obj is not an instance of " + i + "\n";
      }
  }
  return(s);                   // 返回字符串。
}  

var obj = new Date();
response.write(objTest(obj));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `instanceof`和`typeof`是 JavaScript 中两种不同的运算符,用于检测变量的类型。 `instanceof`运算符用于检测构造函数的 prototype 属性是否出现在某个实例对象的原型链上。 `typeof`运算符用于检测变量的类型,并返回字符串形式的类型。 总结: instanceof主要用于检测某个变量是否是某个类的实例,而typeof则是判断某个变量的类型。 ### 回答2: instanceof是一种运算符,用于判断一个对象是否属于某个特定的类或对象的实例。typeof是JavaScript中的一种操作符,用于返回一个变量或表达式的数据类型。 instanceoftypeof的主要区别在于,它们检查的对象不同。instanceof检查给定对象是否是指定类的实例,或者是这个类的子类的实例。而typeof检查其操作数的数据类型。 例如,我们可以使用instanceof运算符来检查某个对象是否是数组类型: ``` const arr = [1, 2, 3]; console.log(arr instanceof Array); // true console.log(arr instanceof Object); // true ``` 上面的代码中,我们使用instanceof检查arr是否是Array类或Object类的实例。由于Array类是Object类的子类,因此arr也被认为是Object类的实例。 另一方面,typeof运算符可以用于检查一个变量的数据类型。例如: ``` const num = 42; const str = "hello"; const obj = {foo: "bar"}; console.log(typeof num); // "number" console.log(typeof str); // "string" console.log(typeof obj); // "object" ``` 上面的代码中,我们使用typeof检查num、str和obj的数据类型。结果表明num是number类型,str是string类型,obj是object类型。 尽管instanceoftypeof都可以用于检查变量或对象的类型和实例关系,但它们的作用不同。因此,在编写JavaScript代码时,我们需要了解它们之间的区别,以便选择正确的操作符来满足我们的需求。 ### 回答3: instanceoftypeof是两种JavaScript中用来判断数据类型的方法。 typeof可以用来判断一个值的基本数据类型,例如undefined、boolean、number、string和symbol等。而对于复杂数据类型,typeof则会返回“object”。 例如: ``` typeof 'Hello World'; // 返回 string typeof 42; // 返回 number typeof true; // 返回 boolean typeof undefined; // 返回 undefined typeof null; // 返回 object typeof {name: 'John', age: 20}; // 返回 object ``` 可见,typeof不能准确地判断对象的具体类型,只能判断是不是对象。 而instanceof则可以判断一个对象是否是某个特定类型的实例。其语法为 `object instanceof constructor`,其中 `object` 是要判断的对象,`constructor` 是被判断的构造函数。如果对象是该构造函数的实例,则返回true,否则返回false。 例如: ``` let arr = []; arr instanceof Array; // 返回 true arr instanceof Object; // 返回 true function Person(name) { this.name = name; } let john = new Person('John'); john instanceof Person; // 返回 true john instanceof Object; // 返回 true ``` 可见,instanceof能够准确地判断对象的类型,适用于所有的复杂数据类型。但要注意的是,instanceof是基于对象的原型链的,因此如果不同的JavaScript代码环境使用不同的对象或构造函数,可能会导致instanceof判断结果出现偏差。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值