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

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

JavaScript深入淺出

Bosn 資深架構師
難度中級
時長 5小時28分
學習人數(shù)
綜合評分9.60
493人評價 查看評價
9.8 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • js
    查看全部
  • 原始類型:1、string;2、object;3、number;

    查看全部
  • 特殊運算符
    查看全部
  • 不能改變已經創(chuàng)建出的實例的指向,改變的只是?prototype。如果?prototype?的指針變化,不會影響之前創(chuàng)建的實例已經有的指針,之前實例的指針還是指向原來創(chuàng)建他時的?prototype?的指針

    查看全部
    0 采集 收起 來源:prototype屬性

    2021-03-21

  • 將變量num變成數(shù)字: num - 0

    將變量num變成字符串:num + ''

    查看全部
  • 嗚嗚嗚嗚

    查看全部
  • JavaScript的數(shù)據類型

    ????弱類型特性:定義的時候不指定數(shù)據類型,在使用的時候賦值什么類型的數(shù)據就是什么類型的數(shù)據類型。

    ????????????????????????32 +32? ?// 64? ?

    ????????????????????????"32" + 32? //"3232"

    ????????????????????????"32" - 32? //0

    ????原始類型:number、string、boolean、nul、undefined

    ????對象類型:對象、函數(shù)、數(shù)組、日期。。。

    查看全部
  • http://img1.sycdn.imooc.com//6048508400015da605404438.jpghttp://img1.sycdn.imooc.com//6048508a0001ad8607530412.jpg

    上面就是對this的介紹,還有一個內容是bind,是傳入對象的一個call(類似吧),這個不太懂所以沒寫

    查看全部
    0 采集 收起 來源:[JavaScript]this

    2021-03-10

  • http://img1.sycdn.imooc.com//60477ed800016fd807590431.jpghttp://img1.sycdn.imooc.com//60477ed80001cfe507470428.jpghttp://img1.sycdn.imooc.com//60477ed80001419207560432.jpghttp://img1.sycdn.imooc.com//60477ed80001e7c605510336.jpghttp://img1.sycdn.imooc.com//60477ef80001bf2e05321569.jpg

    上面就是

    查看全部
  • //函數(shù)在js中是作為一個函數(shù)對象被使用的,所以你也可以給函數(shù)加一些屬性值來表達一定的含義,另外就是函數(shù)是有不同的作用域和一個很重要的參數(shù)argument的

    undefined

    //函數(shù)中重點要講述的就是this、arguments、作用域和不同函數(shù)調用方式以及不同的函數(shù)創(chuàng)建方式

    undefined

    //對于函數(shù)的調用

    undefined

    //1、可以直接調用:foo()

    undefined

    //2、函數(shù)也可以作為對象上的一個方法被調用,object.method()

    undefined

    //3、可以作為一個構造器被調用,new Foo()

    undefined

    //4、可以用function.prototype上的一些屬性例如call/apply/bind來調用

    查看全部
  • 感覺可以怎么理解呢,就是首先就是一個指定上下文的功能,這個具體什么功能還要先介紹完AO和VO。

    和C一樣,你再編譯的時候引入庫的時候是要把一些函數(shù)先聲明調用一波的。就是說會先創(chuàng)建一個函數(shù)的聲明,然后會對變量進行聲明,而且要注意的是每一個函數(shù)都會自己創(chuàng)建一個VO然后嵌套在global的VO里面,然后會對變量進行聲明。所以順序就是1、函數(shù)2、變量,而且變量一開始會被寫成undefined

    然后就是一些關于明名的問題,如果明名的函數(shù)與前面重復,就會覆蓋,如果變量重復就會忽略。

    你這個代碼在編譯的時候就會進行上面的操作,創(chuàng)建一個樹或者說一個json對象(不可見)。先找到所有的函數(shù)、變量,然后再執(zhí)行其他的操作,所以命名重復時候會出現(xiàn)變量丟失。

    http://img1.sycdn.imooc.com//604615ca0001be9606520425.jpg

    查看全部
  • http://img1.sycdn.imooc.com//60460f1f0001108507500416.jpg


    //對于作用域,主要用三種,一種是全局作用域

    undefined

    //全局作用域可以存在于直接定義,即內部函數(shù)之外的地方,也可以在for里面,在c里面是有塊級作用域的,所以定義在for里面的變量拿到外邊是不可以用的,但是js可以,

    undefined

    //還有就是函數(shù)作用域,這個作用域是只能在函數(shù)里面用

    undefined

    //最后就是eval

    undefined

    //!!沒有塊級

    undefined

    //還有就是利用函數(shù)封裝作用域的方法,利用匿名函數(shù)的作用

    undefined

    //匿名函數(shù)可以體現(xiàn)出塊的身影

    undefined

    (function(){


    ? ? var a = 1;

    ? ? ?


    })

    ? (){


    ? ? var a = 1;

    ? ? ?


    }

    !function(){


    ? ? var a,b;


    }()

    true

    查看全部
  • http://img1.sycdn.imooc.com//60460d2b00012b0107610464.jpghttp://img1.sycdn.imooc.com//60460d2c0001966a07640489.jpg


    //關于閉包常見的錯誤:循環(huán)閉包

    undefined

    //要注意在第一個例子里面最后得到的全是4,因為這個for是全部執(zhí)行之后的結果,你在編譯完成之后執(zhí)行就已經是4了,然后你觸發(fā)事件的時候也全是4,也就是說你沒保留住原來的i

    undefined

    //在第二個里面它定義的匿名函數(shù)里面是可以成功保留住i

    undefined

    //那個i會取自每一次bi bao的i

    undefined

    ?//在第二張圖里面我們可以看到bibao的另一個好處就是說你先通過export將它的訪問權限定義在外,然后就可以通過export去訪問里面的函數(shù),但是不可能直接訪問

    undefined

    //而且export只能訪問一些方法,不能訪問全部的變量

    undefined

    //但是bibao也是有缺點的,因為你定義的變量會被一直被存儲,因為不知道你什么時候還會用,由此就會有內存的泄漏和性能消耗等缺點

    查看全部
  • //數(shù)組方法下

    undefined

    var arr = [1,2,3,4,5];

    undefined

    arr.forEach(function(x,index,a){

    ? ??

    ? ? console.log(x+'|'+index+'|'+(a===arr));


    })

    VM6289:3 1|0|true

    VM6289:3 2|1|true

    VM6289:3 3|2|true

    VM6289:3 4|3|true

    VM6289:3 5|4|true

    undefined

    //有些老的版本是不支持foreach方法的

    undefined

    arr.map(function(x){


    ? ? return x+10;


    })

    (5) [11, 12, 13, 14, 15]

    //map是一個映射的函數(shù),在函數(shù)里面可以傳出一個數(shù)組內部的值然后return回去一個操作,在這個操作下面會創(chuàng)建一個新的數(shù)組,而且原來的數(shù)組是不會發(fā)生改變的

    undefined

    arr.filter(function(x,index){


    ? ? return (x%1)&&(x%x);




    })

    []

    arr.filter(function(x,index){


    ? ? return (x%2);




    })

    (3) [1, 3, 5]

    //fiter是一個過濾器,它的作用就是將原來的數(shù)組里面的一些值進行一次過濾得到我們想要的值

    undefined

    arr.every(function(x){


    ? ? return x<10;


    })

    true

    arr.some(function(x){


    ? ? return x===3;

    }



    )

    true

    //every和some是對數(shù)組里面所有的值進行一個遍歷,然后判斷是否滿足某一個條件,every的用法類似于邏輯與,必須所有的都滿足才行,而some只要求其中一個滿足就可以

    undefined

    arr.reduce(function(x,y){


    console.log(x+'|'+y);

    return x>y?x:y;



    })

    VM6798:3 1|2

    VM6798:3 2|3

    VM6798:3 3|4

    VM6798:3 4|5

    5

    //reduce是一個比較復雜的辦法,可以理解成是一個迭代的過程,先是選取兩個數(shù),然后操作一波得到一個數(shù),然后將這個數(shù)字作為下一次迭代的第一個數(shù)

    undefined

    arr.reduceRight(function(x,y){

    ? ??

    ? ??

    console.log(x+'|'+y);

    return x>y?x:y;

    })

    VM6904:4 5|4

    VM6904:4 5|3

    VM6904:4 5|2

    VM6904:4 5|1

    5

    arr.indexOf(2)

    1

    arr.indexOf(1,-1)

    -1

    //第二個參數(shù)是從哪里開始找,這個永遠都是向右找,所以第二個結果才會返回-1

    undefined

    arr.lastIndexOf(1,-1)

    0

    //這回就找的到了

    undefined

    //在array構造器上定義了一個判斷是否是array的方法叫做isArray

    undefined

    Array.isArray(arr)

    true

    //因為是定義在構造器上面的所以只能在上面用

    undefined

    //當然我們也有一些其他的辦法

    undefined

    arr instanceof Array

    true

    arr.constructor ===Array

    true

    //但是構造器屬性是可以繼承而來的,所以一般來說也不一定準確

    查看全部
  • //這一小節(jié)我們會介紹數(shù)組的一些方法

    undefined

    //對于對象,我們之所以可以調用它下面的很多的方法,是因為它的原型鏈上有一個object.prototype這個對象,它下面包含著所有的方法(你也可以稱之為屬性)

    undefined

    //對于數(shù)組,我們也有一個array.prototype這個對象下的方法,當然我們一般來說是用es5的方法,因為老的版本ie678只支持一些非es5的放啊

    undefined

    //1、join方法,將數(shù)組轉換成字符串,選擇以什么方式將數(shù)組輸出

    undefined

    var arr = [1,2,3];

    undefined

    arr

    (3) [1, 2, 3]

    arr.join('_')

    "1_2_3"

    //其實join最廣泛的一個應用還是重復

    undefined

    function repeatString(str,n){return new Array(n+1).join(str);}

    undefined

    repeatString('a',3)

    "aaa"

    repeatString('Hi',4)

    "HiHiHiHi"

    //2、reverse方法是將數(shù)組倒過來,它也會影響到原來的arr

    undefined

    arr.reverse()

    (3) [3, 2, 1]

    arr

    (3) [3, 2, 1]

    //3、sort函數(shù),實際上我們對JavaScript的里面有誤解,默認情況下它是按照字符的順序排列,而且還是將每個元素看作一個字符串,然后判斷字符串的第一個元素的大小然后排序.

    undefined

    arr2 = ['a','c','b']

    (3) ["a", "c", "b"]

    arr2.sort()// 而且原數(shù)組也會被修改

    (3) ["a", "b", "c"]

    arr.sort()

    (3) [1, 2, 3]

    //所以我們要給這個數(shù)組加入一些方法函數(shù)

    undefined

    6164:1 Unchecked runtime.lastError: The message port closed before a response was received.

    arr.sort(function(a,b){return a-b;//這個的意思是a大于b的話返回true,表示需要交換



    })

    (3) [1, 2, 3]

    //而且上面可以看到直接在方法里面加函數(shù)的話不需要定義名字

    undefined

    //再舉例

    undefined

    arr4 = [{age:1},{age:45},{age:70}];

    VM12181:1 Uncaught SyntaxError: Invalid or unexpected token

    arr4 = [{age:1},{age:45},{age:70}];

    (3) [{…}, {…}, {…}]

    arr4.sort(function(a,b){return a.age-b.age;})

    (3) [{…}, {…}, {…}]0: {age: 1}1: {age: 45}2: {age: 70}length: 3__proto__: Array(0)

    arr4

    (3) [{…}, {…}, {…}]

    arr4.forEach(function(item){

    ? ? console.log(item.age);

    })

    VM12460:2 1

    VM12460:2 45

    VM12460:2 70

    undefined

    //上面是一個foreach的方法

    undefined

    //4、concat方法

    undefined

    //concat方法是將數(shù)組進行合并,這個和上面幾個方法的不同點在于它并不會改變原來的數(shù)組,而是會產生一個新的數(shù)組,原來的數(shù)組并不會被修改

    undefined

    arr.concat([4,5])

    (5) [1, 2, 3, 4, 5]

    arr.concat([1,2],[4,[56,4]])

    (7) [1, 2, 3, 1, 2, 4, Array(2)]

    //上面可以看見會將括號里面的第一層數(shù)組拉平,但是里面嵌套的數(shù)組只會被當作元素

    undefined

    //5、slice方法是返回某個元素的一個片段,是一個左臂右開的區(qū)間,這個函數(shù)是支持負數(shù)索引的

    undefined

    arr = [1,2,3,4,5]

    (5) [1, 2, 3, 4, 5]

    arr.slice(1,3)

    (2) [2, 3]

    //slice也不會對原數(shù)組進行修改

    undefined

    //6、splice數(shù)組拼接,非常雞肋

    undefined

    arr

    (5) [1, 2, 3, 4, 5]

    //function1

    undefined

    arr.splice(2)

    (3) [3, 4, 5]

    arr

    (2) [1, 2]

    // 愿數(shù)組被修改,表示從第二個元素一直到尾部全部切下來扔掉

    undefined

    //function2:添加第二個參數(shù),表示切下來幾個

    undefined

    var arr = [1,2,3,4,5];

    undefined

    arr.splice(2,2,'a','b')//這個懶得寫function3了,基本就是因為是連續(xù)切的,你切下來的空白可以用另外一個數(shù)組補上

    (2) [3, 4]

    arr

    (5) [1, 2, "a", "b", 5]

    查看全部

舉報

0/150
提交
取消
課程須知
1.您至少學習了本站“JS入門”、“JS進階”兩門基礎課程。 2.如您具備一定實踐經驗對學習有很大幫助。 3.如您沒有腳本編程開發(fā)經驗,學習過程有可能會受挫部分內容或示例代碼,請“暫時略過不懂的部分,后面章節(jié)會闡述”,當然想透徹學習,還需大量實踐來體會知識的內涵。
老師告訴你能學到什么?
結合實例,深入解析以下知識內容: 1. 數(shù)據類型、表達式和運算符、語句; 2. 對象、數(shù)組、變量、函數(shù); 3. this、閉包和作用域; 4. OOP; 5. 正則與模式匹配。

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!