隨筆 - 59  文章 - 70  trackbacks - 0
          <2008年10月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          搜索

          •  

          積分與排名

          • 積分 - 173676
          • 排名 - 340

          最新評論

          閱讀排行榜

          評論排行榜

          上篇文章講了 js 中的 傳值和傳址 函數的作用域 .

          這章我們來探討 js 的變量,表達式,和運算符 還有一些 js 語句

          升級中 ……

          ?

          1, 表達式:

          最簡單的表達式:直接量或者變量名。 var a =1;

          直接量表達式的值:本身。

          變量表達式的值:該變量所存放或引用的值。

          ?

          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 呵呵。效率低,問題多多。

          ?

          總結:

          主要介紹了 js 中的變量,表達式,和運算符 還有一些 js 語句。

          如果還有不懂,可以 google 搜索資料 . ( 學會使用搜索,你也就很厲害了。 )

          轉眼間,學了 3 章了, 不知道大家感覺如何。

          ? 將就些吧,學習最重要的還是靠自己,不懂或者有疑問的地方馬上 寫例子測試,驗證。或者查資料。 ? 這樣可能印象會更深入些。

          ? 加油 …….

          ?

          posted on 2008-10-15 14:29 JasonChou 閱讀(222) 評論(0)  編輯  收藏 所屬分類: html
          主站蜘蛛池模板: 自贡市| 武山县| 大同县| 体育| 济源市| 舟曲县| 三江| 屏东市| 梁河县| 富平县| 双牌县| 高密市| 九台市| 汶川县| 宝应县| 潞西市| 渑池县| 时尚| 博兴县| 霍林郭勒市| 安多县| 泰和县| 雷州市| 沧州市| 尤溪县| 上蔡县| 沙雅县| 石景山区| 瑞安市| 岳阳市| 醴陵市| 石首市| 衡阳市| 从化市| 鹰潭市| 平和县| 平泉县| 博乐市| 永城市| 盱眙县| 藁城市|