Javascript學習第三集

來源:互聯網
上載者:User

 這章我們來探討js中的變數,運算式,和運算子 還有一些 js 語句。
升級中……

1, 運算式:
最簡單的運算式:直接量或者變數名。var a =1;
直接量運算式的值:本身。
Variant 運算式的值:該變數所存放或引用的值。

2 , 運算子:
一元運算子: 比如 - 3
二元運算子: 比如 3+4
三元運算子: 比如 ?   :  

新手常遇到的問題:
遞增運算子:
比如:
i = 1 ;
j = ++ i ; // 前遞增運算,即先對運算數進行遞增,然後再去計算。
//輸出   i =2;    j=2 ;

i = 1 ;
j = i ++; // 後遞增運算,即先去計算,然後再對運算數進行遞增。
//輸出   i =2;    j=1 ;

3, 相等運算子:
=   : 賦值運算子;
== : 相等運算子;
=== : 等同運算子;
值NaN永遠不會與任何值相等,包括自己。
alert(NaN == NaN); //false NaN 意思為 Not a Number
要檢測一個值是否是NaN,可以使用全域函數isNaN();

另外新手要注意:
var a =[1,2,3];
var b =[1,2,3];
document.write(a==b); // 輸出false .(這個其實是 第一章講的內容。)
                   // 雖然值相同,類型相同,但址不同。
--------------------------------------------------------
var a =[1,2,3];
var b = a ;
var c = a ;
document.write(b===c);//輸出true;
--------------------------------------------------------
var a = "1";
var b = true ;
document.write(a==b); //輸出 true
document.write(a===b); //輸出 false   ; 值相同, 類型不同

4, 比較子:
要注意的就是字串是進行琢個比較。
而且會區分大小寫。
如果你的需求是不區分大小寫:
可以使用 String.toLowerCase() //純小寫
String.toUpperCase() //純大寫 轉換後 ,然後再去比較.

5, in 運算子:
要注意的是:左邊的值是其右邊對象的屬性。
比如:
var a = { x : 1 , y : 2 };
var b = “x” in a ;   // true
var c = “toString” in a ; // true . 左邊的值是其右邊對象的屬性。

6 instanceof 運算子:
要注意的是:左邊的運算數是一個對象,右邊的運算數是對象類的名字。
比如:
var a = new Date()
a instanceof Date; // true
a instanceof Object ; // true
a instanceof Number ; // false

7, 3元條件運算子:
要注意的是:第一個運算數必須是一個布爾值。
X > 0 ? 3 : 2 ;

8, typeof運算子:
要注意的是:由於typeof對所有的對象和數組都是返回 object;
所以它只能區分對象和未經處理資料類型時才有用。
要區別一種物件類型和另一種物件類型,可以使用 instanceof 和 constructor 屬性。

9, delete運算子:
要注意的是:並不是所有的屬性和變數都能刪除。
比如:
用var 語句聲明的變數不能被刪除。
另外;當delete刪除一個不存在的屬性時,返回true;(^_^,這個比較搞笑。)
var a = 1;
alert( delete a ); //返回 false
alert( delete a.x ); //返回 true
還有一個應該注意:
Delete 所能影響的只是屬性值,並不能影響被這些屬性引用的對象。
比如:
var my =new Object();
my.height = new Date();
my.width = my.height;
delete my.height ;
document.write(my.width);// my.width仍然是引用Date對象

10,void運算子:
void的一個用途: 專門產生undefined值、
alert( void(0) )
alert( void(1) ) //都輸出 undefined
這裡的undefined實際是 void()運算後的值。
考慮到向後相容性,用運算式void 0 比使用 undefined屬性更有用.

11,異常處理:
拋出異常: throw
捕捉異常:try / catch / finally
If(x>0)
throw new Error(“x must not be negative!”);

try{
}
catch(e){
}
finally{ //總是被最後執行 。通常進行 消除操作。
}

12,with語句:
   var form = frame[1].document.forms[0];
   form.name.value = “ “;
   form.address.value =” “;
這樣可以使用with語句代替;
比如:
with(frame[1].document.forms[0]){
   name.value = “ “;
   address.value =” “;


當然書上強烈不推薦使用with, 呵呵。效率低,問題多多

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.