240 發(fā)簡(jiǎn)信
IP屬地:廣東
  • nice,終于在這里找到答案医舆。補(bǔ)充一下仗哨,如果是想要在calc中使用scss函數(shù)調(diào)用的結(jié)果抄伍,也是這樣把函數(shù)調(diào)用寫(xiě)在#{ } 里面

    sass中使用calc計(jì)算表達(dá)式變量問(wèn)題

    calc()是css的一個(gè)函數(shù),可用于元素計(jì)算長(zhǎng)度,比如div寬度想要減去一個(gè)固定寬度后并自適應(yīng),可以寫(xiě)為calc(100% - 60px) 注意“-”兩邊有空格 sass已...

  • 如何正確證明 Commonjs 模塊導(dǎo)出是值的拷貝隧哮,而 ES module 是值的引用?

    關(guān)于 Commonjs 和 ES module 模塊導(dǎo)出的區(qū)別座舍,一般流行一種說(shuō)法:CommonJS 模塊輸出的是一個(gè)值的拷貝沮翔,ES6 模塊輸出的是值的引用,而我發(fā)現(xiàn)曲秉,絕大部分...

  • function f1(x=1,y=()=>{x=10;}){
    var x;
    y();
    console.log(x);
    }
    f1(); //1

    還有一個(gè)問(wèn)題是這里的輸出結(jié)果采蚀。既然已經(jīng)在函數(shù)體內(nèi)作用域找到了未賦值的x,為什么最后不是輸出undefined而是輸出1呢承二?輸出1就好像其實(shí)打印的是參數(shù)x而不是函數(shù)體內(nèi)的x一樣榆鼠,或者說(shuō)打印的確實(shí)是函數(shù)體內(nèi)的x,只是已經(jīng)被賦值1了亥鸠?但是也覺(jué)得不太對(duì)勁妆够。

    es6函數(shù)默認(rèn)參數(shù)作用域小記

    使用默認(rèn)參數(shù)時(shí),參數(shù)會(huì)形成一個(gè)獨(dú)立的作用域负蚊,此作用域與函數(shù)體中的作用域是平行關(guān)系 經(jīng)過(guò)測(cè)試發(fā)現(xiàn)责静,此段代碼如果使用babel編譯成es5~輸出結(jié)果為 2 2 0 這個(gè)結(jié)果和開(kāi)頭...

  • 為了回復(fù)特意注冊(cè)了簡(jiǎn)書(shū)。我贊同你的看法盖桥,這里參數(shù)作用域和函數(shù)體作用域?qū)嶋H上就是父子嵌套的關(guān)系,查找變量的時(shí)候就是沿著作用域鏈追溯题翻。所以其實(shí)最后就剩一個(gè)比較奇怪的問(wèn)題揩徊,就是你說(shuō)的let報(bào)錯(cuò)的問(wèn)題,這個(gè)問(wèn)題的確會(huì)讓這兩個(gè)作用域看起來(lái)是共享的而不是嵌套的嵌赠。http://dmitrysoshnikov.com/ecmascript/es6-notes-default-values-of-parameters/ 上面你發(fā)的文章的原作者有在評(píng)論里講到這個(gè)問(wèn)題塑荒,但是我的英文水平略吃力,沒(méi)有g(shù)et到作者的點(diǎn)姜挺,這里粘貼一下:
    thanks, and great question. This just per spec, the let bindings inside the main function body are checked against the the parameter names (forbidding the duplicates). Though to confirm that a separate scope is created, you can replace the x in the body to var, and the f closure should still print 2, not 5.
    真心希望有看到回復(fù)的話可以一起探討這個(gè)問(wèn)題齿税。

    es6函數(shù)默認(rèn)參數(shù)作用域小記

    使用默認(rèn)參數(shù)時(shí),參數(shù)會(huì)形成一個(gè)獨(dú)立的作用域炊豪,此作用域與函數(shù)體中的作用域是平行關(guān)系 經(jīng)過(guò)測(cè)試發(fā)現(xiàn)凌箕,此段代碼如果使用babel編譯成es5~輸出結(jié)果為 2 2 0 這個(gè)結(jié)果和開(kāi)頭...

  • 1.我覺(jué)得用上下層關(guān)系來(lái)解釋形參列表的獨(dú)立作用域和函數(shù)體的作用域更好,因?yàn)?br>var x = 0;
    function foo(x, y = function(){ console.log(x); x = 2; console.log(x); }) {
    x = 3;
    y();
    console.log(x);
    }
    可以理解成函數(shù)體沒(méi)有變量x词渤,向上一層作用域(形參列表的獨(dú)立作用域)查找變量x牵舱,找到參數(shù)x;


    2.此外缺虐,有個(gè)用上下層的思路解釋不通的例子:
    var x = 0;
    function foo(x, y = function(){ console.log(x); x = 2; console.log(x); }) {
    let x = 3; //報(bào)錯(cuò):Identifier 'x' has already been declared
    y();
    console.log(x);
    }
    這說(shuō)明函數(shù)體的作用域已經(jīng)有變量x了芜壁,至于這個(gè)x和foo函數(shù)的參數(shù)x有什么關(guān)系,我也想不通。
    3.有一個(gè)文章也講了這些東西:http://bosn.me/articles/es6-default-param/
    他對(duì)上面let報(bào)錯(cuò)只概括了一下:“另外慧妄,需要注意到只有變量(var)和函數(shù)允許重復(fù)聲明顷牌,而用let/const重復(fù)聲明參數(shù)是不允許的”

亚洲A日韩AV无卡,小受高潮白浆痉挛av免费观看,成人AV无码久久久久不卡网站,国产AV日韩精品