Javascript中typeof与instanceof用法示例

发布时间:2020-01-09编辑:脚本学堂
本文介绍了Javascript中typeof与instanceof的用法,如何判断一个变量是什么类型有多种方法,这里介绍使用typeof与instanceof判断类型的区别,需要的朋友参考下。

1、在javascript脚本中,如何判断一个变量是什么类型呢?
使用typeof可以来判断变量的类型,类型有object, string, number, boolean,function, undefined。
 

复制代码 代码示例:
b= typeof(a) 
a=Date,Function,Math,String,Option时, b=function;

a=不存在的对象时,b=undefined。

例子:
 

复制代码 代码示例:

//测试1 
function test1(){ 
  var a = {a:'test',b:'is',c:'ok'}; 
  var f = function(){ 
alert('a'); 
  } 
 
  var s = 'test is ok'; 
 
    var d = 1234; 
    var v; 

  document.writeln(typeof a); 
  document.writeln(typeof f); 
  document.writeln(typeof s); 
  document.writeln(typeof d); 
  document.writeln(typeof v); 

2、如何判断变量的数据类型?这个问题实际上等同于问,该变量是什么类的实例。
使用instanceof可以判断一个变量的数据类型。(脚本学堂 编辑整理 www.jb200.com)
例子:
 

复制代码 代码示例:
//测试2 
function test2(){ 
  var a = []; 
  var d = new Date(); 
  var o = {a:'test',b:'is',c:'ok'}; 
  var F = function(){ 
  } 
   
  var of = new F(); 
   
  document.writeln(a instanceof Array); 
   document.writeln(d instanceof Date); 
  document.writeln(o instanceof Object);   
  document.writeln(F instanceof Function); 
  document.writeln(of instanceof F); 

test2(); 
 

上述例子中结果均为true,其中of判断其是否是function F的实例,这样的功能非常有用,可用于Javascript面向对象编程中,对象是否是某个自定义类的判断。

3、构造器
在Javascript中对象有构造器方法(均为函数),用于返回器原型,指向函数本身,而非包含函数名的串。
例子:
 

复制代码 代码示例:
//测试3 
unction test3(){ 
    var a = []; 
    var d = new Date(); 
    var o = {a:'test',b:'is',c:'ok'}; 
    var F = function(){ 

var of = new F(); 
  document.writeln(a.constructor + '<br>'); 
  document.writeln(d.constructor + '<br>'); 
  document.writeln(o.constructor + '<br>');  
  document.writeln(F.constructor + '<br>'); 
  document.writeln(of.constructor + '<br>');   

 

输出结果:
 

function Array() { [native code] }
function Date() { [native code] }
function Object() { [native code] }
function Function() { [native code] }
function(){ }