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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

JavaScript深入淺出

Bosn 資深架構(gòu)師
難度中級(jí)
時(shí)長(zhǎng) 5小時(shí)28分
學(xué)習(xí)人數(shù)
綜合評(píng)分9.60
493人評(píng)價(jià) 查看評(píng)價(jià)
9.8 內(nèi)容實(shí)用
9.5 簡(jiǎn)潔易懂
9.5 邏輯清晰
  • //對(duì)于稀疏數(shù)組,一般并不含有從0開(kāi)始的連續(xù)索引,一般的length這個(gè)屬性值比實(shí)際的元素個(gè)數(shù)多

    undefined

    var arr1 = [undefined];

    undefined

    var arr2 = new Array(1);

    undefined

    0 in arr1

    true

    0 in arr2

    false

    1 in arr2

    false

    arr2

    [empty]length: 1__proto__: Array(0)

    var arr2 = new Array(3,2)

    undefined

    arr2

    (2) [3, 2]

    0 in arr2

    true

    //上面發(fā)現(xiàn)一個(gè)很奇怪的現(xiàn)象,其實(shí)你在用new創(chuàng)建數(shù)組的時(shí)候,如果你只輸入一個(gè)數(shù)字,那么這個(gè)時(shí)候就會(huì)默認(rèn)這個(gè)數(shù)字是你的數(shù)組長(zhǎng)度,但是如果你輸入了一大堆的東西就會(huì)認(rèn)為是一個(gè)數(shù)組里面的元素

    undefined

    //當(dāng)然上面不是我們關(guān)注的重點(diǎn),重點(diǎn)是我們?nèi)绻粍?chuàng)建的話其實(shí)沒(méi)有任何默認(rèn)的賦值,甚至是undefined都沒(méi)有,而只是單純的申請(qǐng)了一點(diǎn)點(diǎn)的空間,所以用in方法的時(shí)候顯示false

    undefined

    var arr3 = [1,2,3];

    undefined

    arr3.length = 100

    100

    arr[99] = 1;

    VM8114:1 Uncaught ReferenceError: arr is not defined

    ? ? at <anonymous>:1:1

    (anonymous) @ VM8114:1

    arr3[99] = 1;

    1

    99 in arr3

    true

    98 in arr3

    false

    //上面給99賦值了所以有in,98沒(méi)有

    查看全部
  • //上面記錄的時(shí)候有點(diǎn)沒(méi)有頭腦,下面在記錄的時(shí)候一定要分清楚先后的順序,最好每個(gè)章節(jié)一起學(xué)習(xí),并且要及時(shí)的復(fù)習(xí)

    undefined

    //這一章要學(xué)習(xí)數(shù)組,在JavaScript中的數(shù)組首先是一個(gè)“弱類(lèi)型”的數(shù)組,就是說(shuō)你可以在其中定義很多的東西,不一定非要是數(shù)字類(lèi)型

    undefined

    var arr = [1,null,true,undefined,[1,1,2]];

    undefined

    //里面也可以定義對(duì)象,

    undefined

    //一、創(chuàng)建數(shù)組

    undefined

    //就像上面直接創(chuàng)建

    undefined

    var a = [,,];

    undefined

    //上面的方法不建議,創(chuàng)建了“兩個(gè)”undefined,數(shù)組創(chuàng)建的長(zhǎng)度是從0~2的23次方

    undefined

    //2、還可以用object的方法創(chuàng)建

    undefined

    var arr = new Array(100,false);//可以在里面直接加

    undefined

    arr

    (2) [100, false]

    delete arr[0]

    true

    //但是刪除之后,長(zhǎng)度是不變的,只是刪除的地方變成了undefined

    undefined

    //push方法

    undefined

    var arr[];

    VM2648:1 Uncaught SyntaxError: Unexpected token '['

    var arr = [];

    undefined

    arr.[0] = 1

    VM2722:1 Uncaught SyntaxError: Unexpected token '['

    arr[0]= 1

    1

    arr.push(1)

    2

    //unshift方法

    undefined

    //unshift實(shí)在數(shù)組的頭部添加元素

    undefined

    arr.unshift(1)

    3

    arr

    (3) [1, 1, 1]

    //in

    undefined

    //in方法可以判斷數(shù)字是否在數(shù)組里面

    undefined

    1 in arr

    true

    //pop函數(shù),刪除掉尾部的元素,也可以用length-1的方法

    undefined

    arr.pop()

    1

    arr

    (2) [1, 1]

    //shift()函數(shù)是在頭部刪除元素

    undefined

    arr.shift

    ? shift() { [native code] }

    arr.shift()

    1

    arr

    [1]

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

    //以上可以看出來(lái)數(shù)組是動(dòng)態(tài)的

    undefined

    //數(shù)組的遍歷:

    undefined

    //第一種方法就是for循環(huán),這里重要的是forin循環(huán),要注意的是數(shù)組也作為一個(gè)對(duì)象,其實(shí)里面的每個(gè)元素也可以理解為數(shù)組的屬性,但是同時(shí)原型鏈上的屬性也是作為一個(gè)數(shù)組的屬性會(huì)被輸出出來(lái),這樣的話就會(huì)產(chǎn)生一些問(wèn)題

    undefined

    arr.prototype.x = 1

    VM4710:1 Uncaught TypeError: Cannot set property 'x' of undefined

    ? ? at <anonymous>:1:17

    (anonymous) @ VM4710:1

    Array.prototype.x = 1

    1

    Array.prototype.x = 'in'

    "in"

    for(i in arr){console.log(arr[i])}

    VM4960:1 1

    VM4960:1 in

    undefined

    //可以看到原型鏈上的屬性也被輸出出來(lái)了,而且要注意的是數(shù)組作為一個(gè)對(duì)象它的元素的名字就是相應(yīng)的索引,而值就是里面的值

    undefined

    //當(dāng)然可以用hasownproperty的方式判斷

    undefined

    for(i in arr){if(arr.hasOwnProperty(i){console.log(arr[i]);})}

    VM5688:1 Uncaught SyntaxError: Unexpected token '{'

    for(i in arr){if(arr.hasOwnProperty(i)){console.log(arr[i]);}}

    查看全部
  • 標(biāo)簽屬性和標(biāo)簽函數(shù)自定義的應(yīng)用,以及序列化的應(yīng)用(序列化就是在對(duì)象和json之間進(jìn)行轉(zhuǎn)換,stringfied和parse)

    查看全部
  • //不能刷新,不能返回,不然全沒(méi)了

    undefined

    //對(duì)象標(biāo)簽

    undefined

    //下面一個(gè)查看class的標(biāo)簽

    undefined

    var toString = Object.prototype.toString;//宏定義成一個(gè)方便后續(xù)使用,以前也講過(guò)用with

    undefined

    function getType(o){return toString.call(o).slice(8,-1);}//這個(gè)是為了截取下來(lái)類(lèi)型

    undefined

    toString.call(null)

    "[object Null]"

    //如果上面沒(méi)有截取就是顯示一個(gè)帶有括號(hào)的字符串

    undefined

    getType(null)

    "Null"

    getType(1)

    "Number"

    getTp

    VM18518:1 Uncaught ReferenceError: getTp is not defined

    ? ? at <anonymous>:1:1

    (anonymous) @ VM18518:1

    getType(new Number(1))

    "Number"

    //會(huì)發(fā)現(xiàn)上面給的不是object而是number,是因?yàn)檫@個(gè)是一個(gè)傳入的參數(shù)

    undefined

    getType([1,2])

    "Array"

    //extensible標(biāo)簽表示對(duì)象是否可以擴(kuò)展,是否可以繼續(xù)添加屬性

    undefined

    var obj = {x:1,y:2};

    undefined

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

    //當(dāng)然這個(gè)extensible是一類(lèi)標(biāo)簽,他下面有很多方法來(lái)進(jìn)行控制,首先是isExtensible還有seal還有freeze,我們會(huì)通過(guò)一個(gè)案例來(lái)進(jìn)行判斷

    undefined

    Object.isExtensible(obj)

    true

    Object.preventExtensions(obj)//這個(gè)是主要函數(shù),防止擴(kuò)展

    {x: 1, y: 2}

    Object.isExtensible(obj)

    false

    obj.z = 10

    10

    obj.z

    undefined

    //上面就會(huì)發(fā)現(xiàn)不能擴(kuò)展了

    undefined

    Object.isSealed(obj)

    false

    Object.isSealed(obj)//這個(gè)函數(shù)是查看是否可以刪除,sale是封裝的意思

    false

    Object.seal(obj)

    {x: 1, y: 2}

    Object.isSealed(obj)

    true

    Object.getOwnPropertyDescriptor(obj)

    undefined

    Object.getOwnPropertyDescriptor(obj,'x')

    {value: 1, writable: true, enumerable: true, configurable: false}

    //上面就會(huì)發(fā)現(xiàn)里面的configureable都變成了false

    undefined

    Object.freeze(obj)//這個(gè)是凍結(jié)函數(shù),這個(gè)可以進(jìn)行將屬性?xún)鼋Y(jié)住,這樣這個(gè)對(duì)象下的所有屬性都不可以被改寫(xiě)了

    {x: 1, y: 2}

    Object.getOwnPropertyDescriptor(obj,'x')

    {value: 1, writable: false, enumerable: true, configurable: false}

    //會(huì)發(fā)現(xiàn)上面的writable變成了false

    undefined

    //?。。〉俏覀兌际侵粌鼋Y(jié)這個(gè)對(duì)象并不會(huì)凍結(jié)它的原型鏈

    undefined

    //

    undefined

    //

    undefined

    //

    undefined

    //下面序列化的一種方法

    undefined

    //所謂的序列化就是將obj的所有屬性變成一個(gè)json對(duì)象,這樣方便后臺(tái)進(jìn)行操作

    undefined

    var obj = {val:undefined,a:NaN,b:Infinity,c:new Date()};

    undefined

    JSON.stringify(obj)//這個(gè)就是序列化的函數(shù)

    "{"a":null,"b":null,"c":"2021-03-02T12:05:19.349Z"}"

    //會(huì)發(fā)現(xiàn)輸出的結(jié)果里面不會(huì)顯示undefined的屬性,nun和infinity都會(huì)變成null,date會(huì)被另一種格式輸出

    undefined

    //單數(shù)不管怎么說(shuō),都是json的格式輸出出來(lái)了

    undefined

    //當(dāng)然也可以逆變換,就是將json的格式變成obj形式

    undefined

    var obj2 = JSON.parse('{"x":1}');

    undefined

    obj2

    {x: 1}

    //注意json格式的書(shū)寫(xiě)

    undefined

    //當(dāng)然序列化也可以自定義,這個(gè)情況下就是需要在里面定義一個(gè)tojson的函數(shù)

    undefined

    var obj3 = {

    ? ? x:1,

    ? ? y:2,


    }

    undefined

    var obj3 = {

    ? ? x:1,

    ? ? y:2,

    ? ? o:{

    ? ? o1:1,

    ? ? o2:2,

    ? ? toJSON:function(){return this.o1+this.o2;}

    ? ??


    },

    }

    undefined

    obj3.o.o1

    1

    //上面在屬性里面又另外添加了一個(gè)toJSON的屬性,所以再次序列化的時(shí)候就會(huì)調(diào)用里面的這個(gè)函數(shù)

    undefined

    JSON.stringify(obj3)

    "{"x":1,"y":2,"o":3}"

    //可以看到上面的o就是哦

    undefined

    //可以看到上面的o就是o1+o2

    undefined

    //以前講變量類(lèi)型的時(shí)候只講過(guò)基本類(lèi)型之間的轉(zhuǎn)換,但是對(duì)象也可以轉(zhuǎn)換成基本類(lèi)型,這個(gè)涉及到對(duì)象的兩個(gè)方法,一個(gè)是toString方法,一個(gè)是valueOf方法,這兩個(gè)方法是將對(duì)象轉(zhuǎn)換成基本類(lèi)型的常用方法,而且是可以自己進(jìn)行調(diào)用的,你只需要設(shè)置

    undefined

    obj3

    {x: 1, y: 2, o: {…}}

    obj3.toString()

    "[object Object]"

    obj.toString() = function(){return this.x+this.y;};

    VM25614:1 Uncaught ReferenceError: Invalid left-hand side in assignment

    ? ? at <anonymous>:1:5

    (anonymous) @ VM25614:1

    obj.toString = function(){return this.x+this.y;};

    ? (){return this.x+this.y;}

    //上面就是對(duì)tostring的定義

    undefined

    obj3.toString = function(){return this.x+this.y;};

    ? (){return this.x+this.y;}

    "Result"+obj3;//這個(gè)時(shí)候就會(huì)對(duì)這個(gè)對(duì)象進(jìn)行隱士的轉(zhuǎn)換成基本類(lèi)型

    "Result3"

    +obj3

    3

    obj3.valueOf = function(){return this.x*this.y;};

    ? (){return this.x*this.y;}

    //上面就是將對(duì)象轉(zhuǎn)換成基本類(lèi)型里面的數(shù)字,所以當(dāng)我們想要轉(zhuǎn)換成數(shù)字的時(shí)候,例如進(jìn)行+obj3的操作時(shí)候,就會(huì)先調(diào)用valueOf這個(gè)函數(shù),如果報(bào)錯(cuò)或者不存在就會(huì)尋找tostring這個(gè)函數(shù),如果不存在就報(bào)錯(cuò)

    undefined

    +obj3

    2

    //這個(gè)時(shí)候就會(huì)變成2

    undefined

    查看全部
  • http://img1.sycdn.imooc.com//603e24b70001cd9c08740557.jpg可以

    查看全部
  • //會(huì)發(fā)現(xiàn)上面是不能修改了configurable所以一定要進(jìn)行判斷,在這里還有一個(gè)configurable和writable不同值情況下的操作情況,有些情況可以被操作,有些不能

    undefined

    //這集講解屬性的標(biāo)簽

    undefined

    //一般都有writable表示是否可以寫(xiě)入,enumerable表示是否可以被forin枚舉到,configurable表示是否可以刪除掉

    undefined

    //下面我們介紹一種可以進(jìn)行訪問(wèn)的函數(shù),這個(gè)函數(shù)可以查看當(dāng)前屬性下的所有的標(biāo)簽

    undefined

    var person{};

    VM16631:1 Uncaught SyntaxError: Unexpected token '{'

    Object.defineProperty(person,'name',{

    ? ? configurable : false;

    ? ??


    })

    VM16689:2 Uncaught SyntaxError: Unexpected token ';'

    Object.defineProperty(person,'name',{

    ? ? configurable : false,

    ? ? writable: true,

    ? ? enumerable:false,

    ? ? value:"Yangdainyi",

    ? ??


    })

    VM16747:1 Uncaught ReferenceError: person is not defined

    ? ? at <anonymous>:1:23

    (anonymous) @ VM16747:1

    Object.defineProperty(person,'type',{

    ? ? value : "OBject",

    ? ? writable:true,

    ? ? enumerable:true,

    ? ? configuarable:false,


    })

    VM16824:1 Uncaught ReferenceError: person is not defined

    ? ? at <anonymous>:1:23

    (anonymous) @ VM16824:1

    //上面在person下創(chuàng)建了兩個(gè)屬性,我們可以用keys去訪問(wèn)person下所有的屬性,會(huì)發(fā)現(xiàn)只有type,是因?yàn)閚ame2的enumerable是false

    undefined

    Object.keys(person)

    VM16922:1 Uncaught ReferenceError: person is not defined

    ? ? at <anonymous>:1:13

    (anonymous) @ VM16922:1

    Object.defineProperties(person,{



    ? ? salary:{value:50000,enumerable:true,writable:true},

    ? ? luck:{

    ? ? ? ? get:function(){


    ? ? ? ? return Math.random()>0.5? 'good':'bad';

    },

    ? ? ?promote:{

    ? ? ? ? set:function(level){

    ? ? ? ? this.salary *= 1+level*0.1;//給自己加工資,這個(gè)下面是會(huì)更改當(dāng)下的salary的


    }

    ? ? ? ? ? ??

    } ,?


    }


    })

    VM16972:1 Uncaught ReferenceError: person is not defined

    ? ? at <anonymous>:1:25

    (anonymous) @ VM16972:1

    //上面在person下創(chuàng)建了兩個(gè)屬性,我們可以用keys去訪問(wèn)person下所有的屬性,會(huì)發(fā)現(xiàn)只有type,是因?yàn)閚ame2的enumerable是false

    查看全部
  • //讀寫(xiě)對(duì)象的屬性

    undefined

    //1、屬性讀寫(xiě)

    undefined

    var obj = {x:2,y:3}

    undefined

    obj.x

    2

    //下面是屬性繼承和屬性枚舉的知識(shí),首先是關(guān)于屬性繼承要求是你在創(chuàng)建的時(shí)候就要說(shuō)明的,比如說(shuō)是

    undefined

    //上面是兩種的方式

    undefined

    //當(dāng)然也可以for in 去遍歷,但是問(wèn)題就是會(huì)把原型鏈上的也弄出來(lái),而且順序不一定

    undefined

    //還可以用hasOwnProperty

    undefined

    //這集講的是關(guān)于get和set的方法

    undefined

    //上集由于腦袋問(wèn)題沒(méi)有錄上,氣死了

    undefined

    var man = {name:'Boso',weibo:'@Bosn',get age(){return new Date().getFullYear()-2000;},set age(val){console.log('Age can\'t be set to'+val);}}

    undefined

    console.log(man.age)

    VM7522:1 21

    undefined

    man.age

    21

    man.age = 100

    VM7469:1 Age can't be set to100

    100

    //這個(gè)里面就是有一個(gè)get和set進(jìn)行賦值

    undefined

    //下面是一種更加高級(jí)的做法

    undefined

    var man = {

    ? ? weibo:'@Bosn',


    }

    undefined

    6006:1 Uncaught (in promise) DOMException: The play() request was interrupted by a call to pause(). https://goo.gl/LdLk22

    var man = {

    ? ? weibo:'@Bosn',

    ? ? $age:null,//這個(gè)情況下就是將age作為一個(gè)可以改變的變量放在里面

    ? ? get age(){

    ? ? if(this.$age==undefined){

    ? ? ? ? this.$age = new Date().getFullYear()-2000;

    ? ? }

    ? ? return this.$age;


    },//這個(gè)千萬(wàn)不要忘記添加上,因?yàn)槔锩娑x的函數(shù)也是作為一個(gè)元素放在里面

    ? ? set age(val){

    ? ? ?val = +val;//這里面的+操作是為了變成數(shù)字,隱式轉(zhuǎn)換

    ? ? ?if(!isNaN(val)&&val>0&&val<150){

    ? ? ? ? this.$age = +val;

    }else{

    ? ? throw new Error('Incorrect val' + val);


    }

    }

    }

    undefined

    man.age

    21

    man.age = 100

    100

    man.age

    100

    man.age = 160


    function foo(){}

    undefined

    Object.defineProperty(foo.prototype,)

    VM8890:1 Uncaught TypeError: Property description must be an object: undefined

    ? ? at Function.defineProperty (<anonymous>)

    ? ? at <anonymous>:1:8

    (anonymous) @ VM8890:1

    Object.defineProperty(foo.prototype,'z',{get:function(){return 1;}});

    {constructor: ?}

    var obj = new foo();

    undefined

    obj.z = 1

    1

    obj.z = 10

    10

    obj.z

    1

    Object.defineProperty(obj,'z',{value:100,configurable:true});

    foo {z: 100}

    obj.z

    100

    delete obj.z

    true

    obj.z

    1

    //因?yàn)樯厦鎰h除掉了原來(lái)的本身obj上的z所以只能向上尋找z

    undefined

    //另外有一個(gè)上面刪掉的內(nèi)容,就是create這個(gè)繼承的東西

    undefined

    var o = {};

    undefined

    Object.defineProperty(o,'x',{value:1});

    {x: 1}

    var n = Object.create(o);

    undefined

    n.x

    1

    o.x = 100

    100

    o.x

    1

    //會(huì)發(fā)現(xiàn)上面依舊是1,是因?yàn)樵谀J(rèn)情況下o里面的x是不可writeable的

    undefined

    //如果要改變這種狀態(tài)可以先創(chuàng)建一個(gè)x,這樣在原型鏈上的x就不會(huì)被先訪問(wèn)到

    undefined

    Object.cra

    undefined

    Object.defineProperty(n,'x',{value:1,writable:true});

    {x: 1}

    n.x = 100

    100

    n.x

    100

    //就可以更改了

    查看全部
    0 采集 收起 來(lái)源:[JavaScript]get/set方法

    2021-03-01

  • Object.getOwnPropertyDescriptor({pro:true},'pro')

    value:屬性值

    writable:該屬性是否可寫(xiě),可修改true/false

    enumerable:該屬性是否可被枚舉,在for in中出現(xiàn)(是否可遍歷true/false)

    configurable:該屬性的標(biāo)簽是否可改變,是否可用delete將該屬性刪除true/false

    查看全部
  • get/set與原型鏈:

    http://img1.sycdn.imooc.com//603cacec0001698908890510.jpg

    http://img1.sycdn.imooc.com//603cacf40001d87708820497.jpg

    查看全部
    0 采集 收起 來(lái)源:[JavaScript]get/set方法

    2021-03-01

  • 驗(yàn)證對(duì)象的屬性:hasOwnProperty? ? ?obj.hasOwnProperty('a')

    驗(yàn)證對(duì)象的屬性和對(duì)象原型鏈內(nèi)的屬性:in? ? ?'a' in obj

    查看全部
    0 采集 收起 來(lái)源:[JavaScript]屬性操作

    2021-03-01

  • 嚴(yán)格模式:

    http://img1.sycdn.imooc.com//603c9eb90001e6dd13060692.jpg

    查看全部
  • try語(yǔ)句如果拋出異常,則執(zhí)行catch語(yǔ)句,否則不執(zhí)行,無(wú)論有沒(méi)有異常,都執(zhí)行finally語(yǔ)句;try語(yǔ)句必須跟catch或finally語(yǔ)句中至少一個(gè)組合使用。
    try catch語(yǔ)句的嵌套語(yǔ)句執(zhí)行順序:
    1)如果內(nèi)部嵌套的try語(yǔ)句拋出異常,但內(nèi)部沒(méi)有相配套的catch語(yǔ)句,先執(zhí)行內(nèi)部的finally語(yǔ)句,然后跳到最近一層的catch語(yǔ)句執(zhí)行。
    2)如果內(nèi)部嵌套的try語(yǔ)句拋出異常,內(nèi)部有相配套的catch語(yǔ)句,先執(zhí)行此語(yǔ)句處理異常,再執(zhí)行內(nèi)部的finally語(yǔ)句。不會(huì)再在外部處理異常。
    3)如果內(nèi)部嵌套的try語(yǔ)句拋出異常,內(nèi)部有相配套的catch語(yǔ)句,并且catch語(yǔ)句也拋出異常,如果內(nèi)部的catch語(yǔ)句有對(duì)異常的處理,先執(zhí)行異常處理語(yǔ)句,然后執(zhí)行內(nèi)部的finally語(yǔ)句,最后執(zhí)行離內(nèi)部catch語(yǔ)句拋出異常最近一層的catch語(yǔ)句處理異常。
    http://img1.sycdn.imooc.com//603c9aa50001c50f13070684.jpg

    查看全部
  • 9

    查看全部
  • //function

    undefined

    //對(duì)于函數(shù)有兩種思路,首先是直接聲明并配置好,就是我們一般的做法,但是也可以

    undefined

    var fe = fuction(){};

    VM16933:1 Uncaught SyntaxError: Unexpected token '{'

    var fe = function(){};

    undefined

    //但是這個(gè)時(shí)候就不能在它之前進(jìn)行調(diào)用

    undefined

    //for

    undefined

    //for in語(yǔ)句

    undefined

    var p;

    undefined

    var obj = {x:1,y:2}

    undefined

    for(p in obj){

    }

    undefined

    //上面的forin 語(yǔ)句可以調(diào)用一個(gè)obj里面的一些屬性對(duì)象,但是問(wèn)題就是順序是不確定的,而且會(huì)受到原型鏈的影響,當(dāng)enumerable為false時(shí)候不會(huì)出現(xiàn)

    undefined

    //with語(yǔ)句是一個(gè)用來(lái)限制作用域的語(yǔ)句,它的作用首先就是用with把語(yǔ)句限制在一定的范圍里面,然后在這個(gè)范圍里面有一個(gè)塊函數(shù)可以進(jìn)行操作

    undefined

    with({x:1}){

    console.log(x);}

    VM18409:2 1

    undefined

    //會(huì)發(fā)現(xiàn)上面其實(shí)就不再需要進(jìn)行調(diào)用obj。x了

    undefined

    //但是上面的那個(gè)也很雞肋,因?yàn)橥耆梢韵劝涯愕淖饔糜蚨x給一個(gè)函數(shù),然后再在這個(gè)函數(shù)下進(jìn)行相關(guān)操作

    undefined

    查看全部
  • //運(yùn)算符

    undefined

    //比較少見(jiàn)的有一個(gè),運(yùn)算符

    undefined

    var val = (1,2,3)

    undefined

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

    val

    3

    //,其實(shí)是每個(gè)都會(huì)計(jì)算,但是只輸出最后的一個(gè)

    undefined

    //2另外就是刪除這個(gè)

    undefined

    var obj = {x:1};

    undefined

    obj.x

    1

    Object.defineProperties(obj,'x'{

    ? ? ? ? ? ? ? ? ? ? ? ? })

    VM13336:1 Uncaught SyntaxError: missing ) after argument list

    Object.defineProperties(obj,'x'{

    ? ? ? ? ? ? ? ? ? ? ? ? })

    VM13340:1 Uncaught SyntaxError: missing ) after argument list

    Object.defineProperties(obj,'x',{configurable

    ? ? ? ? ? ? ? ? ? ? ? ? })

    VM13393:1 Uncaught ReferenceError: configurable is not defined

    ? ? at <anonymous>:1:34

    (anonymous) @ VM13393:1

    Object.defineProperty(obj,'x'{})

    VM13539:1 Uncaught SyntaxError: missing ) after argument list

    Object.defineProperty(obj,'x',{})

    {x: 1}

    Object.defineProperty(obj,'x',{

    ? ? configurable : false,


    })

    {x: 1}

    delete obj.x

    false

    //這個(gè)時(shí)候就會(huì)發(fā)現(xiàn)里面的configurable是true

    undefined

    //in判斷符

    undefined

    window.x = 1

    1

    x in window

    true

    function Foo(){}

    undefined

    Foo

    ? Foo(){}

    Foo.prototype.x = 1;

    1

    var obj = new Foo()


    undefined

    obj.x

    1

    obj.hasOwnProperty('x');//判斷在obj里面是否含有x這個(gè)屬性,因?yàn)閤是在obj的prototype里面,所以也不會(huì)被檢測(cè)到

    false

    obj.__proto__.hasOwnProperty('x')

    true

    查看全部
    0 采集 收起 來(lái)源:[JavaScript]運(yùn)算符

    2021-02-28

舉報(bào)

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

微信掃碼,參與3人拼團(tuán)

微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號(hào)

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

友情提示:

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