`
wangyanlong0107
  • 浏览: 502290 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

【转】JS instanceof 判断类型 问题

    博客分类:
  • js
 
阅读更多

判断变量类型:一般情况下,可以先用typeof 运算符,如果结果是"object",再用instanceof来判断;
 特别的地方是:
    instanceof不认为原始类型值的变量是对象,

   1var temp="a string for test";   
   
2//下面这句返回"string"   
   3. alert( typeof temp);   
   
4//下面这句返回"false"   
   5. alert(temp instanceof String);   
   
6.   
   
7//看看Ext内部实现,判断String类型  
   8. if(  typeof temp== "string"){
   9. }

其他附加问题:
  • null:表示尚未存在的对象,注意,尽管尚未存在,也是个对象啊,所以用typeof检测一个null值变量的结果是Object;不过,为了便于写if语句,在js中,"undefined==false", "null=false", 因此,"undefined==null"。
  • 整数:最容易犯的错误就是,忘了070其实是个八进制数,相当于十进制的56;
  • 浮点数:“在进行运算之前,真正存储的是字符串”——这应该是解释执行的本质决定的吧——直接后果是,alert(0.8)这样的语句可以正确输出,而alert(2*0.8)的输出就成了"2.40000000000000003"
  • 数字边界: 数字有几个边界值,分别是Number.MAX_VALUE(最大值), Number.MIN_VALUE(最小值), Number.POSITIVE_INFINITY(正无穷), Number.NEGATIVE_INFINITY(负无穷), Infinity(无穷大,-Infinity,这个有点莫名其妙,不知道为啥又搞出一套);特别地,还有一个isFinit(iNumber)函数来判 断数字是否为无穷大。
  • NaN:一些需要数字作为参数的函数,当传入的实参无法转换为数字时,往往会返回这个值;关于NaN,最重要的就是要记住NaN!=NaN,因此判断一个变量是否为NaN,一定要使用isNaN(var)函数。
  • 将字符串转换为数字:sVar.parseInt() 是最常用的函数,也最容易出错,为了保险起见,最好每次调用的时候,都加上“进制”的参数,比如:a.parseInt(10),就制定了按十进制转换字 符串a;Number(sVar)也是一种转换方式,不同的是,它要求整个字符串都得是有效数字,因此Number("4.5.5")将返回NaN;

分享到:
评论

相关推荐

    instanceof 判断引用类型,typeof判断基本类型。

    在JavaScript编程语言中,`instanceof` 和 `typeof` 是两个非常重要的操作符,用于判断变量的类型。它们各自有着不同的用途和用法,对于理解和调试代码至关重要。 首先,我们来详细了解一下`instanceof`操作符。`...

    关于js typeof 与 instanceof 判断数据类型区别及开发使用.docx

    在JavaScript开发中,判断变量的数据类型是至关重要的,因为这门语言具有动态类型特性。`typeof`和`instanceof`是两种常见的用于检测数据类型的工具,但它们有着不同的用法和限制。下面我们将深入探讨这两个操作符的...

    JS中typeof与instanceof的区别

    在 JavaScript 中,typeof 和 instanceof 是两个常用的运算符,用来判断一个变量是否为空,或者是什么类型的。但是,这两个运算符之间还是有区别的。 typeof 运算符是一个一元运算符,放在一个运算数之前,运算数...

    JS:typeof instanceof constructor prototype区别

    在JavaScript(JS)编程语言中,确定变量或对象的类型是一项基本且重要的任务。这不仅有助于理解代码的行为,还能在调试、数据验证以及实现特定功能时提供帮助。本文将深入探讨四种常用的方法来识别和判断JavaScript...

    JavaScript的instanceof有bug?

    此外,`instanceof`对自定义类型和内置类型(如`Array`、`Function`等)的判断也可能出现偏差。例如,如果你通过原型赋值的方式创建了一个类,即使这个类的行为与`Array`相同,`instanceof`也可能会返回`false`,...

    typeof、instanceof、constructor 的联系、区别、应用场景(js 类型判断)

    `typeof`、`instanceof`和`constructor`是JavaScript中三种常见的用于判断对象类型的工具。下面将详细阐述它们的联系、区别以及应用场景。 `typeof`操作符: `typeof`主要用于检测一个值的数据类型,返回的是一个...

    javascript instanceof 与typeof使用说明

    typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined。我们可以使用typeof来获取一个变量是否存在,如 if(typeof a != “undefined”){},而不要去...

    前端面试题之baseJS-instanceof.zip

    "baseJS-instanceof.zip"这个压缩包文件显然聚焦于JavaScript的基础知识,特别是`instanceof`操作符的使用。在这里,我们将深入探讨`instanceof`在JavaScript中的工作原理、相关知识点以及在实际编程中的应用。 `...

    详解JavaScript中typeof与instanceof用法

    JavaScript中,数据类型的检测是编程中一个非常重要的环节,它有助于我们更准确地进行变量处理和逻辑判断。在JavaScript中,typeof和instanceof是常用的两种检测数据类型的方式,它们各自有其适用的场景和特点。 ##...

    JavaScript中判断对象类型的几种方法总结

    JavaScript中判断对象类型的常见方法包括`typeof`运算符、`instanceof`运算符以及利用对象的`constructor`属性。每种方法都有其特定的应用场景和限制。 1. `typeof`运算符: `typeof`是一种一元运算符,用于检测...

    instanceof 和 prototype 关系

    在JavaScript中,`instanceof`和`prototype`是两个非常重要的概念,它们涉及到对象的类型检测和继承机制。本文将深入探讨这两个关键字的关系及其在实际编程中的应用。 首先,我们来理解`instanceof`操作符。`...

    JS 使用 typeof 获取数据类型

    这篇博客“JS 使用 typeof 获取数据类型”深入探讨了如何利用`typeof`来识别和处理不同类型的JavaScript数据。 首先,`typeof`返回的是一个字符串,这个字符串描述了变量的类型。它适用于原始数据类型(如`...

    js 数据类型转换总结笔记

    在JavaScript中,数据类型转换是编程过程中不可或缺...在阅读代码或调试问题时,对这些知识的掌握尤为重要,尤其在处理复杂的数据交互或类型判断时。了解和熟练运用这些转换规则,能让你在JavaScript的世界里游刃有余。

    JavaScript中instanceof运算符的使用示例

    3. 常用对象类型检测:对于JavaScript内置对象,如String、Number、Array、Date等,instanceof可以帮助我们判断一个对象是否是这些内置构造函数的实例。例如,通过使用String对象和字符串字面量,我们可以发现它们在...

    JavaScript instanceof 的使用方法示例介绍

    `instanceof` 是 JavaScript 中的一个操作符,用于判断一个对象是否是某个构造函数的实例,或者是否属于特定的原型链。这个操作符在处理复杂的对象类型和继承关系时特别有用,因为 `typeof` 运算符在面对对象时只能...

    js 判断数据类型的几种方法

    然而,我们也可以利用它来判断类型,通过`Object.prototype.toString.call()`方法。例如: ```javascript alert(Object.prototype.toString.call(a) === '[object String]') -------> true ``` 这个方法能提供更...

    javascript instanceof,typeof的区别

    在JavaScript中,`typeof` 和 `instanceof` 都是用来检查变量类型的,但它们之间有着本质的区别。 `typeof` 是一个操作符,它返回一个表示变量类型的字符串。它主要用于基本数据类型的判断,例如: - number - ...

    Javascript如何判断数据类型和数组类型

    总而言之,在JavaScript中,判断数据类型和数组类型需要我们灵活运用typeof、instanceof、constructor以及Array.isArray()等方法,不同场景下根据需求选择合适的方法进行判断。正确识别数据类型对于开发健壮的...

    JavaScript类型检测之typeof 和 instanceof 的缺陷与优化

    对于数据类型的判断,JavaScript提供了typeof和instanceof两个操作符。这两个操作符是检测数据类型的常用方法,但它们各自存在一定的局限性。本文将通过分析这两个操作符的使用场景与局限性,探讨如何进行优化,以...

Global site tag (gtag.js) - Google Analytics