亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Javascript中3個需要注意的運算符

2019-11-20 12:47:31
字體:
來源:轉載
供稿:網友

平時寫慣了C#,所以會覺得什么樣的運算符就應該做什么樣的運算,但是有一天你的習慣被其他語言顛覆了,不知道是不是有一股強大的好奇

心,剛好在js中,我的這種習慣就被顛覆了,下面就看看哪些運算符顛覆了我的三觀。

一:==運算符

  ==運算符之所以可以顛覆,可以從下面幾個例子中看出來。

<1> "10"==10 ?

  如果這要是放在C#里面,編譯器會毫不客氣的告訴你,王八羔子,類型都不同,你比個毛線啊。。。但是在JS里面又會是怎樣呢?

從上圖中,你可以看到,不管你好奇不好奇,答案就在那里,可能有人就要問,到底是10轉化成了“10”,還是“10”被轉化成了10,所以這個也

是我一直吐槽的地方,如果是C#,你還可以看看IL里面到底怎么處理的,而JS里面你什么都看不到,只能聽教科書上的一面之詞,無法眼見為實。

所以除了記住就是記住了,我只能說是字符串”10“轉換成了10,然后進行整形比較的。

<2>true==1 ?

這個問題稍微想想還能理解,其實在C#的IL中,也是將true和false相應的轉化為1和0,所以js在判斷時會將true轉化為1,再進行整形比較,這

個現象我覺得不怎么稀奇,記住就好。

 

<3> {valueOf:function(){return "10"}}==10?

這個問題也是蠻奇葩的,對象居然還可以和int類型相比較?但是在JS中卻真的可以做到,原理是這樣的,如果一個對象和int/string比較的話,

js內部會優先調用valueOf方法,也就是將對象數值化,其實這里好玩的地方就是我們自定義的valueOf重寫了父類的valueOf方法,所以上面

的例子就是判斷“10”==10?。

這里還要PS一下,如果你的類中沒有定義valueOf方法的話,js內部引擎還會再去找toString()方法,如果有則執行。

不知道當你接觸到這些新用法的時候,是不是覺得有點慌亂,好像有種亂七八糟的感覺?如果你很怕程序有潛在的bug,那么為了保險起見,

轉化為同一數據類型來比較吧,當然在js里面還有一個===運算符可以說跟C#里面的邏輯運算符算是最接近的,這個多出來的“=”就是在

“==”的基礎上再判斷類型是否相等?就比如:

二:&&和||運算符

 這兩個運算符也是蠻奇葩的,在我們的思維習慣里面,這兩個運算符兩邊就應該都是bool類型,但是在JS里面這些定義會被徹底顛覆,正是這些新規則,所以我們可以完成很多新花樣,比如在jquery的源碼中,可以到處都能找到這樣的痕跡。

從圖中我們看到了這么一句,bup=b && b.parentNode,你能理解這句話的意思嗎?其實它的意思是先判斷b是否存在,如果b不存在,那

可能b就是undefined,null,0 或者NaN,如果b存在,那么就返回m.parentNode,就這么好玩,如果你用C#的話,就少不了幾個if條件了,

也算是簡化代碼吧,然后再看看||操作,這個簡直在源碼里面可以用泛濫來形容了,不過乍一看,特別像是C#中的可空運算符,所以親切感倍

增,下面就拿ret=results||[]來說,如果results有值,那么ret=results,如果results為null,undefined,NaN或者0,那么result=[],就

這樣的任性,省去了程序員很多if判斷,最后要補充一句,其實就像C#的IL中一樣,只是JS底層給我們做了if判斷。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久999| 日韩在线播放一区| 色yeye香蕉凹凸一区二区av| 国产女同一区二区| 亚洲剧情一区二区| 久久人体大胆视频| 91国语精品自产拍在线观看性色| 午夜精品久久久久久久男人的天堂| 日韩av电影免费观看高清| 日韩av三级在线观看| 精品久久久久久国产| 欧美一区二区三区艳史| 18一19gay欧美视频网站| 欲色天天网综合久久| 2019中文字幕在线| 国产婷婷97碰碰久久人人蜜臀| 一本色道久久88综合亚洲精品ⅰ| 欧美激情在线观看视频| 亚洲精品国产精品自产a区红杏吧| 日韩激情av在线播放| 亚洲男人av在线| 国产精品99久久久久久久久久久久| 中文字幕免费国产精品| 亚洲综合色激情五月| 欧美亚洲第一页| 国产精品中文字幕在线观看| 亚洲一区二区三区毛片| 69国产精品成人在线播放| 久久精品色欧美aⅴ一区二区| 国产成人亚洲综合青青| 日本久久91av| 91爱视频在线| 欧美大人香蕉在线| 亚洲成人精品av| 理论片在线不卡免费观看| 亚洲成人免费网站| 欧美激情国产日韩精品一区18| 日韩中文字幕av| 亚洲福利小视频| 亚洲一区二区久久久| 国产精品久久中文| 国产精品av电影| 国产精品福利在线观看网址| 欧美大片免费观看在线观看网站推荐| 欧美精品生活片| 欧美精品久久久久久久免费观看| 欧美激情视频一区| 亚洲精品成人av| www.日韩视频| 亚洲欧美中文字幕在线一区| 久久国产精品久久久| 成人黄色av网| 国模私拍视频一区| 日韩在线欧美在线国产在线| 操人视频在线观看欧美| 日本一区二区三区四区视频| 国产精品第三页| 成人精品一区二区三区电影免费| 欧美小视频在线观看| 亚洲a级在线观看| 96精品视频在线| 国产精品日韩久久久久| 日韩在线免费高清视频| 国模精品视频一区二区三区| 欧美—级高清免费播放| 性欧美办公室18xxxxhd| 清纯唯美日韩制服另类| 欧美激情a∨在线视频播放| 欧美剧在线观看| 久久久人成影片一区二区三区观看| 精品久久中文字幕久久av| 久久久久久久久久久亚洲| 8090理伦午夜在线电影| 日韩大片免费观看视频播放| 国产精品久久久久影院日本| 国产精品高潮呻吟视频| 欧美日韩国产页| 国产精品综合不卡av| 久久精品视频在线| 欧美黑人又粗大| 精品久久久久久久久久久久| 日韩在线中文视频| 永久免费毛片在线播放不卡| 亚洲精品国精品久久99热一| 亚洲福利视频在线| 欧美视频在线观看免费| 国产日韩欧美黄色| 国产成人精品在线播放| 亚洲老板91色精品久久| 国产小视频国产精品| 国产精品xxxxx| 日韩欧美在线第一页| 亚洲欧美一区二区激情| 国产精品一区二区久久国产| 97免费视频在线播放| 亚洲精品国偷自产在线99热| 色噜噜狠狠色综合网图区| 国产精品精品视频一区二区三区| 中文欧美日本在线资源| 欧美成人精品三级在线观看| 久久电影一区二区| 亚洲欧美另类自拍| 日韩精品极品视频| 国产精品美女主播在线观看纯欲| 久久久精品美女| 精品视频—区二区三区免费| 日韩av中文字幕在线免费观看| 国产三级精品网站| 在线成人中文字幕| 久久精品国产一区二区电影| 中文国产亚洲喷潮| 国产精品一区二区电影| 亚洲国产精品专区久久| 国产拍精品一二三| 精品国偷自产在线视频99| 国产精品久久久久久久久免费看| 欧美成人精品激情在线观看| 91国在线精品国内播放| 2019亚洲男人天堂| 国产一区二区精品丝袜| 夜夜嗨av一区二区三区四区| 亚洲欧洲美洲在线综合| 亚洲国产欧美一区二区丝袜黑人| 粉嫩老牛aⅴ一区二区三区| 欧美精品福利在线| 久久不射电影网| 视频在线一区二区| 日韩精品在线视频| 日韩国产精品亚洲а∨天堂免| 精品欧美一区二区三区| 亚洲热线99精品视频| 国产精品久久久久久久久久久久久久| 久久露脸国产精品| 久久久久免费精品国产| 在线视频国产日韩| 国产日韩中文字幕在线| 成人久久久久久久| 国产成人精品视| 91精品国产乱码久久久久久久久| 欧美一级在线播放| 成人女保姆的销魂服务| 亚洲国产成人久久综合一区| 2019中文字幕在线| 在线电影av不卡网址| 国产精品一二三视频| 国产性色av一区二区| 96pao国产成视频永久免费| 亚洲国产精品久久久久秋霞不卡| 国产精品免费观看在线| 日韩一区二区在线视频| 成人性生交大片免费看视频直播| 亚洲2020天天堂在线观看| 欧美午夜宅男影院在线观看| 国精产品一区一区三区有限在线| 精品少妇一区二区30p| 国产伦精品免费视频| 96精品久久久久中文字幕| 欧美激情久久久久久| 国产免费亚洲高清| 亚洲国产精品国自产拍av秋霞| 久久国产天堂福利天堂| 成人激情电影一区二区| 欧美理论在线观看| 日本高清视频精品|