js实例教程-js的数据类型详解

发布时间:2018-12-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了js实例教程-js的数据类型详解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。

基本数据类型: Undefined;Null;Boolean;Number;String

复杂数据类型: Array,Date,Object(注: 与java对象有点区别的,js对象可以添加属性)

object本质上是由一组无序的名值对组成的

 (js数据类型可以更改,但是不建议改) VAR msg = ";message"; msg = 1; 有效,但不建议使用 

tyPEof操作符(检测给定变量的数据类型),可能返回的结果如下:

“undefined”——如果这个值未定义(对未初始化和未声明的变量);

“boolean”——如果这个值是布尔值;

“string”——如果这个值是字符串;

“number”——如果这个值是数值;

“object”——如果这个值是对象或null或[ ];

“function”——如果这个值是函数。

 注意: typeof 是一个操作符而不是函数,因此括号尽管可以使用,但不是必需的。 eg: var message = "some string"; alert(typeof message); // "string" alert(typeof(message)); // "string" 

instanceof 运算符用来检测 constructor.PRototype 是否存在于参数 object 的原型链上。

Undefined类型

声明了但是没有初始化的变量被默认赋值为undefined;未声明的变量使用会报错,只除了使用typeof

undefined === void 0 //true

Null类型

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null 而不是其他值

Boolean类型(true 和false)

要将一个值转换为其对应的Boolean 值,可以调用转型函数Boolean()

转换规则:

 数据类型    转换为true的值                   转换为false的值 Boolean         true                            false String      任何非空字符串                      ""(空字符串) Number      任何非零数字值(包括无穷大)          0和NaN Object      任何对象                            null Undefined       n/a                          undefined  n/a(或N/A),是not applicable 的缩写,意思是“不适用 

Number类型

注意: 浮点数值计算会产生舍入误差的问题(例如: 0.1 + 0.2 = 0.30000000000000004)

数值范围: 最小值 Number.MIN_VALUE 5e-324 -infinITy(负无穷)

最大值 Number.MAX_VALUE 1.7976931348623157e+308 Infinity(正无穷)

当数值超过范围时,会返回Infinty,这个值是不可以参与计算的

可使用isFinite()函数判断,若在,为true

10/0 // 返回Infinity

 NaN,即非数值(Not a Number)是一个特殊的数值     这个数值用于表示一个本来要返回数值的操作数未返回数值的情况     注意: 任何涉及NaN 的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。         NaN 与任何值都不相等,包括NaN 本身。         eg: alert(NaN == NaN); //false     isNaN()可判断值是否为数字,若是,返回false     注意:isNaN()会尝试将其他类型的转化为数字,若失败,为非数字:     eg:      alert(isNaN(NaN)); //true     alert(isNaN(10)); //false(10 是一个数值)     alert(isNaN("10")); //false(可以被转换成数值10)     alert(isNaN("blue")); //true(不能转换成数值)     alert(isNaN(true)); //false(可以被转换成数值1) 
 数值转换: Number(): 可用于任何类型转为数字 eg: var num1 = Number("Hello world!"); //NaN,如果含有任何不能转为数字的字符,都是NaN(undefined) var num2 = Number(""); //0,空字符串 var num3 = Number("000011"); //11,忽略前面的0;会识别16进制(0x12->18);识别浮点数 var num4 = Number(true); //1,true-1;false-0  parseint();parseFloat(): 仅用于字符串转数字;如果第一个字符不是数字或负号.返回NaN,包括空字符串;     如果是,继续解析,直到碰到不是数字的,忽略后面的所有字符 var num1 = parseInt("1234blue"); // 1234 var num2 = parseInt(""); // NaN var num3 = parseFloat("22.34.5"); //22.34 var num4 = parseFloat("0908.5"); //908.5  parseInt()不识别浮点数,碰到小数点就会开始忽略;     识别2进制8进制和16进制,一般传2个参数(第二个为进制,包括十进制) var num5 = parseInt(22.5); // 22 var num6 = parseInt("AF", 16); //175 var num7 = parseInt("AF"); //NaN  parseFloat()如果没有小数点,返回整数;只识别10进制 var num8 = parseFloat("1234blue"); //1234 var num9 = parseFloat("0xA"); //0 

String类型

ECMAScript 中的字符串是不可变的,改变都是新创建的字符串,销毁原来的字符串

toString(): 几乎所有类型都有 toString()方法,但注意 null 和 undefined 没有

数字类型的可以添加参数,参数为进制数

String(): 这个函数能够将任何类型的值转换为字符串,null 和 undefined 返回对应的字面量

Object类型

Object 的每个实例都具有下列属性和方法:

- constructor:保存着用于创建当前对象的函数,构造函数(constructor) 就是 Object()。

- hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty(“name”))。

- isPrototypeOf(object):用于检查传入的对象是否是传入对象的原型。

- propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用 for-in 语句来枚举。与 hasOwnProperty()方法一样,作为参数的属性名必须以字符 串形式指定。

- toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。 toString():返回对象的字符串表示。

- valueOf():返回对象的字符串、数值或布尔值表示。通常与 toString()方法的返回值 相同。

  数据类型的转换:  隐式:(直接转,按规则)            String+number=String            String+boolean=String/boolean            number+boolean=number            boolean+boolean=number 显示:(使用相应的方法转)            xxx.toString()            parseInt(xxx)            parseFloat()            isNaN(xxx)----true/false   (is not a number) 

基本数据类型: Undefined;Null;Boolean;Number;String

复杂数据类型: Array,Date,Object(注: 与java对象有点区别的,js对象可以添加属性)

object本质上是由一组无序的名值对组成的

 (js数据类型可以更改,但是不建议改) var msg = "message"; msg = 1; 有效,但不建议使用 

typeof操作符(检测给定变量的数据类型),可能返回的结果如下:

“undefined”——如果这个值未定义(对未初始化和未声明的变量);

“boolean”——如果这个值是布尔值;

“string”——如果这个值是字符串;

“number”——如果这个值是数值;

“object”——如果这个值是对象或null或[ ];

“function”——如果这个值是函数。

 注意: typeof 是一个操作符而不是函数,因此圆括号尽管可以使用,但不是必需的。 eg: var message = "some string"; alert(typeof message); // "string" alert(typeof(message)); // "string" 

instanceof 运算符用来检测 constructor.prototype 是否存在于参数 object 的原型链上。

Undefined类型

声明了但是没有初始化的变量被默认赋值为undefined;未声明的变量使用会报错,只除了使用typeof

undefined === void 0 //true

Null类型

如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null 而不是其他值

Boolean类型(true 和false)

要将一个值转换为其对应的Boolean 值,可以调用转型函数Boolean()

转换规则:

 数据类型    转换为true的值                   转换为false的值 Boolean         true                            false String      任何非空字符串                      ""(空字符串) Number      任何非零数字值(包括无穷大)          0和NaN Object      任何对象                            null Undefined       n/a                          undefined  n/a(或N/A),是not applicable 的缩写,意思是“不适用 

Number类型

注意: 浮点数值计算会产生舍入误差的问题(例如: 0.1 + 0.2 = 0.30000000000000004)

数值范围: 最小值 Number.MIN_VALUE 5e-324 -Infinity(负无穷)

最大值 Number.MAX_VALUE 1.7976931348623157e+308 Infinity(正无穷)

当数值超过范围时,会返回Infinty,这个值是不可以参与计算的

可使用isFinite()函数判断,若在,为true

10/0 // 返回Infinity

 NaN,即非数值(Not a Number)是一个特殊的数值     这个数值用于表示一个本来要返回数值的操作数未返回数值的情况     注意: 任何涉及NaN 的操作(例如NaN/10)都会返回NaN,这个特点在多步计算中有可能导致问题。         NaN 与任何值都不相等,包括NaN 本身。         eg: alert(NaN == NaN); //false     isNaN()可判断值是否为数字,若是,返回false     注意:isNaN()会尝试将其他类型的转化为数字,若失败,为非数字:     eg:      alert(isNaN(NaN)); //true     alert(isNaN(10)); //false(10 是一个数值)     alert(isNaN("10")); //false(可以被转换成数值10)     alert(isNaN("blue")); //true(不能转换成数值)     alert(isNaN(true)); //false(可以被转换成数值1) 
 数值转换: Number(): 可用于任何类型转为数字 eg: var num1 = Number("Hello world!"); //NaN,如果含有任何不能转为数字的字符,都是NaN(undefined) var num2 = Number(""); //0,空字符串 var num3 = Number("000011"); //11,忽略前面的0;会识别16进制(0x12->18);识别浮点数 var num4 = Number(true); //1,true-1;false-0  parseInt();parseFloat(): 仅用于字符串转数字;如果第一个字符不是数字或负号.返回NaN,包括空字符串;     如果是,继续解析,直到碰到不是数字的,忽略后面的所有字符 var num1 = parseInt("1234blue"); // 1234 var num2 = parseInt(""); // NaN var num3 = parseFloat("22.34.5"); //22.34 var num4 = parseFloat("0908.5"); //908.5  parseInt()不识别浮点数,碰到小数点就会开始忽略;     识别2进制8进制和16进制,一般传2个参数(第二个为进制,包括十进制) var num5 = parseInt(22.5); // 22 var num6 = parseInt("AF", 16); //175 var num7 = parseInt("AF"); //NaN  parseFloat()如果没有小数点,返回整数;只识别10进制 var num8 = parseFloat("1234blue"); //1234 var num9 = parseFloat("0xA"); //0 

String类型

ecmascript 中的字符串是不可变的,改变都是新创建的字符串,销毁原来的字符串

toString(): 几乎所有类型都有 toString()方法,但注意 null 和 undefined 没有

数字类型的可以添加参数,参数为进制数

String(): 这个函数能够将任何类型的值转换为字符串,null 和 undefined 返回对应的字面量

Object类型

Object 的每个实例都具有下列属性和方法:

- constructor:保存着用于创建当前对象的函数,构造函数(constructor) 就是 Object()。

- hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty(“name”))。

- isPrototypeOf(object):用于检查传入的对象是否是传入对象的原型。

- propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用 for-in 语句来枚举。与 hasOwnProperty()方法一样,作为参数的属性名必须以字符 串形式指定。

- toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。 toString():返回对象的字符串表示。

- valueOf():返回对象的字符串、数值或布尔值表示。通常与 toString()方法的返回值 相同。

  数据类型的转换:  隐式:(直接转,按规则)            String+number=String            String+boolean=String/boolean            number+boolean=number            boolean+boolean=number 显示:(使用相应的方法转)            xxx.toString()            parseInt(xxx)            parseFloat()            isNaN(xxx)----true/false   (is not a number) 

觉得可用,就经常来吧!Javascript技巧 脚本宝典 欢迎评论哦! js技巧,巧夺天工,精雕玉琢。小宝典献丑了!

脚本宝典总结

以上是脚本宝典为你收集整理的js实例教程-js的数据类型详解全部内容,希望文章能够帮你解决js实例教程-js的数据类型详解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。