疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

javascript与java中的一些区别


 

      今天上午闲着没事,就总结一下一些javascript与java中的一些区别,以后有时间也会多总结一下。这些都是基础的,对初学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