日期:2014-05-16  浏览次数:20343 次

javascript与java中的一些区别
今天下午闲着没事,就总结一下一些javascript与java中的一些区别,以后有时间也会多总结一下。这是本人的在je上发的第一篇,欢迎大家来拍砖。
这些都是基础的,对初学javascript的人能起到很好的帮助。

1、substring
javascript:
①: substring(start,end):返回位于String 对象中指定位置的子字符串,子字符串中包括start位置的字符,不包括end位置上的字符
②:substring方法使用 start 和 end 两者中的较小值作为子字符串的起始点。
③:如果start 或end为 NaN 或者负数,那么将其替换为0。

例如:
substring(0, 3) 和substring(3, 0) 将返回相同的子字符串。
substring("a", 3) 和substring(3, "a") 将返回相同的子字符串。

java:
①:substring(int beginIndex,int endIndex)返回一个新字符串,它是此字符串的一个子字符串。该子字符串从指定的 beginIndex 处开始,一直到索引 endIndex - 1 处的字符
②:如果 beginIndex 为负,或 endIndex 大于此 String 对象的长度,或 beginIndex 大于 endIndex,将抛出IndexOutOfBoundsException异常


2、toString()
javascript:在javascript上,这个方法里可以不用带参数,也可以带参数。带参数,是转换成对应的类型
例如:var a=11;
a.toString()   返回11
a.toString(2) 转换成二进制,返回1011
a.toString(8) 转换成八进制,返回13
a.toString(16) 转换成十六进制,返回b
java:在这java上,是不能带任何参数,只有toString()方法


3、类型转换
在javascript上只有parseInt和parseFloat这两种,而java上就还有其它
在用法上也有很多的不同
javascript:parseInt("4567red")  返回4567
parseInt("0xC") 返回12  这个是直接进制转换
parseInt("53.5") 返回53
parseInt("AF",16) 返回175
parseInt("11",2) 返回3
parseInt("011") 返回9 0开头,默认为八进制
parseInt("011",8) 返回9
parseInt("011",10) 返回11 指定为十进制

parseFloat("34535orange") 返回34535
parseFloat("0xA") 返回0 不再有默认进制,直接输出第一个字符“0”
parseFloat("435.34.564") 返回435.34


4、数组
var aMap = ["China","USA","Britain"];
aMap[20] = "Korea";
alert(aMap.length + " " + aMap[10] + " " + aMap[20]);

像上面这段,如果在java上也写一个类似这样子的,肯定会IndexOutOfBoundsException异常

5、split()
看下面的javascript
var str = "abcdefg";
alert(str.split("").length); 返回7

如果在java上
String str = "abcdefg";
str.split("").length; 返回的则是8

然后输出了这里所有的元素,第一个是空的,也就是说在a前面也分割了,但为什么在g的后面不分割呢?看了一下API文档,里面也没有怎么说,如果有兴趣的话,可以去看一下源

码,看一下它的算法。到时应该就知道了。

6、字符串的比较
在java上,是判断两个字符串是否相同,但没有说去判断这两个字符串的大小的。而javascript上不仅可以判断字符串是否相同,还可以判断字符的大小
document.write("Pear" == "Pear"); 返回true
document.write("Apple" < "Orange"); 返回true
document.write("apple" < "Orange"); 返回false