<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)

    隨筆分類

    隨筆檔案

    搜索

    •  

    積分與排名

    • 積分 - 173478
    • 排名 - 340

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    以前沒(méi)徹徹底底的看過(guò)js相關(guān)的學(xué)習(xí)資料,覺(jué)得很有必要再看看基礎(chǔ)的東西。一起來(lái)學(xué)習(xí)。

    1 , javascript
    字符集:

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

    為什么要采用這個(gè)編碼呢?

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

    Javascript 中每個(gè)字符都是用 2 個(gè)字節(jié)表示的。(因?yàn)槭?/span> 16 位編碼)

    ?

    ?

    2 , 大小寫敏感:

    js 是一種區(qū)分大小寫的語(yǔ)言。

    注意下:以前我也犯過(guò)的錯(cuò)誤。

    HTML 是不區(qū)分大小寫的。經(jīng)常看見(jiàn)有人這么寫 ,

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

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

    同時(shí) XHTML 中也只能使用小寫。

    這個(gè)我們并不需要太關(guān)心,象這種問(wèn)題,其實(shí)都可以自己給自己定一個(gè)標(biāo)準(zhǔn),自己寫程序的時(shí)候全部小寫。

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

    ?

    3 , 注釋:

    單行:

    //?? 注釋 1

    /*?? 注釋 2? */?

    多行:

    /*? 注釋 3

    *? 注釋 3

    *? 注釋 3

    */

    ?

    4 , 標(biāo)識(shí)符:

    標(biāo)識(shí)符就是一個(gè)名字,用來(lái)命名變量和函數(shù)。

    規(guī)則:第一個(gè)字母必須是字母,下劃線 (_) ,或美圓符號(hào) ($)

    為什么第一個(gè)字母不能為數(shù)字?

    如果第一個(gè)為數(shù)字, js 很容易就把它當(dāng)作數(shù)字處理了,那么命名就沒(méi)意義了, js 規(guī)定了后,就很容易的區(qū)分了標(biāo)識(shí)符和數(shù)字了。

    ?

    5 , 直接量:

    就是程序中直接顯示出來(lái)的數(shù)據(jù)值。

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

    這些都是直接量。

    ?

    6 , 保留字和關(guān)鍵字:

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

    其實(shí)我們只要不取一些特郁悶的名字,都不會(huì)沖突的。

    ?

    7 ,js 數(shù)據(jù)類型:

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

    2 種小數(shù)據(jù)類型: null undefined . ( 為什么叫小數(shù)據(jù)類型?因?yàn)樗麄冎欢x了一個(gè)值 )

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

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

    ?

    其他的一些對(duì)象 :

    數(shù)組:

    Date 是日期的對(duì)象。

    RegExp 類: 正則表達(dá)式的對(duì)象。

    Error 類: js 中發(fā)生錯(cuò)誤的對(duì)象。

    ?

    8 , 使用數(shù)據(jù)類型注意的地方:

    1): 數(shù)字:

    由于數(shù)字有什么 8 進(jìn)制, 10 進(jìn)制, 16 進(jìn)制等。。。

    八進(jìn)制: var num = 011; // "0" 開(kāi)頭

    十六進(jìn)制: var num =0x1f; // "0x" 開(kāi)頭

    所以對(duì)于 js 這個(gè)都能識(shí)別的語(yǔ)言來(lái)說(shuō),就必須得注意。

    alert(377);?? // 377

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

    ?

    進(jìn)行算術(shù)運(yùn)算有個(gè)重要的對(duì)象: Math.

    具體可以去網(wǎng)上下載手冊(cè),查詢里面的方法。

    ?

    2 個(gè)有用的函數(shù): isNaN() isFinite()

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

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

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

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

    ?

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

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

    ?

    2): 字符:

    ‘you’re right’;

    這樣寫的話 js 會(huì)誤以為 you 字母后就結(jié)束了,引起錯(cuò)誤。

    所以當(dāng)遇到這種情況的時(shí)候,必須用到轉(zhuǎn)義。

    我們可以這么寫:

    ‘you\’re right’;

    另外:你可以 google.com 搜索 轉(zhuǎn)義序列表

    ?

    字符串的簡(jiǎn)單操作例子:

    var a = "cssrain";

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

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

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

    從例子可以看出,基數(shù)都是從 0 開(kāi)始的。

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

    // 默認(rèn) 是到最后。

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

    ?

    3): 數(shù)字跟字符之間的轉(zhuǎn)換:

    數(shù)字轉(zhuǎn)字符:

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

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

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

    注: toString() 方法默認(rèn)是以 10 進(jìn)制轉(zhuǎn)換。

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

    ?

    字符轉(zhuǎn)數(shù)字:

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

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

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

    方法 1 中不能 string+0 ; 這樣會(huì)導(dǎo)致字符串拼接,而不是類型轉(zhuǎn)換。

    方法 2 中的 Number 函數(shù)轉(zhuǎn)換,比較嚴(yán)格。

    比如:

    var a = "19cssrain86";

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

    如果我們使用方法 3

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

    可以看出 parseInt() 會(huì)自動(dòng)忽略非數(shù)字的部分。

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

    parseFloat() 會(huì)把小數(shù)部分也取到。

    toString() 一樣, parseInt 也有進(jìn)制,默認(rèn)是 10 進(jìn)制。

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

    當(dāng)字符以 0 開(kāi)頭的時(shí)候,我們必須把 第二個(gè)參數(shù) 指明,不然 js 可能會(huì)以 8 進(jìn)制去轉(zhuǎn)換。

    ?

    4): 布爾類型:

    布爾在數(shù)字環(huán)境中: true? 轉(zhuǎn)換為 ? 1? false? 轉(zhuǎn)換為 ? 0?

    在字符環(huán)境中: true? 轉(zhuǎn)換為 ? “true”? false? 轉(zhuǎn)換為 ? “false”?

    布爾轉(zhuǎn)換:

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

    var x_to_Boolean = !x; // 方法 2 :使用 感嘆號(hào)。

    ?

    5): 函數(shù)的定義:

    方法 1 :普通定義

    function square(x){

    ????? return x*x;

    }

    方法 2 :函數(shù)直接量定義

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

    方法 3 :構(gòu)造參數(shù)

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

    ?

    6): 對(duì)象:

    如果有一個(gè)名為 cssrain 的對(duì)象 他有一個(gè)高度 height 的屬性。

    那么我們可以這么引用:

    cssrain.height;

    還可以使用關(guān)聯(lián)數(shù)組定義: cssrain[“height”];

    ?

    創(chuàng)建對(duì)象:

    方法 1

    var point = new Object();

    point.x = 3;

    point.y = 5;

    方法 2 :使用對(duì)象直接量

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

    當(dāng)然 json 也可以咯。

    ?

    對(duì)象在字符的環(huán)境下,會(huì)調(diào)用 toString() 方法。

    數(shù)字環(huán)境下,會(huì)調(diào)用 valueOf() 方法。

    布爾環(huán)境下,非空對(duì)象為 true;

    ?

    7): 數(shù)組:

    常規(guī)數(shù)組:以非負(fù)整數(shù)做為下標(biāo)。 image[0]

    關(guān)聯(lián)數(shù)組:以字符做為下標(biāo)。如: image[“width”]

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

    ?

    創(chuàng)建數(shù)組:

    方法 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} );

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

    那么它是表示: 3 個(gè)未定義元素 新數(shù)組。

    方法 3 :使用數(shù)組直接量

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

    ?

    8):null undefined

    null 表示無(wú)值;

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

    undefined==null

    如果要區(qū)分:

    可以使用 ===? 或者 typeof 運(yùn)算符。

    ?

    9 , 新手常遇到的疑惑:

    var s =”you are right”;

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

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

    回答: s 是字符串。之所以有方法 ,是因?yàn)?/span> string 類型 有一個(gè)相應(yīng)的對(duì)象類( String )。

    同樣數(shù)字和布爾都有相應(yīng)的 Number , Boolean 類。

    Js 會(huì)內(nèi)部進(jìn)行相應(yīng)的包裝對(duì)象。 String 對(duì)象就替換了原始的字符串。

    ?

    總結(jié):

    簡(jiǎn)單了介紹了 js 中的一些概念(詞法結(jié)構(gòu)) 數(shù)據(jù)類型(部分)。

    ?

    好了,今天就說(shuō)到這里, 明天我們 繼續(xù)。 ^_^

    ps:該文檔來(lái)源互聯(lián)網(wǎng)

    posted on 2008-10-09 16:00 JasonChou 閱讀(287) 評(píng)論(0)  編輯  收藏 所屬分類: html
    主站蜘蛛池模板: 国产电影午夜成年免费视频| 日韩av无码久久精品免费| 暖暖免费在线中文日本| 青青视频观看免费99| 免费看国产一级片| 色婷婷六月亚洲婷婷丁香| 亚洲国产欧美国产综合一区 | free哆拍拍免费永久视频| 全部免费毛片在线播放| 国产无遮挡又黄又爽免费视频| 亚洲成AV人片在线观看WWW| 亚洲卡一卡二卡乱码新区| 你好老叔电影观看免费| 在线观看免费成人| 亚洲韩国精品无码一区二区三区| 亚洲中文无码亚洲人成影院| 免费无码黄网站在线看| 国内一级一级毛片a免费| 亚洲乱码精品久久久久..| 亚洲成a∨人片在无码2023| 国产精品免费AV片在线观看| 免费国产人做人视频在线观看| 亚洲国产一区国产亚洲| 免费在线人人电影网| 国产成人精品免费视频网页大全| 亚洲精品国产自在久久| xxx毛茸茸的亚洲| 久久精品成人免费网站| yy6080久久亚洲精品| 亚洲av专区无码观看精品天堂| 免费一区二区无码东京热| 亚洲AV无码乱码在线观看| 亚洲精品综合在线影院| 99xxoo视频在线永久免费观看| JLZZJLZZ亚洲乱熟无码| 亚洲欧美日韩综合俺去了| 成人午夜免费福利视频| 亚洲av午夜成人片精品网站| 深夜A级毛片视频免费| 夭天干天天做天天免费看| 久久久久亚洲Av无码专|