您所在的位置:主页 > Java培训 >

javascript与java中的一些区别

时间:2018-12-30 16:42来源:未知 作者:os 点击:

今天上午闲着没事,就总结一下一些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