Js 数据类型详解和各种数据类型之间的运算
2013-10-22 18:30
429 查看
数据类型
ECMAScript有5种简单数据类型(基本数据类型)和一种复杂数据类型(object )1 : undefined
2 : null
3 : Boolean
4 : Number
5 : String
首先介绍一个函数 typeof (检测给定变量的数据类型),它有六种返回值类型(全部小写)
1 :undefined
2 : boolean
3 : string
4 : number
5 : object(如果这个值是对象或者
6 : function
说明下:function也是对象但由于函数有一些特殊的属性。所以需要typeof来区分函数和其他对象之间的区别。
undefined : 类型只有一个值 即undefined .。在使用 var 声明变量但未对其加以初始化时,这个变量的值就是undefined.
对未初始化和未声明的变量执行typeof操作都返回了undefined .对于尚未声明的过的变量,只能执行一项操作,即使用typeof操作符检测数据类型。否则报错
var message;
var age ;
alert(typeof message); // undefined
alert(type of age); // undefined
alert(message) ;// undefined
alert(age); // 产生错误
null : 类型是第二个只有一个值的数据类型 null值表示一个空对象指针,这也是使用typeof操作检测null值会返回object的原因
由于undefined 的是派生自 null值的因此ECMA-262 规定对它们的相等性测试返回true
alert(null == undefined) ; // true
Boolean :
Number :
十进制 : var intNum = 55;
八进制 : var octalNum = 070 // 八进制的56
十六进制 : var hexNum = 0xA //十六进制10 Ox开头后跟0-9 a-f(不分大小写)
浮点数值的最高精度是17位小数 但进行算术计算时其精确度远远不如整数 例如0.1+0.2的结果不是0.3。而是0.3000000000004(这是基于IEEE754数值的浮点计算的通病)
Number.MAX_VALUE 最大值
Number.MIN_VALUE 最小值
如果一个数值超过这个范围就是Infinity -Infinity(正负无穷)所以如果想确定一个值是不是无穷可以用isFinite()来判断 因为Infinity不是能够参与计算的值
alert(isFinite(Number.MAX_VALUE+Number.MAX_VALUE)); // false;
NaN 即非数值 这个数值用于表示一个本来要返回数值的操作数未返回数据的情况(这样就不会抛出错误了)
任何涉及NaN的操作都返回NaN
NaN/10 ;//NaN
其次NaN与任何值都不相等
alert(NaN == NaN) ;// false;
isNaN()这个函数接受一个参数,该参数可以是任何类型,函数会帮我么确定这个参数是否不是数值,isNaN在接受到一个值之后,会尝试将这个值转换为数值,
parseInt()
由于ECMAsCRIPT 3 js引擎 070被当成八进制字面量
而EcmaScript 5 js引擎070 被当成0 即不具有解析8进制值的能力
为了消除上述困惑 可以为这个函数提供第2个参数。转换时使用基数 (多少进制)parInt("0xAF",16) //175
String :类型
\n 换行 \t 制表 \b空格 \r 回车 \\斜杠
转换成字符串
toString();
var age = 11;
age.toSring() ; // '11';
对应数值的toString()还可以传入进制
var num = 10;
num.toString(2);//"1010" //转换成2进制的字符串
下面讲述下各类型之间的运算
在表达式中出现不同的数据类型时:js会自动的进行数据类型转换以使他们相容,通常来讲 类型转换是根据优先级来进行的
字符串优先级最高,其次是浮点型,整形, 布尔型。
相关文章推荐
- 判断js中各种数据的类型方法之 typeof() 和 Object.prototype.toString() 详解
- js中的数据类型、非运算、等值判断
- C++中各种数据类型之间的转换
- 数据类型之间的连接和运算
- JS数据类型之间的转换
- 各种数据类型之间的转换
- js获取的数据类型默认都是字符串类型,怎么变成可运算的数字类型
- js 判断各种数据类型
- Qt中各种数据类型之间的转换
- JS处理各种JSON类型数据
- 利用siezof运算现实存储各种数据类型使用内存空间的字节数
- python各种数据类型之间的转换
- javascript不同类型数据之间的运算的转换方法
- VC中各种数据类型之间的转换
- 详解JS数据类型
- vuejs父子组件之间数据交互详解
- js 判断各种数据类型
- 2. R语言中各种数据类型常见运算的函数
- 判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
- 03.js数据类型之间的转换与运算