Javascript的基本数据类型和判断

  ECMAScript中有6种简单数据类型:Undefined,Null,Boolea,Number,String和Object,这些都是一些基本知识,有意思在后面

 用javascript里的typeof检测一下这6个数据类型你会有新发现

  “undefined”    ----------  
如果值未定义                      
Undefined

  “boolean”     
----------    
如果这个值是布尔值             
Boolean

  “string”       
----------    
如果这个值是字符串             
String

  “number”     
----------    
如果这个值是数值类型          
Number

  “object”       
----------     如果这个值是对象或null        
Object

  “function”  
    
----------     如果这个值是函数
              Function

 但有的时候typeof是不靠谱的,

例如我们这样声明一个变量:


var str=new String(‘aaa‘);

alert(typeof str);

var iS=new Number(‘123‘);

alert(typeof iS);

返回的都是object,没有返回string和number.typeof在这里失败了,现在得请出另一位选手
instanceof 
, instanceof的意思是XXX是XXX的实例.

上代码:

?





1

2

3

4

5

6

7

8

var
str=new
String(‘aaa‘);

alert(str instanceof
String);

var
iS=new
Number(‘123‘);

alert(iS instanceof
Number);

这样返回的都是true;在这样的声明方式下我们就能判断JS的基本数据类型了;

但是instanceof判断var str=‘abc‘这样的声明返回的是false;所以兼容的写法是 (typeof str== String) ||
(str instanceof String);

这样只要一个对了就可以了;

例外还有2种判断JS数据类型的方法

一个是利用面向对象中的constructor

?





1

2

3

4

5

var
str=‘123‘;

var
str1=new
String(‘abc‘);

alert(str.constructor== String);<br><br>alert(str1.constructor== String);

返回的都是true;这样就不用写上面那么麻烦了.

第二种是利用JS基本对象属性里的toString方法,这个方法默认返回数据类型的class

?





1

2

3

4

5

6

7

var
str=‘123‘;

var
str1=new
String(‘abc‘);

alert(Object.prototype.toString.call(str)==‘[object String]‘);

alert(Object.prototype.toString.call(str1)==‘[object String]‘);

返回的都是true.就是代码写的有点多,不过可以清楚的判断数据的基本类型了.

不像typeof和instanceof那样某一方面不靠谱.  

  

  

  

时间: 2024-11-04 11:06:02

Javascript的基本数据类型和判断的相关文章

JavaScript中的数据类型以及判断数据类型的方法

数据类型概述 undefined.Null.Boolean.Number .String.function.Object(复杂数据类型) javaScript 不支持任何创建自定义类型的机制,所有值都成为以上 6 中数据类型之一 undefined类型 Undefined 类型只有一个值,即特殊的 undefined. 在使用 var 或者let声明变量,但没有对其初始化时,这个变量的值就是 undefined.我们在定义变量的时候,尽可能的不要只声明,不赋值. 没有必要显式的给一个变量赋值为

Javascript中的数据类型之旅

虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型,Object   由无序的键值对组成.其余几种都属于简单数据类型.注意:变量类型首字母大写,而变量值首字母是小写的. JavaScript不支持自定义类型,所以JavaScript中的所有值都属于这六种类型之一.根据ECMAScript 5.1的规范,javascript中共有六种数据类型,分别为:

javascript有如下数据类型的转换方法

javascript有如下数据类型的转换方法: 一,转换成数字 xxx*1.0 转换成字符串 xxx+"" 二,从一个值中提取另一种类型的值,并完成转换工作. .提取字符串中的整数:parseInt(); 例:parseInt("123zhang")的结果为123 .提取字符串中的浮点数:parseFloat(); 例:parseFloat("0.55zhang")的结果为0.55 .执行用字符串表示的一段javascript代码:eval();

【译】Javascript中的数据类型

这篇文章通过四种方式获取Javascript中的数据类型:通过隐藏的内置[[Class]]属性:通过typeof运算符:通过instanceof运算符:通过函数Array.isArray().我们也会看看原型对象的构造函数,可能会有意想不到的数据类型结果. [这篇文章是我在adobe发布的文章,我发布在这里只是为了存档.] 知识储备 在开始我们的话题之前,我们不得不复习一些所需的知识点 1.1 原始值和对象 Javascript中的数据,要么是原始值,要么是对象. 原始值.下面是原始值: und

JavaScript 七种数据类型

在 JavaScript 规范中,共定义了七种数据类型,分为 "基本类型" 和 "引用类型" 两大类,如下所示: 基本类型:String.Number.Boolean.Symbol.Undefined.Null 引用类型:Object 下面将详细介绍这七种数据类型的一些特性. 1.String 类型 String 类型用于表示由零或多个 16 位 Unicode 字符组成的字符序列,即字符串 . 1.1 存储结构 由于计算机只能处理数字,如果要处理文本,就必须先把文

各种数据类型的判断方法

在编程过程中,经常需要判断某种是否是某种数据类型,或者某种数据类型是否为空.方法很多,也比较容易记混乱,这篇文章也是给自己理理思路,把各种判断的方法总结下. 首先,在js中有5种基本类型:Number String undefined Null Boolean 和一种引用类型 Object, 在引用类型中又可分为 Array数组,Function函数,Object对象,Date,RegExp 类型. typeof 操作符 typeof 操作符用来检测基本数据类型是没有问题的,除了null ,ty

数据类型的判断

数据类型的判断 在PHP不要相信外来的数据. is_int()????????判断是否是一个整型数据,如果是返回true,否则返回false is_float()????判断是否是一个浮点数据,如果是返回true,否则返回false is_numeric()????判断值是否是纯数字,如果是返回true,否则返回false is_array()????判断是否是数组,如果是返回true,否则返回false is_string()????判断是否是字符串,如果是返回true,否则返回false i

JavaScript中基本数据类型和引用数据类型的区别

1.基本数据类型和引用数据类型 ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型. 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象. 当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型值还是引用类型值. 2.常见的基本数据类型: Number.String .Boolean.Null和Undefined.基本数据类型是按值访问的,因为可以直接操作保存在变量中的实际值.示例: var a = 10; var b = a; b = 20;

Go 语言中数据类型的判断

Go 语言中数据类型的判断,本文介绍三种方法.方法一:使用i.(type)结合空接口(interface{}) func main() { v1 := "中国你好" v2 := 20 var v3 byte = 65 fmt.Printf("v1的数据类型为:%s\n", checkType(v1)) fmt.Printf("v2的数据类型为:%s\n", checkType(v2)) fmt.Printf("v3的数据类型为:%s\n