最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

無(wú)廢話JavaScript教程(全集)第2/4頁(yè)

 更新時(shí)間:2008年10月07日 23:28:35   作者:  
許多讀者認(rèn)為我那本《JavaScript語(yǔ)言精髓與編程實(shí)踐》讀來(lái)辛苦,所以我一直想寫個(gè)簡(jiǎn)單的讀本。索性,這次就寫個(gè)最簡(jiǎn)單的吧。

那么JavaScript當(dāng)然……必然……可以面無(wú)愧色地支持直接量了——他們其實(shí)是一個(gè)概念。例如:
// in javascript
var
aByte = 256
只不過(guò)在理解的時(shí)候,一定要切記:所有上述的代碼中,所謂直接量或立即值,是指那個(gè)'256',而不是那
個(gè)變量或常量的標(biāo)識(shí)符ABYTE/aByte。更進(jìn)一步的,你要知道JavaScript支持了8種直接量聲明:
--------------------
數(shù)值:支持整數(shù),浮點(diǎn)和0x等進(jìn)制前綴,以及……等等;
布爾值:true/false;
無(wú)值:undefined;
函數(shù):function() { ... },也稱為匿名函數(shù);
字符串:使用'..'或"..",支持多行和轉(zhuǎn)義符;
正則表達(dá)式:使用/../..,支持g,i,m等正則配置;
數(shù)組:使用[..],支持嵌套數(shù)組;
對(duì)象:使用{...},支持嵌套對(duì)象聲明;
--------------------
你可以把上述字符量作為一個(gè)個(gè)體,用在代碼——我的意思是表達(dá)式或語(yǔ)句行——的任意位置。用鼻子就可以
進(jìn)行的推論是:
//既然可以寫:
aaa = 'hello, ' + 'world';
//那么就必然可以寫:
bbb = [1,2,3] + [4,5,6];
//同樣也就必然可以寫:
ccc = /abc/ + /cdf/
//同樣:
// ……
如上的,你可以把所有的直接量放在表達(dá)式或語(yǔ)句中間。偶爾的,因?yàn)檎Z(yǔ)法解析的必要,你可能需要用一對(duì)
括號(hào)把這個(gè)直接量括起來(lái)——否則語(yǔ)法上會(huì)出現(xiàn)歧義,例如下面這個(gè):
ddd = (function() {}) + (function() {})
好了,直接量原本就這么簡(jiǎn)單,你只需要期望自己還有一個(gè)沒(méi)退化的鼻子就好了。
四、原型繼承
原型繼承可能是這個(gè)世界上最簡(jiǎn)單不過(guò)的東西了。
我們假定一個(gè)對(duì)象是一張表——偉大的Anders就支持我這個(gè)假設(shè),他說(shuō)JavaScript的對(duì)象是“屬性包”——
這樣的一個(gè)表中存放的就是“name=value”這樣的“名字/值”對(duì)。當(dāng)我們想用下面的代碼:
aObj.name
去找值(value)時(shí),就在表里查一下(用delphi的人應(yīng)該記得TStringList吧)。對(duì)象,哦,所謂對(duì)象——在
我曾經(jīng)的理解里——就是“帶有繼承關(guān)系的結(jié)構(gòu)體(struct/record)”。那么,繼承關(guān)系是?
是這樣,如果上面的查找不成功,對(duì)于原型繼承來(lái)說(shuō),只需要在aObj這個(gè)對(duì)象的“原型”中找一下,就成了。
這個(gè)原型也是一個(gè)對(duì)象,記錄在構(gòu)造器函數(shù)的prototype屬性中。例如:
function MyObject() {
// ...
}
MyObject.prototype = xxx;
var aObj = new MyObject()
zzz = aObj.name;
當(dāng)在aObj中找不到name這個(gè)屬性時(shí),按照上面的規(guī)則,就會(huì)去xxx這個(gè)對(duì)象中找,也就是試圖找找"xxx.name"。
由于xxx本身也是一個(gè)對(duì)象,也會(huì)有一個(gè)構(gòu)造器函數(shù)(例如xxxObject()),因此當(dāng)xxx.name也找不到時(shí),就會(huì)
去xxxObject.prototype里面去找……如此……如此深層次的挖掘,直到再也找不到……就返回undefined。
多簡(jiǎn)單啊,所謂原型繼承,只不過(guò)是一個(gè)簡(jiǎn)單的檢索規(guī)則。
反過(guò)來(lái)說(shuō),你需要讓aObj能訪問(wèn)到某個(gè)成員,也只需要修改一下它(或它們——一指類似aObj的實(shí)例)的原型
就好了。這在JavaScript中是非常常用的。例如你想讓所有的string都有某個(gè)屬性:
String.protoype.MyName = 'string'
又例如你想讓所有的對(duì)象都有某個(gè)屬性(或方法,或其它什么東東),那么:
Object.prototype.getMyName = function() {
return this.MyName;
}
多么美好,現(xiàn)在String也能getMyName了,函數(shù)也能getMyName了,所有沒(méi)有名字的也有名字了——當(dāng)然,名
字是undefined。
沒(méi)名字也是名字,我沒(méi)想過(guò)你會(huì)不會(huì)變成哲學(xué)瘋子,對(duì)不起。

相關(guān)文章

  • JavaScript計(jì)算出現(xiàn)精度丟失問(wèn)題的解決方法

    JavaScript計(jì)算出現(xiàn)精度丟失問(wèn)題的解決方法

    Javascript作為一門大型編程語(yǔ)言,在日常開發(fā)中難免會(huì)涉及到大量的數(shù)學(xué)計(jì)算,然而,浮點(diǎn)數(shù)在計(jì)算過(guò)程中可能出現(xiàn)精度的問(wèn)題,下面我們就來(lái)學(xué)習(xí)一下Javascript中高精度計(jì)算及其相關(guān)知識(shí)吧
    2023-11-11
  • 將input框中輸入內(nèi)容顯示在相應(yīng)的div中【三種方法可選】

    將input框中輸入內(nèi)容顯示在相應(yīng)的div中【三種方法可選】

    本篇文章主要介紹了在input框中輸入內(nèi)容,會(huì)相應(yīng)的顯示在下面的div中的不同做法:js方法;jQuery方法;AngularJs方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-05-05
  • JavaScript中boolean類型之三種情景實(shí)例代碼

    JavaScript中boolean類型之三種情景實(shí)例代碼

    下面小編就為大家?guī)?lái)一篇JavaScript中boolean類型之三種情景實(shí)例代碼。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-11-11
  • 精彩的Bootstrap案例分享 重點(diǎn)在注釋!(選項(xiàng)卡、柵格布局)

    精彩的Bootstrap案例分享 重點(diǎn)在注釋!(選項(xiàng)卡、柵格布局)

    這篇文章主要為大家分享了一個(gè)精彩的Bootstrap案例,涉及到了選項(xiàng)卡、柵格布局,關(guān)鍵重點(diǎn)在注釋,感興趣的小伙伴們可以參考一下
    2016-07-07
  • js中的document.querySelector()方法舉例詳解

    js中的document.querySelector()方法舉例詳解

    這篇文章主要給大家介紹了關(guān)于js中document.querySelector()方法的相關(guān)資料,document.querySelector是JavaScript中的一個(gè)內(nèi)置方法,用于通過(guò)CSS選擇器選擇文檔中的第一個(gè)匹配元素,需要的朋友可以參考下
    2024-01-01
  • JS中call和apply函數(shù)用法實(shí)例分析

    JS中call和apply函數(shù)用法實(shí)例分析

    這篇文章主要介紹了JS中call和apply函數(shù)用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了call和apply函數(shù)繼承功能的使用方法、區(qū)別及操作注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • 微信小程序獲取用戶openid的實(shí)現(xiàn)

    微信小程序獲取用戶openid的實(shí)現(xiàn)

    這篇文章主要介紹了微信小程序獲取用戶openid的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • 小程序?qū)崿F(xiàn)可拖動(dòng)的懸浮按鈕

    小程序?qū)崿F(xiàn)可拖動(dòng)的懸浮按鈕

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)可拖動(dòng)的懸浮按鈕,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • javascript數(shù)組的定義及操作實(shí)例

    javascript數(shù)組的定義及操作實(shí)例

    在文章里小編給大家整理的是關(guān)于javascript數(shù)組的定義及操作的相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。
    2019-11-11
  • 微信小程序?qū)崿F(xiàn)底部彈窗

    微信小程序?qū)崿F(xiàn)底部彈窗

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)底部彈窗,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評(píng)論

鹤山市| 金堂县| 余干县| 阳泉市| 嘉善县| 长子县| 富民县| 大余县| 杨浦区| 阳泉市| 徐州市| 宜章县| 博乐市| 洛宁县| 绥中县| 芜湖市| 江津市| 彩票| 榕江县| 修水县| 高阳县| 金塔县| 双流县| 遵义县| 图木舒克市| 张掖市| 永顺县| 句容市| 南乐县| 临夏县| 拜泉县| 万安县| 湄潭县| 宁南县| 军事| 江华| 土默特左旗| 冕宁县| 于田县| 平利县| 长宁区|