第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

直面JavaScript中的30個疑難雜癥

公明2020 Web前端工程師
難度中級
時長 5小時 3分
學(xué)習(xí)人數(shù)
綜合評分9.57
19人評價 查看評價
9.7 內(nèi)容實用
9.8 簡潔易懂
9.2 邏輯清晰
  • 阻止默認(rèn)事件
    a標(biāo)簽

    阻止默認(rèn)行為:

    preventDefault();

    return false

    查看全部
  • 什么是事件對象:事件觸發(fā)時候自動創(chuàng)建的,封裝了事件發(fā)生的元素和屬性信息。

    var obj3 =document.getElementById('demo3') //獲取demo3對象

    obj3.addEventListener('click',function(e)//給demo3綁定事件監(jiān)聽? 傳入函數(shù)function,事件觸發(fā)的時候就自動創(chuàng)建了一個e 就是event,就是事件對象。事件對象傳入進來之后,做了一個判斷,

    {

    var e=e||window.event;

    if(e.target.nodeName.toLowerCase() =='div'){//target事件觸發(fā)的事件對象

    alert(e.target.innerHTML);

    }

    },

    false;//true是捕獲,false 是冒泡

    )

    事件的周期:

    事件捕獲,事件對象的觸發(fā),冒泡觸發(fā)

    事件冒泡應(yīng)用:1阻止冒泡 e.stopPropagation()

    當(dāng)沒有阻止冒泡適合 可以做事件委托。

    var obj2 = document.getElementById('demo2')

    obj2.addEventlistener('click',function(e){

    var e=e||window.event;

    if(e.target.nodeName.toLowerCase() =='li'){//當(dāng)前觸發(fā)對象是父元素下面的li,就彈出li的內(nèi)容

    alert(e.target.innerHTML);

    }

    },false

    )

    【對父元素綁定一個點擊事件,利用冒泡原來當(dāng)點擊子元素觸發(fā)對應(yīng)的點擊事件】

    查看全部
  • 1html事件

    通過 onclick 綁定一個函數(shù)。

    例如:<input type="button" value="html事件點擊" onclick="fun()">
    <script>

    function fun(){

    alert('hello MOOC')

    }

    主要是操作簡單的點擊事件

    </script>

    2DOM0級事件

    事件綁定

    例如:

    <input type="buttom" value="dom0級事件” id="btn">

    <script>

    document.getElementById("btn").onclick = function(){

    alert('hello MOOC2')

    }

    </script>

    通過js語法獲取DOM對象,通過onclick? 等綁定一些事件。相當(dāng)于一個分離了,邏輯操作跟結(jié)構(gòu)是分開的。這樣比較清晰。

    3DOM2級事件

    事件監(jiān)聽? 【通過element(對象).addEvenListener(函數(shù))(event【事件名】, function【函數(shù)】, useCaptrue【可選指定事件是否捕獲冒泡階段執(zhí)行。true執(zhí)行,默認(rèn)false.】(事件對象))來做事件的監(jiān)聽】

    removeEventListener移除事件監(jiān)聽

    例如:

    <inpunt type="button" value="dom2級事件" id="btn1">
    <script>

    document.getElementById("btn1").addEventListener("click",fun2);

    function fun2(){

    alert('hello MOOC3')

    }

    </script>

    (后兩種用的比較多)

    事件監(jiān)聽可以綁定多個事件(可以觸發(fā)多個綁定事件)

    事件綁定只能綁定一個事件(如果同時綁定兩個點擊事件,只執(zhí)行最后一個綁定事件)

    原因:js中不支持事件的重載,如果再綁定一個事件,相當(dāng)于變量指向另外一個新的函數(shù)地址。

    查看全部
  • 解析過程中:

    1遇到link的外部css,遇到css的代碼會進行css的加載,并行。

    2遇到script標(biāo)簽的時候,會先去執(zhí)行js的內(nèi)容,直至腳本完成執(zhí)行,然后繼續(xù)構(gòu)建DOM。

    底部引用JavaScript代碼的原因,或者說可以再頭部引用,但是前提是加上async,defer,或者window.onload;

    解析器遇到設(shè)置了async(異步)屬性的script 開始下載腳本并繼續(xù)解析文檔,腳本會在她下載完成后盡快執(zhí)行。而defer同樣是異步但是她會再文檔渲染完畢后,DOMcontentLoaded事件調(diào)用前執(zhí)行,腳本會被延遲到整個頁面都解析完畢后再運行。

    async和defer都是異步的,并不影響我們整個DOM樹的構(gòu)建。

    css有自己的解析器,每個css文件解析為樣式表對象CSSStyleSheet。生成css樹

    構(gòu)建渲染樹:DOM樹+CSS樹

    布局layout與繪制paint:計算對象之間的大小,距離確定每個節(jié)點再屏幕上的確切坐標(biāo),映射瀏覽器屏幕繪制。使用UI后端層繪制每個節(jié)點。

    reflow(回流):回流一定會重繪。相當(dāng)于刷新頁面

    repaint(重繪):不一定引起回流。局部改變背景色 字體顏色這些。

    查看全部
  • escape:除了ASCII(a-z,0-9)編碼

    unescape:解碼

    js的全局函數(shù),js中內(nèi)置的可以直接使用

    比較實用:

    encodeURI()編碼:主要對漢字進行編碼

    decodeURI()解碼

    console.log(encodeURI(url))

    var ec = encodeURI(url)

    console.log(decodeURI(ec)) 用的比較多, ios 等里面都用的上

    查看全部
  • var? now = new Date()

    console.log(now.getTime()) //? 1608908483092 :1970 1 1 0至今的一個毫秒數(shù)
    console.log(now.getDay())//5 本周的第幾天

    console.log(now.getDate())// 25號 本月幾號

    console.log(now.getMonth()+1)//注意 月要+1 原本是0-11加上1才是1-12


    獲取時間 now:本地客戶端時間是可以修改的 要從后端獲取才能準(zhǔn)確。

    固定的時間段可從前端獲取。

    查看全部
  • sort方法:1.默認(rèn)升序
    ? ? ? ? ? ? ? ?2.將排序的元素轉(zhuǎn)化為字符串;找對應(yīng)字符串的Unicode碼表。

    (Unicode碼表:abc 1,好)
    console.log(arr.sort())

    【解決方法】

    1. 定義一個比較器函數(shù)sort(callback)

    2. function(x,y){return x-y}小于0 x移到y(tǒng)前面, 大于0 x移到y(tǒng)后面,等于0不變。

    例子:
    var? arr=[3,25,15,18,9,22]

    arr.sort(function(x,y){

    return x-y

    })

    console.log(arr)//3,9,15,18,22,25

    或者直接調(diào)用內(nèi)部方法reverse

    console.log(arr.reverse())

    查看全部
  • 手寫一個bind方法


    63d916340001eb7b09600540.jpg
    查看全部
  • 匿名函數(shù)優(yōu)點

    查看全部
  • JS中有哪些數(shù)據(jù)類型?

    一、原始類型(基本類型):

    Undefined、Null、Boolean、Number和String

    二、引用類型(復(fù)雜類型):

    Object

    查看全部
  • 常見函數(shù)的四種類型

    1. 匿名函數(shù)-定義時候沒有任何變量引用的函數(shù)

      匿名函數(shù)自調(diào):如果函數(shù)只執(zhí)行一次

      (function(a,b){

      ? ? ? console.log('a = ', + a)

      ? ? ??console.log('b = ', + b)

      })(1, 2);

    2. 回調(diào)函數(shù)

    3. 遞歸函數(shù)

    4. 構(gòu)造函數(shù)


    查看全部
  • BOM瀏覽器對象模型

    history 棧

    window.history屬性指向 History 對象,表示當(dāng)前窗口的瀏覽歷史 www.baidu.com

    History.back()、 History.forward()、 History.go()

    History.pushState(), History.replaceState()


    Location 對象window.location和document.location屬性 可以拿到這個對象

    location.herf 整個UIRL

    Location.protocol 當(dāng)前URL的協(xié)議 包括冒號(:)和端口

    Location.port 端口號

    Location.pathname URL 的路勁部分,從根路勁開始

    Location.search 查詢字符串部分 從問號?開始

    Location.hash 片段字符串部分 從#開始

    Location.username 域名前面的密碼

    Location.origin URL 的協(xié)議、主機名和端口

    查看全部
  • // 事件委托

    var obj2 = document.getElementById('demo2')

    obj2.addEventListener('click', function(e){

    ????var e = e || window.event;

    ????if(e.target.nodeName.toLowerCase() == 'li' { // IE8: e.srcElement

    ????????alert(e.targe.innerHTML);

    ????}

    }, false);

    查看全部
  • 堆就是在棧中存儲一個地址? 通過地址找到對應(yīng)的數(shù)據(jù)??

    棧就是原始類型的數(shù)據(jù)存儲? 就像鴨子彈一樣??

    查看全部
  • 閉包是指有權(quán)訪問另一個函數(shù)作用域中的變量的函數(shù)?!禞avaScript高級程序設(shè)計》

    查看全部

舉報

0/150
提交
取消
課程須知
1、有一定的前端JavaScript基礎(chǔ)的用戶 2、想對JavaScript有更深層次的了解,或者是對常見JavaScript面試題難以理解的用戶 3、技術(shù)儲備:JavaScript、HTML、CSS
老師告訴你能學(xué)到什么?
JavaScript中比較重要的知識點,例如數(shù)據(jù)類型檢測;面試中常見的閉包、作用域和作用域鏈、執(zhí)行上下文等等;還有JavaScript中的原型、原型鏈,面向?qū)ο髥栴},以及實戰(zhàn)開發(fā)的運用。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!