Javascript学习笔记1-基本数据类型
2011-10-07 15:25
981 查看
1、Javascript 是区分大小写的, 也就是说 var nun 与 var Num 是不同的变量
2、Javascript 的变量是松散类型、也就是说一个变量可以保存任何类型的数据。每个变量仅仅是一个保存值得展位符而已。
3、Javascript 包括六中数据类型:Undefined/Null/Boolean/Number/String /Object.
使用 typeof 操作符可以检查变量当前保存的数据的类型,typeof 返回对应的字符字符串
'undefined'/'boolean'/'number'/'string'/'object'/'function'
4、Undefined 只有一个特殊的值 undefauld 表示只生命了变量但是没有为变量赋值,使用typeof操作符时。没有初始化的变量和没有声明的变量一样返
回‘undefined’例如:
5、Null 表示空引用,因此 对Null值使用typeof 操作符的时候返回‘object’;
实际上 Undefined 派生自 Null 所以 对 undefined == null 总是返回 true值。
应该总是对声明的变量初始化值,这样就可以区分 null 和Undefined。
6、Boolean 只有两个字面值:'true'和‘false’,区分大小写,true不等于1,false也不等于0;
可以调用转型函数Boolean(source)将任何数据类型装换为boolean类型,也可以使用“!!”进行转型,“!!”模拟了转型函数的实现。
数据类型 true值 false值
Boolean true false
String 任何非空字符 “”(空字符)
Number 任何非0数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined ---(无法转换) undefined
7、Number 类型
Number 类型可以表示整数和浮点数。包括十进制、八进制(以0开头,如果八进制的字面值超出了范围前导零会被忽略,后面的数值被当做十进制数)、十六
进制(0x开头)
7.1 浮点数值
保存浮点主旨的内存空间是保存整数的2倍,在计算时,如果小数点后面没有跟任何数字,或者浮点数本身就就是一个整数(如1.0),那么给之该值将会转换
为整数。
由于浮点数有舍入误差比如 在Javascript中 0.1+0.2 不等于0.3 而是0.30000000000000004,因此用用不要测试某个特定的浮点数值。浮点数的最高精度
为17位。
7.2 由于内存限制,Javascript不能保存所有数值,能够表示的最大的数值保存在Number.Max_Value 中一般是1.7976931348623157e+308,最小值保存
在Number.Min_Value 中 一般是5e-324.如果一个数字查出这个数值范围,那么会被自动转换为特殊值Infinity值,如果这个数是个负数,则表示为-Infinity(负
无穷大),反之表示为+Infinity(正无穷大)。Infinity无法参与计算。
使用isFinite() 可以判断数值是否是无穷大。
7.3 NaN
NaN 表示不是数字,NaN与任何值不不相等,包括其本省。
alert(NaN==NaN)将得到false;
可以使用isNaN() 判断参数是否是数字或者是否可怀疑转换为数字。如果是数字或者可以转换为数字将返回true 反之字返回false。
7.4 数字转换
1、Number() 函数的转换规则如下:
如果是Boolean值,true和false分别转换为1和0
如果是数字值,只是简单的传入和返回
如果是null。返回0
如果是Undefined 、返回NaN
如果是字符串,遵循以下规则:
1、如果字符串中直包含数字,则只将其转换为十进制数,如果是‘011’则转换为11
2、如果字符串中包含有效的浮点格式,则将其转换为对应的浮点数值
3、如果字符串中包含有效的十六进制数,将其转换为相同大小的十进制数值,
4、如果字符串为空,则将其转换为0。
5、如果字符窜包含除以上格式之外的字符、则将其转换为NaN。
如果是对象,则调用valueOf方法,然后依照前面的规则进行转换、如果转换的结果是NaN,则调用对象的toString()方法,然后按照上面的规则转换
返回的字符串值
2、parseInt()接收两个参数、第一个是字符串值,第二个是转换格式,
parseInt() 是从头传入的字符串的第一个字符开始解析,一直解析到字符串末尾,或者是解析到遇见的第一个无效的数字字符为止。如果不传入第二个参
数,parseInt()将根据传入的字符的模式进行匹配然后转换为对应的十进制数值。
parseInt()可以接收的二个参数、表示转换的基数(进制)
3、parseFloat() 与parseInt()类似,不过没有第二个参数。
8、String类型
字符串可以有双引号("")和单引号('')表示.因此 var name="小段"; 与var name ='小段';没有区别,但是以双引号开头的字符串必须以双引号结尾,以单
引号开头的字符串也必须以单引号结尾。
可以通过字符串变量的length属性查看字符串的长度。
Javascript中字符串是不可变的。也就是说,一个字符串一旦为创建之后其值就是不可变的,要改变某个变量保存的字符串,就必须首先销毁原来的字符串,
然后创建一个包含新值的字符串来填充该变量。
可以调用值的toString() 方法返回对应的字符串表现;
9 Object 类型
Javascript 中的对象是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。创建Object对象的实例,然后为其添加属
性和方法,既可以创建自定义的对象。
var o = new Object();
Object 类型是所有其他实例的基础。
Object 类型的所有实例都具有以下属性和方法:
1、Countructor 保存着用于创建当前对象的函数(相当于构造函数吧),
2、hasOwnProperty(protertyName) 检查给定的属性名是否存在于当前实例中(不是实例的原型中)。之中参数必须是一个字符串形式。
3、isPrototypeOf(Object)用户检查传入的对象是否是另一个对象的原型。
4、protertyIsEnumberable(propertyName),检查给定的属性名称对性的属性是否可以使用for-in语句进行枚举。
5、toString() 返回对象的字符串表示。
6、valueOf() 返回对象的数字、布尔、字符串值表示,通常与toString() 返回的值相同。
**********************************************************************************
* IE的Javascript实现中,只有开发人员定义的对象才继承自Object,而且,所有BOM和 *
* DOM对象也不同,可能不会有Object的所有属性和方法 *
**********************************************************************************
2、Javascript 的变量是松散类型、也就是说一个变量可以保存任何类型的数据。每个变量仅仅是一个保存值得展位符而已。
3、Javascript 包括六中数据类型:Undefined/Null/Boolean/Number/String /Object.
使用 typeof 操作符可以检查变量当前保存的数据的类型,typeof 返回对应的字符字符串
'undefined'/'boolean'/'number'/'string'/'object'/'function'
4、Undefined 只有一个特殊的值 undefauld 表示只生命了变量但是没有为变量赋值,使用typeof操作符时。没有初始化的变量和没有声明的变量一样返
回‘undefined’例如:
var a ; alert( typeof a); // 输出 'undefined' alert(typeof b) ; // 输出 'undefined' 注意b没有被声明
5、Null 表示空引用,因此 对Null值使用typeof 操作符的时候返回‘object’;
实际上 Undefined 派生自 Null 所以 对 undefined == null 总是返回 true值。
应该总是对声明的变量初始化值,这样就可以区分 null 和Undefined。
6、Boolean 只有两个字面值:'true'和‘false’,区分大小写,true不等于1,false也不等于0;
可以调用转型函数Boolean(source)将任何数据类型装换为boolean类型,也可以使用“!!”进行转型,“!!”模拟了转型函数的实现。
数据类型 true值 false值
Boolean true false
String 任何非空字符 “”(空字符)
Number 任何非0数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined ---(无法转换) undefined
7、Number 类型
Number 类型可以表示整数和浮点数。包括十进制、八进制(以0开头,如果八进制的字面值超出了范围前导零会被忽略,后面的数值被当做十进制数)、十六
进制(0x开头)
var num1 = 070 ; //表示十进制的56 var num2 = 079; //将表示为十进制的79 var num3 = 0xA ; //表示十进制的10
7.1 浮点数值
保存浮点主旨的内存空间是保存整数的2倍,在计算时,如果小数点后面没有跟任何数字,或者浮点数本身就就是一个整数(如1.0),那么给之该值将会转换
为整数。
由于浮点数有舍入误差比如 在Javascript中 0.1+0.2 不等于0.3 而是0.30000000000000004,因此用用不要测试某个特定的浮点数值。浮点数的最高精度
为17位。
7.2 由于内存限制,Javascript不能保存所有数值,能够表示的最大的数值保存在Number.Max_Value 中一般是1.7976931348623157e+308,最小值保存
在Number.Min_Value 中 一般是5e-324.如果一个数字查出这个数值范围,那么会被自动转换为特殊值Infinity值,如果这个数是个负数,则表示为-Infinity(负
无穷大),反之表示为+Infinity(正无穷大)。Infinity无法参与计算。
使用isFinite() 可以判断数值是否是无穷大。
7.3 NaN
NaN 表示不是数字,NaN与任何值不不相等,包括其本省。
alert(NaN==NaN)将得到false;
可以使用isNaN() 判断参数是否是数字或者是否可怀疑转换为数字。如果是数字或者可以转换为数字将返回true 反之字返回false。
7.4 数字转换
1、Number() 函数的转换规则如下:
如果是Boolean值,true和false分别转换为1和0
如果是数字值,只是简单的传入和返回
如果是null。返回0
如果是Undefined 、返回NaN
如果是字符串,遵循以下规则:
1、如果字符串中直包含数字,则只将其转换为十进制数,如果是‘011’则转换为11
2、如果字符串中包含有效的浮点格式,则将其转换为对应的浮点数值
3、如果字符串中包含有效的十六进制数,将其转换为相同大小的十进制数值,
4、如果字符串为空,则将其转换为0。
5、如果字符窜包含除以上格式之外的字符、则将其转换为NaN。
如果是对象,则调用valueOf方法,然后依照前面的规则进行转换、如果转换的结果是NaN,则调用对象的toString()方法,然后按照上面的规则转换
返回的字符串值
var num1 = Number('Hellow word ') ;// NaN var num2 = Number(''); //0 var num3 =Number('000001'); // 1 var num4 = Number('1.1'); //1.1 var num5 =Number(true); //1
2、parseInt()接收两个参数、第一个是字符串值,第二个是转换格式,
parseInt() 是从头传入的字符串的第一个字符开始解析,一直解析到字符串末尾,或者是解析到遇见的第一个无效的数字字符为止。如果不传入第二个参
数,parseInt()将根据传入的字符的模式进行匹配然后转换为对应的十进制数值。
var num1 = parseInt('70'); //70 var num2 = parseInt('070'); //56 由于第一个字符时“0”,识别为八进制 var num2 = parseInt('123abc'); //123 var num3 = parseInt('0xa'); //10
parseInt()可以接收的二个参数、表示转换的基数(进制)
var num1 = parseInt('70',8); // 56 var num2 = parseInt('079',10); //79 var num2 =parseInt("AF",16); //175,因为已经显示指定了以AF为16进制所以可以转换 var num3 = parseInt("AF");// 由于没有指定基数,因此 报错
3、parseFloat() 与parseInt()类似,不过没有第二个参数。
8、String类型
字符串可以有双引号("")和单引号('')表示.因此 var name="小段"; 与var name ='小段';没有区别,但是以双引号开头的字符串必须以双引号结尾,以单
引号开头的字符串也必须以单引号结尾。
可以通过字符串变量的length属性查看字符串的长度。
Javascript中字符串是不可变的。也就是说,一个字符串一旦为创建之后其值就是不可变的,要改变某个变量保存的字符串,就必须首先销毁原来的字符串,
然后创建一个包含新值的字符串来填充该变量。
可以调用值的toString() 方法返回对应的字符串表现;
9 Object 类型
Javascript 中的对象是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。创建Object对象的实例,然后为其添加属
性和方法,既可以创建自定义的对象。
var o = new Object();
Object 类型是所有其他实例的基础。
Object 类型的所有实例都具有以下属性和方法:
1、Countructor 保存着用于创建当前对象的函数(相当于构造函数吧),
2、hasOwnProperty(protertyName) 检查给定的属性名是否存在于当前实例中(不是实例的原型中)。之中参数必须是一个字符串形式。
3、isPrototypeOf(Object)用户检查传入的对象是否是另一个对象的原型。
4、protertyIsEnumberable(propertyName),检查给定的属性名称对性的属性是否可以使用for-in语句进行枚举。
5、toString() 返回对象的字符串表示。
6、valueOf() 返回对象的数字、布尔、字符串值表示,通常与toString() 返回的值相同。
**********************************************************************************
* IE的Javascript实现中,只有开发人员定义的对象才继承自Object,而且,所有BOM和 *
* DOM对象也不同,可能不会有Object的所有属性和方法 *
**********************************************************************************
相关文章推荐
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第20讲_js基本数据类型_js运算符1_学习笔记_源代码图解_PPT文档整理
- 韩顺平 javascript教学视频_学习笔记3_js基本数据类型_js运算符
- Javascript学习笔记一基本数据类型与变量声明
- 【学习笔记】JavaScript——基本语法与数据类型
- JavaScript学习笔记之二基本数据类型
- JavaScript学习笔记一 - 基本语法,数据类型、变量
- 零基础入门-javaScript学习笔记之从基本数据类型学起
- JavaScript学习笔记第一天——基本数据类型(值类型)和引用类型
- javascript学习笔记三:javascript基本数据类型+正则表达式+异常处理
- Linux C 学习笔记01-基本数据类型
- JNI 学习笔记(一)-- JNI函数调用流程,JNI理解和基本数据类型
- swift语言的学习笔记一(基本数据类型)
- Java学习笔记7. Java的基本数据类型
- 11/6/29 基本数据类型 【学习笔记】
- Java学习笔记----打印基本数据类型范围
- JavaScript学习笔记-- Boolean 数据类型
- JAVA学习笔记22——基本数据类型包装类+自动装、拆箱+初识Date类
- javascript学习笔记(十一)对表格进行排序(包括数值、字符串、日期等数据类型)
- javascript学习笔记:数据类型-boolean
- C++学习笔记 基本数据类型