成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

(a== 1 && a ==2 && a==3) ever eval

snifes / 490人閱讀

摘要:觸發(fā)第次觸發(fā)第次觸發(fā)第次觸發(fā)第次比較會(huì)隱式調(diào)用或者方法,如果原始類型的值和對(duì)象比較,對(duì)象會(huì)轉(zhuǎn)為原始類型的值,再進(jìn)行比較。

1. Object.defineProperty
var val = 1;
Object.defineProperty(window, "a", {
    configurable: true,
    get: function() {
        console.log(`觸發(fā)第${val}次get`);
        return val++
    }
})
if(a == 1 && a == 2 && a == 3) {
    console.log("yes!")
}
觸發(fā)第1次get
觸發(fā)第2次get
觸發(fā)第3次get
yes!
2. toString() valueOf()
const b = {
  i: 1,
  toString: function () {
    return this.i++;
  }
}
if(b == 1 && b == 2 && b == 3) {
  console.log("Hello World!");   // Hello World!
}

const b = {
  i: 1,
  valueOf: function () {
    return this.i++;
  }
}
if(b == 1 && b == 2 && b == 3) {
  console.log("Hello World!");   // Hello World!
}
比較會(huì)隱式調(diào)用toString或者valueOf方法,如果原始類型的值和對(duì)象比較,對(duì)象會(huì)轉(zhuǎn)為原始類型的值,再進(jìn)行比較。對(duì)象轉(zhuǎn)換成原始類型的值,算法是先調(diào)用valueOf方法,如果返回的還是對(duì)象,再接著調(diào)用toString方法
3. array.join = array.shift
var a = [1,2,3];
a.join = a.shift;
console.log(a == 1 && a == 2 && a == 3);

a == 1 ,此時(shí) a 返回的就是shift返回的第一個(gè)元素 1 ,比較完之后  a = [2,3]
a == 2 ,此時(shí) a 返回的就是shift返回的第一個(gè)元素 2 ,比較完之后  a = [3]
a == 3 ,此時(shí) a 返回的就是shift返回的第一個(gè)元素 3 ,比較完之后  a = []
數(shù)組也是對(duì)象,數(shù)組的toString 方法返回一個(gè)字符串,該字符串由數(shù)組中的每個(gè)元素的 toString() 返回值經(jīng)調(diào)用 join() 方法連接(由逗號(hào)隔開)組成。

原文鏈接: https://arronf2e.github.io/a-1-and-a-2-and-a3-ever-evaluate-to-true-ji-chong-jie-fa-fen-xi.html

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/109462.html

相關(guān)文章

  • js 中怎么使 if(a?==1 && a== 2 && ?a==3

    博客 github 地址: https://github.com/HCThink/h-blog/blob/master/interesting/in1.md github 首頁(yè)(star+watch,一手動(dòng)態(tài)直達(dá)): https://github.com/HCThink/h-blog 掘金 link , 掘金 專欄 segmentfault 主頁(yè) 原創(chuàng)禁止私自轉(zhuǎn)載 廣告 部門長(zhǎng)期招收大量...

    Eirunye 評(píng)論0 收藏0
  • python開發(fā)任意表達(dá)式具體例子

      小編寫這篇文章的主要目的,就是給大家介紹一下關(guān)于python開發(fā)實(shí)例,有一些全功能的具體實(shí)例,那么,具體內(nèi)容小編就給大家講解下?! ≌摹 ≡谥暗幕A(chǔ)上進(jìn)一步實(shí)現(xiàn)了全功能表達(dá)式求值?! ∫阎С指↑c(diǎn)數(shù)  已支持字符串的處理,前加一個(gè)"(類似lisp語(yǔ)法)  支持減號(hào)/負(fù)號(hào),一符兩用機(jī)制  支持所有算術(shù)運(yùn)算符,包括**,//,%  支持全部7個(gè)比較運(yùn)算符  支持與或非3個(gè)邏輯運(yùn)算符  ...

    89542767 評(píng)論0 收藏0
  • JavaScript:(a==1 && a==2 && a==3)能

    摘要:我們舉個(gè)例子我們可以對(duì)上述對(duì)象使用方法,他會(huì)返回一個(gè)對(duì)象。在我們的問題中會(huì)企圖將對(duì)象轉(zhuǎn)化成數(shù)字的類型,進(jìn)行比較。幸運(yùn)的是,在中有符號(hào)。當(dāng)我們每次調(diào)用的時(shí)候,他會(huì)將變量增加返回給我們。 如果你能確切的答出可以,那恭喜你,你可以繞道了 前言 有人會(huì)說,這個(gè)問題好奇葩,放在別的語(yǔ)言里,這要是能輸出true,估計(jì)是見鬼了,但是你別說,放在js中好真有可能。最近在一個(gè)人的推特上提了一個(gè)問題: ...

    light 評(píng)論0 收藏0
  • ASP.NET實(shí)現(xiàn)Repeater控件的數(shù)據(jù)綁定演示

      我們先講講Repeater基礎(chǔ)。我們可以在aspx文件中融入Repeater 控件,也可以在<ItemTemplate></ItemTemplate>包含的范圍融入自己的代碼,當(dāng)然這里也要使用到變量<%# Eval("SellerName")%>;注意兩側(cè)的引號(hào)?! ?aspx:  <asp:RepeaterID="Sel...

    3403771864 評(píng)論0 收藏0
  • 在Python中如何合理的運(yùn)用四則表達(dá)式

      小編寫這篇文章的主要目的,主要是給大家介紹一下,關(guān)于Python中,四則表達(dá)式用法的一些實(shí)例,具體的代碼操作,下面會(huì)給大家做出一個(gè)相關(guān)解答?! ∷膭t運(yùn)算表達(dá)式求值  思路說明  使用雙棧數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)——存放數(shù)值的棧nums與存放運(yùn)算符的棧ops.  算法步驟  對(duì)初始表達(dá)式字符串exp進(jìn)行預(yù)處理,將其轉(zhuǎn)為一個(gè)元素對(duì)應(yīng)一個(gè)數(shù)值或運(yùn)算符的列表explist.  遍歷explist,每個(gè)元素依次壓入...

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<