js中对 typeof 以及 instanceof 的使用及理解

F&Q:

Q1:instanceof 和 typeof 是什么?

用于判断数据类型。

Q2:它们能做什么?

根据数据类型判断进行一些逻辑编码。如:当判断出该参数类型为 number 则转换成 String 放入数组。

Q3:为什么说 typeof 一般用于基本类型  instanceof 一般用于引用类型?

因为便利。

引用类型如果用typeof则会显示object类型,而这样区分不了这个参数是对象还是数组还是其他的引用类型。如果用instanceof则可以轻松区分。

而基本类型用instanceof,则必须封装成对象进行比较。

例:var name = "bob"; name.instanceof(String);  // 现在的name是基本类型。而String是引用类型。结果肯定是false。

以上更改为:var name = new String("bob") ; name.instanceof(String);  //true 引用类型进行比较

以上代码会将其转换为引用类型在进行比较。这样使用繁琐还不如typeof来的快捷。

所以有了以下栗子:

//typeof
var name = "bob",     //定义多个变量时,省略var关键字,用逗号代替 可是代码变得清晰
age = 13;
alert(typeof(name)); //String
alert(typeof(age)); //Number

//instanceof
var obj={};
var arr=[];
alert(obj instanceof Object); //true
alert(arrinstanceof Array); //true

路漫漫其修远~

时间: 2024-10-20 20:23:46

js中对 typeof 以及 instanceof 的使用及理解的相关文章

浅谈JS中的typeof和instanceof的区别

JS中的typeof和instanceof常用来判断一个变量是否为空,或者是什么类型. typeof typeof运算符返回一个用来表示表达式的数据类型的字符串. typeof一般返回以下几个字符串: "number", "string","boolean","object","function","undefined" 对于Array,Null等特殊对象使用typeof一律返回obje

js中的typeof和instanceof和===

typeof: 用于判断number/string/boolean/underfined类型/function 不能判断:null和object ,不能区分object和Array instanceof: 判断具体的对象类型 ===: 用于判断undefined和null //五种基本类型 var num=1; var str="abc"; var bl=true; var nu=null; var undef=undefined; //三种特殊类型 var obj=new Objec

js中的typeof和instanceof的区别

1.typeof以字符串的形式返回类型,具体有6种类型:number,boolean,string,function,object,undefined typeof(1): number typeof(NaN): number typeof(Number.MIN_VALUE): number typeof(Infinity): number typeof("123"): string typeof(true): boolean typeof(window): object typeof

聊聊js中的typeof

内容: 1.typeof 2.值类型和引用类型 3.强制类型转换 typeof 官方文档:typeof 1.作用: 操作符返回一个字符串,指示未经计算的操作数的类型. 2.语法: typeof operand 参数:operand 是一个表达式,表示对象或原始值,其类型将被返回. 3.返回值: 类型 结果 Undefined "undefined" Null "object"(见下文) Boolean "boolean" Number "

关于JavaScript中的typeof与instanceof

JavaScript中typeof和instanceof可以用来判断一个数据的类型,什么时候选择使用typeof?什么时候选择使用instanceof? typeof运算符 typeof运算符返回值有以下几种 原始数据类型 typeof 123 // "number" typeof '123' // "string" typeof false // "boolean" 函数类型 function f() {} typeof f // "

Javascript中的typeof和instanceof

typeof 是一元操作符,而instanceof是二元操作符: typeof 操作的是一个变量,而instanceof前面是一个变量,后面是一个类型: typeof 返回的是一个字符串,而instanceof 返回的是一个布尔值. 1.typeof() http://www.cnblogs.com/jikey/archive/2010/05/05/1728337.html typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型.它返回值是一个字符串,该字符串说明运算数的类型.,

js中的typeof

typeof的几种返回结果的分类: 转自:http://www.360doc.com/content/14/0718/15/8790037_395279403.shtml typeof运算符介 绍:typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型.它返回值是一个字符串,该字符串说明运算数的类型. 你 知道下面typeof运算的结果吗? typeof(1);typeof(NaN);typeof(Number.MIN_VALUE);typeof(Infinity);typeof

javascript js中的typeof使用

typeof运算符介 绍:typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型.它返回值是一个字符串,该字符串说明运算数的类型. 你 知道下面typeof运算的结果吗? typeof(1);typeof(NaN);typeof(Number.MIN_VALUE);typeof(Infinity);typeof("123");typeof(true);typeof(window);typeof(document);typeof(null);typeof(eval);ty

关于js中对事件绑定与普通事件的理解

普通事件指的是可以用来注册的事件: 事件绑定是指把事件注册到具体的元素之上. 通俗点说: 普通事件:给html元素添加一个特定的属性(如:onclick): 事件绑定:js代码中通过标记(id  tag class)获取元素,给元素添加特定的方法(如:onclick): 扩展:事件监听addEventListener事件可以绑定多次事件,并进行触发 div1.onclick = function(){}; <button onmouseover = " "></but