JS与JAVA数据类型的区别
今天开始正式认真学习js,虽然在平常j2ee开发中也经常用到JS但并不精通,这次随笔记下js与Java数据类型的不同之处
Number
与java不同,js作为弱类型语言即使在浮点数与整数上也未作明确区分,Number值可以是var a = 5 or 5.5,以及其他进制如八进制 var a = 070.甚至是科学计数 var a = 3.12E3 .
var a=1;
var a=1.2;
var a=0xA;
var a=3.14E7;
以及一些特殊值
NaN(Not a Number);
Infinity:无法计算的值如
var a = 1/0;
String
相比较java没有严格区分单引号或双引号
var a = 'hello';
var a = "hello";
Boolean
与java没有任何区别
Null
它与java中Null的概念类似,但在js弱类型语言中是作为类型存在的。
Undefined
对于定义却未辅助,或者干脆未定义的变量作为Undefined存在,值是小写的undefined。
(以上为基础类型数据)
Object
js的Object表现形式其实更像是在java中Value可为function的特殊Map,其中存放了一组无序的名值对集合,Object是引用类型。
var ob={
name:'张三',
age:32,
sleep:function(){
console.log('ZZZZZ~');
}
}
作为弱语言的特性,js变量类型可以随时转换,如果需要跟踪js运行过程中的变量类型,可以使用type of.