js有別於java的一些語法(瞭解)

1.switch可用於字符串: java

1 var a = 'abc';
2 switch(a){
3     case 1: alert("number");break;
4     case true:alert('boolean');break;
5     case 'abc': alert('String');break;
6 }

2.with語句: 
1 with(document){
2     writeln('hello');
3     writeln('world');
4 }//這樣就不用每次都寫document.writeln(...)

3.foreach語句: 數組

1 function Person(name ,gender){
2     this.name = name;
3     this.gender = gender;
4     this.shout = function (){return 'shut up !';}
5 }
6 var p = new Person('macondo','male');
7 for(var i in p){
8     document.writeln(i+' = '+p[i]+'<br>');
9 }
這裏foreach語句比java中得更進一步,緣由是p.name也能夠寫成p['name'] 

4.數組: 
01 var fruit = new Array();
02 fruit.push('apple');//等同於fruit[0] = 'apple'
03 fruit.push('pear');//等同於fruit[1] = 'pear'
04 //等同於var fruit = new Array('apple','pear');
05 //等同於var fruit = ['apple','pear'];
06 fruit['a']='orange';//我以爲就像fruit.a='orange',其實它再也不數組裏,而是fruit的一個屬性
07 //fruit.a='orange';
08 for (var i in fruit){
09     document.writeln(i+' = '+fruit[i]+'<br>');
10 }  
11 var t = fruit.length;//這裏必須先把length賦給t
12 for(var i=0;i<t;i++){//若再for循環裏用length, pop()一下length就被改變了
13     document.writeln('pop:'+fruit.pop()+'<br>'); 
14 }
15 document.writeln(fruit['a']);//下目標爲‘a'的元素沒被刪除,且不會被pop掉

5.js中的數據類型有:string,boolean,number,undefined,function(函數也是對象),其餘的都是object類型,能夠同typeof運算符獲得數據類型 app

01 function add(a,b){return a+b;}
02 with(document){
03     writeln(typeof e);//undefined
04     writeln(typeof 4.5);//number
05     writeln(typeof (1/0));//number
06     writeln(typeof true);//boolean
07     writeln(typeof '');//string
08     writeln(typeof add);//function
09     writeln(typeof new add());//object
10     writeln(typeof null)//也是object?
11     writeln('<br>');
12     writeln(typeof new Boolean('abc'));//objcet,由於boolean也是繼承自object
13     writeln(typeof Boolean('abc'));//boolean,這裏是強制類型轉換,把'abc'變成true
14     writeln(typeof new String('abc'));//同上
15     writeln(typeof String(true));          
16 }

不知爲何null居然也是object,個人理解是除了原始數據類型(number,boolean,string等)以外,其餘的包括(Boolean,String)都是object繼承來的。Boolean和boolean是有一點區別的 函數

6.函數能夠先使用,後聲明 ui

7.除了在函數裏面聲明的變量是local variable以外,在for,if等{}塊中聲明的變量是全局變量 this

8.js numbers are 64-bit floating point numbers (ex. var a=444;)  spa

9.字符串可用<、>比較大小 對象

相關文章
相關標籤/搜索