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

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

JavaScript深入淺出

Bosn 資深架構師
難度中級
時長 5小時28分
學習人數(shù)
綜合評分9.60
493人評價 查看評價
9.8 內容實用
9.5 簡潔易懂
9.5 邏輯清晰
  • js的隱式轉換(+和-)

    1. 巧用+/-:???? 如果要把一個字符串變數(shù)字,用字符串-0????????? 如果把數(shù)字變字符串,用數(shù)字+0

    2. a===b(類型和數(shù)值都相同)

      NAN≠NAN??????? new Object ≠ new Object

    3. a==b

      null == undefined????? number == string 轉number(1==“1.0”)

      Boolean == ?轉number(1==true)

      object == number|string 嘗試將對象轉為基本型? new String('hi') == 'hi'

    查看全部
  • js有弱類型特性

    js六種數(shù)據(jù)類型:number? string? Boolean? null? undefined?? object(function array date)

    查看全部
  • bind方法模擬
    在不支持ES5的瀏覽器里模擬bind方法
    幾個注意地方:
    1.var aArgs=Array.prototype.slice.call(arguments,1);//這里的arguments是相對function(oThis)而言的,也即對應的是oThis這個參數(shù),這個oThis又是對應bind()里面的參數(shù)的,由于bind()第一個參數(shù)是對象,后面還可以是用于currying的參數(shù),所以通過slice將后面的參數(shù)獲取。由于arguments不是標準的數(shù)組,需通過數(shù)組原型鏈的調用來使用slice方法。
    2.aArgs.concat(Array.prototype.slice.call(arguments)) //這里的arguments是對應fBound=function()這個匿名函數(shù)的,而fBound作為最后的返回,對應的是函數(shù)bind后賦給的變量(函數(shù)),后者再次調用時傳入的參數(shù)就是這里的arguments,將上面currying的參數(shù)并上后面再傳入的參數(shù),才組成最開始的函數(shù)的參數(shù)this/fToBind。
    3.fNOP空對象是為了作為通過new之后消除bind作用后函數(shù)中this指向空對象的原型鏈準備。而通過this instanceof fNOP來判斷是否使用了new,并決定將對象bind上。沒用new,則判斷為false,bind(oThis);否則為true,即使用new,函數(shù)中this指向空對象。

    查看全部
  • bind方法


    不同的調用方法下,this 指向不同的值

    module.getX(); //this 指向module,返回 81

    var getX = module.getX;
    getX(); // this 指向 全局變量,返回9

    var boundGetX = getX.bind(module);
    boundGetX(); // this 被 bind 向 module,返回81

    查看全部
  • this指向:
    1、直接調用函數(shù)(<function>()):this指向全局對象。
    2、方法調用模式(<object>.<function>()):this指向調用者<object>。
    3、構造函數(shù)調用模式(obj = new <function>()):this指向被構造者obj。
    4、apply/call/bind方法:this指向方法的第一個參數(shù)。
    5、嚴格模式下,this不允許指向全局對象,此時this值為undefined。

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

    2021-04-19

  • Array.isArray:判斷是否為數(shù)組
    實例:Array.isArray(<val>)
    返回值:如果<val>時數(shù)組,則返回true,否則返回false。
    注意:當檢測<arr>實例時,isArray方法優(yōu)于instanceof,因為isArray能檢測iframe。
    ? ? ? 此方法為ES5方法,IE8-不支持。

    查看全部
  • forEach:遍歷數(shù)組元素的方法,arr.forEach(function(x,index,a){});//x具體的元素值,index對應的下標,a數(shù)組本身
    map:數(shù)組映射,var arr=[1,2,3];arr.map(function(x){return x+10;});//[11,12,13] arr;//[1,2,3]不會修改原數(shù)組
    filter:數(shù)組過濾,原數(shù)組不被修改,arr.filter(function(x,index){})
    every:表示每一個元素都要符合一定的條件 var arr=[1,2,3];arr.every(function(x){return x<10;});//true
    some:只要任意一個元素符合條件就可以了,every相當于邏輯與,some相當于邏輯或
    reduce:數(shù)組兩個元素兩兩操作var arr=[1,2,3];arr.reduce(function(x,y){return x+y;},0);//6,這里的0是和1最開始進行相加的,每次結果作為新的x,下一個元素作為y,原數(shù)組未被修改
    reduceRight:是從右到左開始遍歷的,其他的還是跟reduce一樣的,都可以將數(shù)組聚合成一個結果
    indexOf:arr.indexOf(a);//表示元素值為a的所在數(shù)組的下標位置,arr.indexOf(a,i)從下標為i的元素開始查找元素值為a的下標位置
    lastIndexOf:與indexOf差不多,只不過是從右到左開始查找的,返回元素所在的下標位置
    isArray:判斷是否為數(shù)組,必須用Array構造器對象調用
    其他的判斷是否數(shù)組的方法:
    [] instanceof Array;//true
    ({}).toString.apply([])==='[object Array]';//true
    [].constructor === Array;//true

    查看全部
  • 1.join()方法 默認是將字符串轉換為字符串,并以“,”隔開元素,而join()中的參數(shù)就是替換字符串中的“,”,
    而new Array(n+1).join(str)的原理是,創(chuàng)建一個n+1大小的數(shù)組,若用join()方法會產生含n個“,”的字符串,而str正好代替這些“,”以造成重復n次str參數(shù)的字符串。
    2.reverse()方法 將數(shù)組的順序顛倒,注意:原數(shù)組會被改變成顛倒后的數(shù)組。
    3.sort()方法 sort()方法只會對數(shù)組進行字符順序上的排序,例如a,b,c,d,而如果是數(shù)字,則會取第一位數(shù)的字符順序進行排序,改完以后原數(shù)組會被修改。如果想用sort進行數(shù)字上的排序,則應寫入函數(shù)參數(shù)function(a,b){return a-b;},這是升序排列,反之降序是b-a。
    4.concat()方法 作用是合并數(shù)組,返回值是合并后的數(shù)組,原數(shù)組不會改變。如果參數(shù)是一個一維數(shù)組(沒有嵌套),則合并的時候會拉平數(shù)組,如果是嵌套數(shù)組,合并后只會拉平最外一層。
    5.slice()方法 切斷數(shù)組,原數(shù)組不會修改,如果傳入一個參數(shù)n,則返回第n+1個到最后一個元素的數(shù)組,如果傳入n,m,則返回第n+1到m元素的數(shù)組,-1代表最后一個元素,-2代表倒數(shù)第二個元素,以此類推,若輸入的參數(shù)為負數(shù)i,j,則返回倒數(shù)第|i|個到倒數(shù)第|j|+1個元素,總結來說,對于正數(shù),左區(qū)間開,對于負數(shù),右區(qū)間開。
    6.splice膠結方法 切斷數(shù)組膠結數(shù)組,原數(shù)組會被修改,輸入?yún)?shù)n,那么原數(shù)組第n+1個元素到最后一個元素都會被刪除(會作為該函數(shù)的返回值),如果輸入?yún)?shù)m,n,則刪除第m+1個到第m+n個元素。如果輸入兩個以上的參數(shù)則刪除前兩個參數(shù)所指定的元素,替換上剩下的參數(shù)。

    查看全部
  • Object.getOwProertyDescriptor(obj,property_name);<br>
    value: 屬性值
    writable: 該屬性是否可寫,可改變<br>
    enumerable:該屬性是否可被枚舉,就是可在for in中出現(xiàn)<br>
    configurable: 該屬性的標簽是否可改變,是否可用delete將該屬性刪除。

    用defineProperty定義屬性時,默認configurable為true,如果設置為false后,該屬性不管是什么方式都無法更改。

    查看全部
  • 注意:
    1. 用for-in遍歷時,原型鏈上的屬性也會被遍歷到,而且是無序遍歷。
    2. 屬性刪除用delete, prototype屬性不可被刪除;var定義的變量也不可用delete刪除,函數(shù)也不可以被delete掉(經(jīng)驗證,不同的內核實現(xiàn)方式不同,在chrome下不可被delete掉,返回false,但在firefox和IE10下可以被delete掉,返回true,對于函數(shù)也是相同的結果)

    查看全部
  • var obj=Object.create({x:1});
    obj.x;//1
    typeof obj.toString;//"function" //toString()來源Object源型鏈
    obj.hasOwnProperty("x");//false
    //原型鏈繼承關系 :
    obj->{x:1}->Object prototype ->null;

    并不是所有對象都有toString()方法
    var obj=Object.create(null);
    obj.toString //undefined
    此時原型鏈繼承關系 :obj->null。所以無toString()方法

    查看全部
  • in 和 hasOwnProperty
    in是判斷該對象是否具有所要查找的屬性
    而hasOwnProperty則是判斷該對象的實例是否具有所要查找的屬性
    因此可以自定義一個查找對象屬性所在位置的函數(shù):
    function hasProperty(obj,property){
    return obj.hasOwnProperty(property) && property in obj;
    }//返回true時表示該屬性在它的實例上,否則就在原型上

    查看全部
  • 對象構造:
    除了本身被賦予的值之外,對象還有幾個隱藏標簽:
    proto:對象的對象屬性prototype上的賦值
    class:對象的種類
    extensible:是否允許該對象繼續(xù)增加新的屬性

    另外對象的值(如 x=1),也有對應的屬性或方法,提供一些訪問權限的控制
    writable:是否可寫
    enumerable:是否能被刪除
    configurable:是否能夠枚舉
    value:值
    get/set:

    查看全部
  • 特殊運算符的種類:
    1、條件運算符 c?a:b c為true 則取a,否則取b
    2、逗號運算符 a,b 例如 var s = (1,2,3),則s依次賦值,最后輸出為3
    3、delete運算符 delete obj.x 刪除對象obj中的x屬性 ?在IE9下,obj中必須configurable:true 才可以刪除,否則無效
    4、in運算符 判斷obj是否有值或window里是否有變量,返回布爾值 例如 attr in json 或 'document' in window
    5、instanceof 判斷對象類型 {} instanceof Object // true
    6、new運算符 創(chuàng)建一個新對象 new obj / new array ...
    7、this對象 全局用指向window,函數(shù)內指向函數(shù)本身,浮動指針
    8、typeof 判斷對象,返回對象類型 例如 typeof 100 === 'number' // true
    9、void 一元的,判斷所有值,返回均為undefined

    查看全部
  • 過hasOwnProperty()判斷屬性到底是 對象上的 還是 對象的原型鏈上的

    查看全部

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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