javascript_03-数据类型

数据类型

JavaScript 和 Java 同样,也是有基本数据类型的。但也是有区别的。javascript

JavaScript中的数据类型

简单(基本、值)数据类型
  • number
  • string
  • boolean
  • undefined、nulljava

    复杂(引用)数据类型
  • Object、Array、Date 等测试

查看当前变量的数据类型
  • typeof name
  • typeof (name)

数值字面量

字面量

固定的值,让你从“字面上”理解含义code

数值字面量ip

var age = 18; //数值字面量,18为字面量

number类型

十进制内存

十六进制
var num = 0xA字符串

八进制string

浮点数

var n = 5e-324;it

浮点数值的最高精确度是17位小数,在进行算术计算时,其精确度远远不如整数。console

var result = 0.1+0.2 //结果不是0.3 而是0.300000000000000004

0.1+0.2 == 0.3 //false
0.1+0.3 == 0.4 //true

0.07 * 100 ;7.00000000000000001

想比较的话只能 0.1 * 10 ,而后 parseInt 转换,而后再相加比较。

永远不要测试某个特定的浮点数值是否相等。

数值范围

内存限制,ES没法保存世界上全部的数值

  • 最小值:Number.MIN_VALUE,5e-324
  • 最大值:Number.MAX_VALUE,1.7976931348623157e+308
  • 无穷大:Infinity
  • 无穷小:-Infinity

数值检测

NaN: not a number. 非数值

isNaN(); //是数字返回false;

console.log(parseInt("abc"));//NaN

console.log(parseInt("abc"/10));//NaN

var num = prompt("请输入一个数字")
if(isNaN(num)){
    console.log("不是一个数字");
}else{
    console.log("是一个数字");
    
}

String 类型

字符串字面量

var name = "zhangsan"; // "zhangsan"是字面量

字符串用引号引发,单引号和双引号是同样的。

获取字符的长度用length

var name="hukj"; alert(name.length); //4

转移符

console.log("\"Ancona\"");

\n 换行
\t 制表符
\b 空格
\r 回车
\f 进纸
\ 斜杠
' 单引号
" 双引号

字符串的不可变

var str ="hello";
str = str+"world";
console.log(str);

当执行第二行代码时,会在内存空间中开辟新的栈,而后经过垃圾回收机制来清理原来的str。这就是所谓的字符串不可变。

字符串拼接

var a ='100';
var b =100; //b中的 number:100 会自动转型为str
console.log(a+b); //100100
console.log(a-b); //0

Boolean 类型

Boolean 类型有两个字面量:true 和 false;
var result = Boolean("a");
console.log(result); //true

Boolean 当为空字符串,0,NaN,null,undefined 时,为false;

Undefined 类型

undefined 是 Undefined 的字面量;表示变量未赋值。

var message;
console.log(message);// undefined

var a;              //undefined
if(a){              //false
    alert('有值')
}else{
    alert('无值') //显示
}

a未赋值为undefined,undefined在Boolean中转换为false;

相关文章
相关标签/搜索