《JavaScript 學(xué)習(xí)指南》閱讀筆記(二)

  1. 創(chuàng)建匿名函數(shù)的語法為
    var func = new Function("param1","param2",...,"paramn,"function body");
    創(chuàng)建函數(shù)字面量的語法為
    var func = function(params){ // function body}
    下面用這兩種方式實現(xiàn)乘法功能。
    var funcOne = new Function("x", "y", "return x*y;");
    var funcTwo = function (x, y) {
    return x * y;
    }

     var resultOne = funcOne(2, 3);
     var resultTwo = funcTwo(2, 3);
    
     console.log(resultOne + "\n" + resultTwo);
    

匿名函數(shù)和函數(shù)自變量都可以當(dāng)做參數(shù)傳遞給另一個函數(shù)脆栋。二者的區(qū)別是每次調(diào)用匿名函數(shù)爷怀,都會解析一次,而函數(shù)自變量自始至終只解析一次。

  1. 我們也可以在 JS 中使用遞歸函數(shù)臂寝。

     var func = function add(x) {
         if (x <= 0) {
             return 0;
         } else {
             return x + add(x - 1);
         }
     }
    
     var result = func(4);
     console.log(result);
    
  2. Firefox 中我們可以利用 Firebug 進(jìn)行調(diào)試娱节。

  3. 基于 Netscape 的瀏覽器和 IE 瀏覽器處理 Event 事件的方式是不同的嫌蚤,比如鼠標(biāo)按下事件
    function mouseDown(nsEvent) {
    var theEvent = nsEvent ? nsEvent : window.event;
    var localString = "x = " + theEvent.screenX + ", y = " + theEvent.screenY;
    console.log(localString);
    }

     document.onmousedown = mouseDown;
    

基于 Netscape 的瀏覽器會將 Event 作為對象的一部分傳入,而在 IE 中断傲,將 Event 事件視為 window 的屬性脱吱。

  1.  <div id="one" style="width: 200px;height: 200px; border: 1px solid red">
         <div id="two" style="width: 100px;height: 100px; border: 1px solid red">
         </div>
     </div>
    
     <script>
         document.getElementById("one").onmousedown = function () {
             alert("one");
         }
    
         document.getElementById("two").onmousedown = function () {
             alert("two");
         }
    
         document.onmousedown = function () {
             alert("document");
         } 
    

對于以上代碼,只要我們選中 idtwo 的區(qū)域认罩,就會有三個彈出框箱蝠,依次是 two, one, document , 這種情況我們稱之為事件冒泡垦垂,那么我們怎么能阻止這種冒泡機制呢宦搬?在基于 Netscape 的瀏覽器中我們使用 stopPropagation() 方法,在 IE 瀏覽器中我們使用 cancelBubble() 方法劫拗。
function stopBubble(event) {
if (event.stopPropagation) {
event.stopPropagation();
} else {
event.cancelBubble = true;
}
}
要先判斷 stopPropagation() 方法是否存在间校,因為 cancelBubble 值為 false 的時候或者屬性不存在的時候都會返回 false

  1. 到了 DOM Level2 页慷,兩大瀏覽器陣營的 Event 事件的綁定仍然不一樣憔足,IE 中使用的是 attachEvent(), 基于 Netscape 瀏覽器使用的是 addEventListener()。對應(yīng)的酒繁,IE 解綁事件用的是 detachEvent()滓彰,而其它瀏覽器基本是使用的都是 removeEventListener(),用法和綁定事件差不多州袒。
    var oneObject = document.getElementById("one");
    if (oneObject.addEventListener) {
    oneObject.addEventListener("click", clickMe, true);
    } else if (oneObject.attachEvent) {
    oneObject.attachEvent("onclick", clickMe)
    } else {
    oneObject.onclick = clickMe;
    }

     function clickMe(event) {
         alert("click me");
     }
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末揭绑,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子稳析,更是在濱河造成了極大的恐慌洗做,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件彰居,死亡現(xiàn)場離奇詭異诚纸,居然都是意外死亡,警方通過查閱死者的電腦和手機陈惰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門畦徘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人抬闯,你說我怎么就攤上這事井辆。” “怎么了溶握?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵杯缺,是天一觀的道長。 經(jīng)常有香客問我睡榆,道長萍肆,這世上最難降的妖魔是什么袍榆? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮塘揣,結(jié)果婚禮上包雀,老公的妹妹穿的比我還像新娘。我一直安慰自己亲铡,他們只是感情好才写,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著奖蔓,像睡著了一般赞草。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上锭硼,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天房资,我揣著相機與錄音蜕劝,去河邊找鬼檀头。 笑死,一個胖子當(dāng)著我的面吹牛岖沛,可吹牛的內(nèi)容都是我干的暑始。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼婴削,長吁一口氣:“原來是場噩夢啊……” “哼廊镜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起唉俗,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嗤朴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后虫溜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雹姊,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年衡楞,在試婚紗的時候發(fā)現(xiàn)自己被綠了吱雏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡瘾境,死狀恐怖歧杏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情迷守,我是刑警寧澤犬绒,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站兑凿,受9級特大地震影響凯力,放射性物質(zhì)發(fā)生泄漏眨业。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一沮协、第九天 我趴在偏房一處隱蔽的房頂上張望龄捡。 院中可真熱鬧,春花似錦慷暂、人聲如沸聘殖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奸腺。三九已至,卻和暖如春血久,著一層夾襖步出監(jiān)牢的瞬間突照,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工氧吐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留讹蘑,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓筑舅,卻偏偏與公主長得像座慰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子翠拣,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容

  • @轉(zhuǎn)自GitHub 介紹js的基本數(shù)據(jù)類型版仔。Undefined、Null误墓、Boolean蛮粮、Number、Strin...
    YT_Zou閱讀 1,163評論 0 0
  • 聲明:本文來源于http://www.webzsky.com/?p=731我只是在這里作為自己的學(xué)習(xí)筆記整理一下(...
    angryyan閱讀 7,031評論 1 6
  • JavaScript 將字符串轉(zhuǎn)換為數(shù)字 parseInt() ◆只保留數(shù)字的整數(shù)部分谜慌,不會進(jìn)行四舍五入運算然想。 ...
    AkaTBS閱讀 988評論 0 9
  • 相關(guān)知識點 數(shù)據(jù)類型、運算畦娄、對象又沾、function、繼承熙卡、閉包杖刷、作用域、原型鏈驳癌、事件滑燃、RegExp、JSON颓鲜、Aj...
    sandisen閱讀 22,932評論 20 251
  • 部分女性還是應(yīng)了那句話:女人十八一枝花瘤袖,女人三十豆腐渣。不想讓美麗與你的年齡一起老去昂验,就要預(yù)防改善面部皮膚松弛捂敌,只...
    小梅梅吖閱讀 517評論 0 2