JavaScript与java的异同(一)
讲个故事:话说很久很久以前,有一个叫网景(Netscape)的,十月怀胎,他生了个儿子,很开兴,给儿子取名livescript。Livescript很勤奋,帮大叔大婶干了好多活,也给他爸赚了很多钱。突然一天sun生了个儿子:java,java很厉害,人气鼎盛,隐隐有登上王位的态势。他爸眼珠子一转,就想:java这是要上天啊,我得趁机发一笔!于是,他叫来儿子,嘴角一翘,露出一个意味深长的笑容,说到“儿子,你看java的名字多炫酷,以后你就跟他姓了。”于是,从此JavaScript便这样出现在了大家面前,大叔大婶都在背后议论:“哎,这不会是隔壁java的私生子吧,要不叫他来帮我们干活试试”,就这样JavaScript改名字后,日子过得还可以,接了不少活。老网景看着他儿子,一边数钱一边开心的笑笑,为自己的英明沾沾自喜“哈哈,只是改了个名字而已,效果居然不错,java果然厉害。得让儿子稍微学着点java兄,至少是在外表的衣着装扮上面,里面还是得流着我老网的血。”
一句话总结:java和JavaScript是两个不同的语言。
1 语言特点:
1.1 弱类型:
JavaScript在变量声明的时候并不严格区分数据类型,(var 变量名),不像java那样严格(类型:变量名)。也就说,Javascript视众生平等,在他眼里大家都是人,而在java眼里众生皆有不同,男人、女人、人妖什么的……
基于这个特性,javascript在很多时候会都可以写的比java简洁,比如函数的声明等。
1.2 动态语言:
java在定义了一个数组的长度以后就不能再改变了,但是javascript却可以。并且java一个数组只能放同一种类型,但javascript可以在一个数组内加不同数据类型的数据。可以说Java比较死心眼,javascript则比较灵活。
1.3 脚本语言:
Java等后台语言都是编译后执行的,但是javascript却是边编译边执行。
2 数据类型
2.1 基础数据类型:
Java有八大数据类型:byte,short,int,long,float,double,char,Boolean。感觉javascript把上面的整理成了三种原始类型:number,string,boolean。另外还有两个特殊的原始类型是:null和undefined。
2.2 变量
Java:数据类型 变量名=值;
Javascript:var 变量名=值;数组
Java:
类型[] 数组名=new 类型[数量];
类型[] 数组名=new 类型[]{元素1,元素2…};
Javascript:
var 数组名=[];
var 数组名=new Array();
3 函数:
Java:返回值类型 函数名(类型 参数1,类型 参数2…){}
Javascript:function 函数名(参数1,参数2…){}