Mbinu ya Kuzungumza ya Kivinjake ya Kiharakati ya ECMAScript
- Sehemu ya zamani Kiwango cha kusambaa
- Pya ya hivi karibuni Kiwango cha kuzingatia
判断两个变量是否相等是程序设计中非常重要的运算。在处理原始值时,这种运算相当简单,但涉及对象,任务就稍有点复杂。
ECMAScript 提供了两套等性运算符:等号和非等号用于处理原始值,全等号和非全等号用于处理对象。
等号和非等号
在 ECMAScript 中,等号由双等号(==)表示,当且仅当两个运算数相等时,它返回 true。非等号由感叹号加等号(!=)表示,当且仅当两个运算数不相等时,它返回 true。为确定两个运算数是否相等,这两个运算符都会进行类型转换。
Inasikitisha kusikitisha kusikitisha kawaida ina kawaida ina kawaida:
- Kama kitu kina ni Boolean, inahitaji kusikitisha kusikitisha namba kabla ya kusikitisha kawaida. false inatumiwa kwa 0, kina ni 1.
- Kama kitu kina ni neno, na kitu kingine ni namba, inahitaji kusikitisha kusikitisha neno kabla ya kusikitisha kawaida.
- Kama kitu kina ni vitu, na kitu kingine ni neno, inahitaji kusikitisha kusikitisha neno kabla ya kusikitisha kawaida.
- Kama kitu kina ni vitu, na kitu kingine ni namba, inahitaji kusikitisha kusikitisha vitu vya namba kabla ya kusikitisha kawaida.
Kama muungano hivyo kina, inahitaji kusikitisha kawaida ina uwezo wa kusikitisha kawaida:
- Mfano null na undefined ni hivyo.
- Hivyo inasikitisha kusikitisha null na undefined kuwa vifaa vingine.
- Kama kitu moja kina ni NaN, kina kina kina hivyo kina kina kina hivyo.
- Kama mbagani wote ni vitu, inahitaji kusikitisha vifaa vya vitu. Kama vitu vya mbagani vinapendekeza vitu vya kina, kina vinapatikana kwa kina, kama hivyo, mbagani wote hivyo wengi wengi hivyo.
Ujuzi mkubwa:Inasikitisha kwamba mbili ya inaripoti, kwa sababu kwa msingi, NaN sio kile niweza kuiweka na kina niweza kuiweka.
Tafanvu hapa chini inaorodisha matukio mawili ya kawaida na matokeo yao:
muungano | mfano |
---|---|
null niweza kuwa undefined | true |
"NaN" == NaN | false |
5 == NaN | false |
NaN == NaN | false |
NaN != NaN | true |
false == 0 | true |
true == 1 | true |
true == 2 | false |
undefined == 0 | false |
null == 0 | false |
"5" == 5 | true |
全等号和非全等号
等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换。
全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true。
Mfano:
var sNum = "66"; var iNum = 66; alert(sNum == iNum); //输出 "true" alert(sNum === iNum); //输出 "false"
在这段代码中,第一个 alert 使用等号来比较字符串 "66" 和数字 66,输出 "true"。如前所述,这是因为字符串 "66" 将被转换成数字 66,,然后才与另一个数字 66 进行比较。第二个 alert 使用全等号在没有类型转换的情况下比较字符串和数字,当然,字符串不等于数字,所以输出 "false"。
非全等号由感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回 true。
Mfano:
var sNum = "66"; var iNum = 66; alert(sNum != iNum); // Ikiwakilisha "false" alert(sNum !== iNum); // Ikiwakilisha "true"
Hapa, kwa kwanza alert inatumia kiwango cha kusambaa cha kutoa maelezo, kumwandika namba "66" kuwa namba 66, inayoweza kuwa kweli na namba ya kuzingatia 66. Kwa sababu ya hivyo, matokeo wa maelezo ni "false", kwa sababu kati ya kuzingatia ni kweli. Kwa kwanza alert inatumia kiwango cha kusambaa cha kutoa maelezo.
- Sehemu ya zamani Kiwango cha kusambaa
- Pya ya hivi karibuni Kiwango cha kuzingatia