<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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

    常用鏈接

    留言簿(5)

    隨筆分類

    隨筆檔案

    搜索

    •  

    積分與排名

    • 積分 - 173543
    • 排名 - 340

    最新評論

    閱讀排行榜

    評論排行榜

    以前沒徹徹底底的看過js相關的學習資料,覺得很有必要再看看基礎的東西。一起來學習。

    1 , javascript
    字符集:

    javascript 采用的是 Unicode 字符集編碼。

    為什么要采用這個編碼呢?

    原因很簡單, 16 位的 Unicode 編碼可以表示地球人的任何書面語言。這是語言 國際化的一個重要特征。 ( 大家也許見過用中文寫腳本,比如: function 我的函數 () {}? );

    Javascript 中每個字符都是用 2 個字節表示的。(因為是 16 位編碼)

    ?

    ?

    2 , 大小寫敏感:

    js 是一種區分大小寫的語言。

    注意下:以前我也犯過的錯誤。

    HTML 是不區分大小寫的。經常看見有人這么寫 ,

    <input type=”button” onClick=”a()” /> (這樣寫是對的)

    如果放到 JS 中,就必須使用 onclick (小寫哦!)

    同時 XHTML 中也只能使用小寫。

    這個我們并不需要太關心,象這種問題,其實都可以自己給自己定一個標準,自己寫程序的時候全部小寫。

    另外每行程序后 分號 也是一樣,我們都寫上。

    ?

    3 , 注釋:

    單行:

    //?? 注釋 1

    /*?? 注釋 2? */?

    多行:

    /*? 注釋 3

    *? 注釋 3

    *? 注釋 3

    */

    ?

    4 , 標識符:

    標識符就是一個名字,用來命名變量和函數。

    規則:第一個字母必須是字母,下劃線 (_) ,或美圓符號 ($)

    為什么第一個字母不能為數字?

    如果第一個為數字, js 很容易就把它當作數字處理了,那么命名就沒意義了, js 規定了后,就很容易的區分了標識符和數字了。

    ?

    5 , 直接量:

    就是程序中直接顯示出來的數據值。

    比如: 12? , 1.2? , “ hello “ , true ,? null? , [1,2,3,4]

    這些都是直接量。

    ?

    6 , 保留字和關鍵字:

    具體是哪些,可以去 google.cn

    其實我們只要不取一些特郁悶的名字,都不會沖突的。

    ?

    7 ,js 數據類型:

    3 種基本的類型;數字,字符串和布爾值。

    2 種小數據類型: null undefined . ( 為什么叫小數據類型?因為他們只定義了一個值 )

    1 種復合類型: object. ( 在這個類型中,它的值可以是基本數據類型,也可以是復合類型,比如其他的 object. )

    注意:在對象中有一個特殊的對象 ----function.( 它是一個可以執行代碼的對象 .)

    ?

    其他的一些對象 :

    數組:

    Date 是日期的對象。

    RegExp 類: 正則表達式的對象。

    Error 類: js 中發生錯誤的對象。

    ?

    8 , 使用數據類型注意的地方:

    1): 數字:

    由于數字有什么 8 進制, 10 進制, 16 進制等。。。

    八進制: var num = 011; // "0" 開頭

    十六進制: var num =0x1f; // "0x" 開頭

    所以對于 js 這個都能識別的語言來說,就必須得注意。

    alert(377);?? // 377

    alert(0377);??? //255?? =? 3 * 64 + 7 * 8? + 7 * 1

    ?

    進行算術運算有個重要的對象: Math.

    具體可以去網上下載手冊,查詢里面的方法。

    ?

    2 個有用的函數: isNaN() isFinite()

    isNaN() : 用于檢查其參數是否是數字值。 // 提示:是非數字哦。 (not a number)

    document.write( isNaN (0) )? // 返回 false

    document.write( isNaN (5-2) ) // 返回 false

    document.write( isNaN ("Hello") ) // 返回 true

    ?

    isFinite(number) 函數用于檢查其參數是否是無窮大。

    如果 number 是有限的,則返回 true. 如果 number NaN( 非數字 ) 或者是無窮大,則返回 false;

    ?

    2): 字符:

    ‘you’re right’;

    這樣寫的話 js 會誤以為 you 字母后就結束了,引起錯誤。

    所以當遇到這種情況的時候,必須用到轉義。

    我們可以這么寫:

    ‘you\’re right’;

    另外:你可以 google.com 搜索 轉義序列表

    ?

    字符串的簡單操作例子:

    var a = "cssrain";

    var b = a.charAt(a.length-1); // 從字符串 a 中截取最后一個字符。 ? 輸出: n

    var c = a.substring(0 , 2);? // 從字符串 a 中截取第 1 2 個字符。 輸出: cs

    var d = a.indexOf('s');?? // 從字符串 a 中查找 第一個 s 出現的位置。 輸出: 1??

    從例子可以看出,基數都是從 0 開始的。

    var e = a.substring( a.length-1 ); // 可以看出, substring 2 個參數不寫的話,

    // 默認 是到最后。

    var f = a.substring( a.length-1 , a.length);// 等價于

    ?

    3): 數字跟字符之間的轉換:

    數字轉字符:

    var number_to_string = number + “ ”; // 方法 1 :添加一個空的字符串。

    var number_to_string =String(number); // 方法 2 :使用 String() 函數。

    var number_to_string =number. toString(); // 方法 3 :使用 toString() 函數。

    注: toString() 方法默認是以 10 進制轉換。

    如果要使用 8 進制轉換可以 這么寫: number. toString(8);

    ?

    字符轉數字:

    var string_to_number = string – 0 ; // 方法 1 字符串減去 0

    var string_to_number = Number(string) ; // 方法 2 :使用 Number () 函數。

    var string_to_number = parseInt(string) ; // 方法 3 :使用 parseInt () 函數。

    方法 1 中不能 string+0 ; 這樣會導致字符串拼接,而不是類型轉換。

    方法 2 中的 Number 函數轉換,比較嚴格。

    比如:

    var a = "19cssrain86";

    var b = Number(a);? // 輸出 NaN.

    如果我們使用方法 3

    var c = parseInt(a); // 輸出 19

    可以看出 parseInt() 會自動忽略非數字的部分。

    parseInt() 只取整數部分,忽略小數部分。

    parseFloat() 會把小數部分也取到。

    toString() 一樣, parseInt 也有進制,默認是 10 進制。

    如果想使用 8 進制,可以這么寫: parseInt( “077” , 8 ); // 輸出 63 = 7 * 8 + 7

    當字符以 0 開頭的時候,我們必須把 第二個參數 指明,不然 js 可能會以 8 進制去轉換。

    ?

    4): 布爾類型:

    布爾在數字環境中: true? 轉換為 ? 1? false? 轉換為 ? 0?

    在字符環境中: true? 轉換為 ? “true”? false? 轉換為 ? “false”?

    布爾轉換:

    var x_to_Boolean = Boolean(x); // 方法 1 :使用 Boolean () 函數。

    var x_to_Boolean = !x; // 方法 2 :使用 感嘆號。

    ?

    5): 函數的定義:

    方法 1 :普通定義

    function square(x){

    ????? return x*x;

    }

    方法 2 :函數直接量定義

    var square = function(x){? return x*x; }?? // 推薦使用

    方法 3 :構造參數

    var square = new Function(“x”,”return x*x;”);?? // 效率低

    ?

    6): 對象:

    如果有一個名為 cssrain 的對象 他有一個高度 height 的屬性。

    那么我們可以這么引用:

    cssrain.height;

    還可以使用關聯數組定義: cssrain[“height”];

    ?

    創建對象:

    方法 1

    var point = new Object();

    point.x = 3;

    point.y = 5;

    方法 2 :使用對象直接量

    var point = {x:3 , y:5 }

    當然 json 也可以咯。

    ?

    對象在字符的環境下,會調用 toString() 方法。

    數字環境下,會調用 valueOf() 方法。

    布爾環境下,非空對象為 true;

    ?

    7): 數組:

    常規數組:以非負整數做為下標。 image[0]

    關聯數組:以字符做為下標。如: image[“width”]

    js 不支持多維數組,但數組里面可以嵌套數組。

    ?

    創建數組:

    方法 1

    var a = new Array();

    a[0] = “1”;

    a[1] = 2;

    a[2] = { x:1, y:3};

    方法 2

    var? a? =? new Array(“1” , 2 , {x:1,y:3} );

    注意下:如果只傳了一個參數;比如 var a = new Array(3);

    那么它是表示: 3 個未定義元素 新數組。

    方法 3 :使用數組直接量

    var? a =[“1” ,? 2 , {x:1 , y :3 }]; // 注意外面的 括號 ? ? 不是花 括號。

    ?

    8):null undefined

    null 表示無值;

    undefined : 使用一個并未聲明的變量,或者使用了已經聲明的變量但未賦值或者使用了一個并不存在的屬性。

    undefined==null

    如果要區分:

    可以使用 ===? 或者 typeof 運算符。

    ?

    9 , 新手常遇到的疑惑:

    var s =”you are right”;

    var b = s.substring(s.lastIndexOf(“ ”)-1 , s.length);

    疑惑: s 是對象還是字符串,為什么字符串會有方法呢?

    回答: s 是字符串。之所以有方法 ,是因為 string 類型 有一個相應的對象類( String )。

    同樣數字和布爾都有相應的 Number , Boolean 類。

    Js 會內部進行相應的包裝對象。 String 對象就替換了原始的字符串。

    ?

    總結:

    簡單了介紹了 js 中的一些概念(詞法結構) 數據類型(部分)。

    ?

    好了,今天就說到這里, 明天我們 繼續。 ^_^

    ps:該文檔來源互聯網

    posted on 2008-10-09 16:00 JasonChou 閱讀(287) 評論(0)  編輯  收藏 所屬分類: html
    主站蜘蛛池模板: 免费成人午夜视频| 亚洲人成无码网站久久99热国产| 免费a级毛片网站| 亚洲av中文无码乱人伦在线咪咕 | 人体大胆做受免费视频| 精品视频一区二区三区免费| 成年人在线免费看视频| 亚洲中文字幕无码久久2017| 亚洲AV无码国产精品色| 一级毛片无遮挡免费全部| 久久精品免费一区二区| 亚洲精品视频在线观看你懂的| 久久久亚洲AV波多野结衣| 日本特黄特色AAA大片免费| 曰批全过程免费视频网址| 亚洲国产精品国产自在在线| 亚洲午夜电影在线观看高清 | 一本岛v免费不卡一二三区| 永久免费视频网站在线观看| 伊在人亚洲香蕉精品区麻豆| 亚洲精品国产肉丝袜久久| 一级免费黄色大片| 最近免费中文字幕大全| 亚洲AV无码一区东京热| 美女免费精品高清毛片在线视| 四虎免费影院ww4164h| 337p日本欧洲亚洲大胆裸体艺术| 亚洲色大成WWW亚洲女子| 亚欧免费无码aⅴ在线观看| 亚洲国产黄在线观看| 456亚洲人成在线播放网站| 国产精品免费一区二区三区四区| 免费一级大黄特色大片| 亚洲AV色吊丝无码| 曰批全过程免费视频在线观看无码| 国产午夜鲁丝片AV无码免费| 亚洲人成电影青青在线播放| 日韩电影免费在线观看中文字幕| 亚洲AV永久无码精品一区二区国产| 亚洲一区二区三区成人网站| 亚洲一区二区免费视频|