Oo緣來是你oO


          posts - 120,comments - 125,trackbacks - 0
          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          常用鏈接

          留言簿(6)

          隨筆分類(62)

          隨筆檔案(120)

          JavaScript

          個人博客

          技術網站

          有一只企鵝叫Linux

          有一部咖啡叫Java

          有一部經典叫C++

          系列文章

          經典Blog

          搜索

          •  

          積分與排名

          • 積分 - 145161
          • 排名 - 425

          最新評論

          閱讀排行榜

          評論排行榜

          1.???? 何為 Jscript


          JScript
          是一種解釋型的、基于對象的腳本語言。

          ?

          局限性: ????

          1)??????? 不能使用該語言來編寫獨立運行的應用程序

          2)??????? 沒有對讀寫文件的內置支持

          3)??????? 只能在某個解釋器或 宿主 上運行,如 ASP Internet 瀏覽器或者 Windows 腳本宿主

          ?

          JScript 是一種寬松類型語言 , 這意味著我們不必顯式定義變量的數據類型。多數情況下, JScript 將根據需要自動進行轉換。例如:將數值添加到字符串上時,數值將被轉換為字符串(詳情見強制轉換)。

          ?

          ?

          2.???? 變量的聲明


          var count;???????????????? //
          變量聲明

          var count = 0;???????????// 變量聲明 & 初始化

          name = "";????????????????// 隱式聲明變量 name ,沒有使用關鍵字 var

          ?

          1)??????????? 變量聲明之后就置于內存之中,以便后來在腳本中使用

          2)??????????? 若在 var 語句中變量沒有初始化,變量自動取值 undefined ( 1)

          3)??????????? 隱式聲明的變量擁有全局范圍可見度。當在函數中聲明一個變量時,該變量不能用于全局范圍,所以函數中聲明變量必須使用 var 關鍵

          4)??????????? 不能使用未經過聲明的變量

          5)??????????? 聲明一個變量并進行初始化,但又不想指定任何特殊值,可以賦值為 null

          ?

          var count = null;

          var money = 3 * count;?????? // money 的值為 0

          ?

          6)??????????? 聲明一個變量但沒有初始化,其值為 undefined

          ?

          var longth;

          var area = 10 * longth;?????? // area 的值為 NaN ,因為 longth undefined


          ***********************************?

          *???JScript
          null undefined 的主要區別???*

          ***************************************

          ---?? null
          是關鍵字;

          undefined Global 對象的一個屬性。

          ?

          ---???null 是對象 ( 空對象 , 沒有任何屬性和方法 )

          undefined undefined 類型的值。

          ?

          document.writeln(typeof null);?????????????????? // 輸出 object

          document.writeln(typeof undefined);?????????// 輸出 undefined

          ?

          ---?? 對象模型中,所有的對象都是 Object 或其子類的實例,但 null 對象例外:

          document.writeln(null instanceof Object);// 輸出 false

          ?

          ---?? null“ 等值 (==)” undefined ,但不 全等值 (===)” undefined

          document.writeln(null == undefined);????????????????// 輸出 true

          document.writeln(null === undefined);???????????? // 輸出 false

          ?

          ---??? 運算時 null undefined 都可以被類型轉換為 false ,但不等值于 false

          document.writeln(!null);?????????????????????????????????? // 輸出 true

          document.writeln(!undefined);?????????????????????? ? // 輸出 true

          document.writeln(null==false);??????????????????????? // 輸出 false

          document.writeln(undefined==false);????????????? // 輸出 false

          ?

          ?

          7)??????????? JScript 是一種區分大小寫的語言,因此變量名稱 blogjava 和變量名稱 blogJava 是不一樣的

          ?

          < 1> undefined

          ?

          undefined 屬性 Global ( 2) 對象的一個成員,該屬性在腳本引擎初始化后可用。

          ?

          如果聲明了一個變量但沒有初始化,該變量的值就是 undefined

          ?

          如果沒有聲明變量,那么就不能將其與 undefined 進行比較,但是可以將該變量的類型與字符串 "undefined" 進行比較。

          ?

          *****? undefined 應用示例 *****

          ?

          var declared;??????????????????????????????????? // 聲明變量。

          if (declared == undefined)??????????????? // 測試變量。

          ? document.write("declared has not been initialized.");

          ?

          if (typeOf(notDeclared) == "undefined")

          ? document.write("notDeclared has not been defined.");

          ?


          <
          2> Global

          ?

          Global 對象是一個固有對象 ( 3) ,把所有全局方法集中在一個對象中。

          ?

          Global 不能用 new 運算符創建。它在 JScripting 引擎被初始化時創建,并立即使其方法和屬性可用。

          ?

          ***** Global 屬性 *****

          ?

          1)??????? Infinity :返回 Number.POSITIVE_INFINITY 的初始值

          ???POSITIVE_INFINITY 屬性返回比在 JScript 中能夠表示的最大的數 (Number.MAX_VALUE) 更大的值。

          ???JScript POSITIVE_INFINITY 值顯示為 infinity, 該值數學上的作用與正無窮相同。
          ?

          ?與之相對, NEGATIVE_INFINITY 屬性返回比 JScript 能夠表示的最小負數( -Number.MAX_VALUE )更小的值。

          ???JScript NEGATIVE_INFINITY 值顯示為 -infinity, 該值數學上的作用與負無窮相同。

          ?可以看出 POSITIVE_INFINITY NEGATIVE_INFINITY 都是 Number 對象的屬性, Number 對象最主要的用途是將其屬性集中到一個對象中,以及使數字能夠通過 toString 方法轉換為字符串。

          ?

          Number 屬性

          Number 方法

          MAX_VALUE

          toLocaleString

          MIN_VALUE

          NaN

          toString

          NEGATIVE_INFINITY

          POSITIVE_INFINITY

          valueOf

          constructor

          prototype

          ?

          2)??????? NaN :返回特殊值 NaN ,表示表達式不是數字

          ?相關方法: isNan( numValue )

          ??????????返回一個 Boolean 值,指明提供的值 (numValue) 是否是保留值 NaN ( 不是數字 )即判斷是否為數字。

          ????????? 如果值是 NaN 那么 isNaN 函數返回 true ,否則返回 false
          ??????????
          使用這個函數的典型情況是檢查 parseInt parseFloat 方法的返回值。

          ????????? 還有一種辦法,變量可以與它自身進行比較。 如果比較的結果不等,那么它就是 NaN 這是因為 NaN 是唯一與自身不等的值。

          ?

          ***** Global 方法 *****

          ?

          Global

          方法

          escape

          eval

          isFinite

          isNaN

          parseFloat

          parseInt

          unescape

          ?

          < 3> 固有對象

          ?

          固有對象是作為標準 JScript 語言一部分的一種對象。所有的腳本都可以使用這種對象。 JScript 中的固有對象:

          固有對象

          Array

          Boolean

          Date

          Function

          Global

          Math

          Number

          Object

          RegExp

          Regular

          Expression

          String

          ?

          3.???? 強制轉換


          Jscript 中,可以對不同類型的值執行運算, JScript 解釋器自動將數據類型之一改變 ( 強制轉換 ) 為另一種數據類型,然后執行運算。

          ?

          運算

          結果

          數值與字符串相加

          將數值強制轉換為字符串

          布爾值與字符串相加

          將布爾值強制轉換為字符串

          數值與布爾值相加

          將布爾值強制轉換為數值

          ?

          ?

          ***** 強制轉換示例 *****

          ?

          var year = 2008;???????????????? // 一個數字

          var hello = "Hello ";???????????? // 一個字符串

          hello = hello + year;???? ?????? // 將數字強制轉換為字符串

          document.write(hello);????????// 輸出 Hello 2008

          ?

          要想顯示的將字符串轉換為數字可使用方法 parseInt() parseFloat()

          ?

          ?

          4.???? JScript 的數據類型

          Jscript 有三種主要數據類型、兩種復合數據類型和兩種特殊數據類型。

          主要(基本)數據類型:?
          ?????
          字符串
          ????
          數值
          ????
          布爾


          復合(引用)數據類型:
          ?
          ??????
          對象?
          ??????
          數組


          特殊數據類型:
          ?
          ??????
          Null?
          ??????
          Undefined

          1.??????? 字符串

          1)??????? 字符串中可以包含雙引號,該雙引號兩邊需加單引號,
          ?字符串中可以包含單引號,該單引號兩邊需加雙引號。

          "I’m Ma Jia nan."

          '"good good study, day day up", my teacher said.'

          ?

          2)??????? JScript 中沒有表示單個字符的類型(如 C++ char )。要表示 Jscript 中的單個字符,應創建一個只包含一個字符的字符串。包含零個字符( "" 的字符串是空(零長度)字符串

          ?

          2.??????? 數值類型

          Jscript 中整數和浮點值沒有差別; JScript 數值可以是其中任意一種( JScript 內部將所有的數值表示為浮點值)。

          ??????

          1)??????? 整型

          八進制和十六進制數可以為負,但不能有小數位,同時不能以科學計數法(指數)表示。

          2)??????? JScript 包含特殊值數字:
          NaN( 不是數)。當對不適當的數據進行數學運算時使用,例如字符串或未定義值。
          正無窮大。在JScript中如果一個正數太大的話使用它來表示。
          負無窮大。在JScript中如果一個負數太大的話使用它來表示。
          0和負0Jscript區分正0和負0

          3.??????? boolean

          任何值為 0 null未定義(undefined)或空字符串的表達式被解釋為false。其他任意值的表達式解釋為true

          ?

          4.??????? Null 數據類型

          1)??????? Jscript 中數據類型 null 只有一個值: null 。關鍵字 null 不能用作函數或變量的名稱。

          2)??????? 包含 null 的變量包含 無值 無對象 。換句話說,該變量沒有保存有效的數、字符串、 boolean數組或對象。

          3)??????? Jscript 中, null 0 不相等(與在 C C++ 中不同)。同時應該指出的是, Jscript typeof 運算符將報告 null 值為 Object 類型,而非類型 null 。這點潛在的混淆是為了向下兼容。

          5.??????? Undefined 數據類型

          如下情況使返回 undefined 值:

          ¨??????? 對象屬性不存在,

          ¨??????? 聲明了變量但從未賦值。

          ???注意不能通過與 undefined 做比較來測試一個變量是否存在,但可以檢查它的類型是否為 undefined 。在以下的代碼范例中,假設程序員想測試是否已經聲明變量 x

          ??????//方法不起作用?
          ??????
          if( x == undefined)
          ????????????//do sth
          ??????
          ???//方法不起作用,必須檢查字符串"undefined"
          ???if(typeof(x) == undefined)
          ??????// do sth

          ???//方法有效
          ???if(typeof(x) == "undefined")
          ??????//do sth

          考慮將 undefined 值與 null 做比較。? ?????
          someObject.prop == null;
          ????
          ? 如下情況時,比較的結果為 true
          ?????? 如果屬性 someObject.prop 包含 null
          ??????
          如果屬性 someObject.prop 不存在


          要檢查一個對象屬性是否存在,可以使用新的
          in ( 4) 運算符:
          if("prop" in someObject)
          //someObject有屬性prop


          <
          4> in 運算符

          ?

          result = propertyinobject

          ?

          in 操作檢查對象中是否有名為 property 的屬性。

          ?

          ?

          ?<to be continued ... ...>

          ?

          ?

          ?

          ?



          馬嘉楠
          jianan.ma@gmail.com

          posted on 2006-09-07 20:08 馬嘉楠 閱讀(444) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 旬阳县| 泽普县| 黄平县| 盘锦市| 拜城县| 仁布县| 介休市| 南雄市| 巴中市| 曲水县| 大宁县| 逊克县| 蓬莱市| 信阳市| 新竹县| 阳原县| 民乐县| 温宿县| 天峨县| 江山市| 昆山市| 邢台县| 江孜县| 炉霍县| 南京市| 辛集市| 偃师市| 乌拉特前旗| 桐城市| 兴安盟| 关岭| 菏泽市| 五峰| 郑州市| 会东县| 洛南县| 永昌县| 马尔康县| 泰兴市| 昆山市| 福泉市|