900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 我的javascript学习笔记之数据类型

我的javascript学习笔记之数据类型

时间:2021-01-10 01:18:03

相关推荐

我的javascript学习笔记之数据类型

数据类型

ECMAscript有五种简单数据类型:Undefined,Null,Boolean,String,Number,还有一种复杂数据类型Object,Object本质上是由一组无序的名值组成的.

1.Undefined

Undefined类型只有一个值,undefined.使用var声明变量但未对其初始化时,这个变量的值就是undefined.

2.Null

Null只有一个值,null.

如果定义的变量准备在将来保存变量,那么最好将该变量初始化为null值,这样只要直接检查null值就可以知道相应变量是否已经保存了一个对象的引用.例如:

if (car != null){

//执行某些操作

}

3.Boolean

Boolean类型有两个值true和false

要将一个值转换为Boolean类型,可以调用转型函数Boolean():

var word = "hello world";

var boolWord = Boolean(word);

各种类型转换为Boolean类型的转换规则

数据类型 转换为true的值 转换为false的值

String 任何非空字符串 ""(空字符串)

Number 任何非0数值 0和NaN

Object 任何对象 null

Undefined n/a undefined

4.Number

4.1浮点数值

由于保存浮点数值的内存空间的数值是整数数值的两倍,因此ECMAscript会不失时机的将浮点数值转换为整数值.

如果小数点后面没有任何数字,就按整数保存,如果浮点数值本身表示得就是一个整数,那么就按整数保存(如1.0).

浮点数值最高精度是17位小数,但在算数计算时精度却不如整数.例如

if(a+b==0.3){

//不能这样!!!alert("0.3");

};

关于浮点数值计算会产生舍入误差的问题,有一点需要明确:这是使用基于 IEEE754 数值的浮点计算的通病

4.2数值范围

[Number_MIN_VALUE,Number_MAX_VALUE]

在大多数浏览器中,这两个值是[5e-324, 1.7976931348623157e+308]

如果得到超出js的值,那么这个值会被转换为 -/= Infifity

如果某次计算的的返回正或者负的Infinity值,那么该值无法参与下一次计算.

4.3.NaN

即Not a Number

这个数值用来表示一个要返回数值的操作数未返回数值的情况,这样就不会抛出错误了.

任何涉及NaN的操作都会返回NaN(如NaN/10)

NaN与任何值都不相等,包括NaN

isNaN();

任何不能转换为数值的都返回true

alert(isNaN(NaN)); //true

alert(isNaN(10)); //false(10是一个数值)

alert(isNaN("10")); //false(可以被转换成数值 10)

alert(isNaN("blue")); //true(不能转换成数值)

alert(isNaN(true)); //false(可以被转换成数值 1)

4.4.数值转换

有三个函数可以把非数值转换为数值

Number();//可以把任何类型转换为数值

//下面两个只能把字符串转换为数值

parseInt() ;

parseFloat();

Number()转换规则

Boolean: true -> 1 false -> 0

null: 0

undefined: NaN

如果是字符串:

如果只包含数字 将其转换为十进制数字 011 -> 11 1.1->1.1 01.1 -> 1.1空字符串 -> 0其他字符 -> NaN

如果是对象:

则调用对象的 valueOf()方法,然后依照前面的规则转换返回的值。如果转换 的结果是 NaN,则调用对象的 toString()方法,然后再次依照前面的规则转换返回的字符 串值

5.String

字符串可以由双引号或者单引号表示

字符串一旦创建,它的值就不能改变.要改变某个变量保存的字符串,首先要销毁原来字符串,再用一个包含新值的字符串填充该变量:

var lang ="hello";

var hd = lang + "world";

转换为字符串

toString();

String();

var a =111;

a.toString();

多数情况下调用toStiring不用传递参数,但在调用数值的toString()方法时,可以传递一个参数:

var num = 10;

alert(num.toString());//10

alert(num.toString(2));//1010 2进制

在不知道转换的值是不是null或者undefined的情况下,还可以使用转型函数String();

如果值有toString()方法,则调用toString()如果值是null,则返回"null"如果值是undefined,则返回"undefined"var value = 10;alert(String(value));//"10"

要把某个值转换为字符串,可以使用加号操作符(3.5 节讨论)把它与一个字符 串("")加在一起。

6.Object

ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行 new 操作符后跟要创建 的对象类型的名称来创建。而创建 Object 类型的实例并为其添加属性和(或)方法,就可以创建自定 义对象,如下所示:

var o = new Object();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。