javascript為什么需要隱式轉(zhuǎn)換?如果沒有會出現(xiàn)什么情況?
找了一圈沒有看到關(guān)于這個的討論,只好自己研究了,可能不一定正確,自行辨知。
郁悶就是郁悶在好好的,為什么要搞個隱式轉(zhuǎn)換,一般來講這樣去想不太可能想出個結(jié)果,畢竟這門語言不是自己寫的,如果換一個問題,可能會好點,如果沒有隱式轉(zhuǎn)換javscript會成什么樣子?
比如下面這一段代碼:
console.log("10" - 1)
如果沒有隱式轉(zhuǎn)換,也許會報錯吧?或者返回NaN?,不太確定,但假如說javascript根本不存在隱式轉(zhuǎn)換,或許你不會這樣去寫代碼吧,那么就更奇怪了,設(shè)計隱式轉(zhuǎn)換究竟何目的?目前能想到的一點就是因為它是一門動態(tài)語言,值是運行時才知道的,因此有很多不確定的因素,這可能是作者設(shè)計隱式轉(zhuǎn)換的目的吧。
什么是隱式轉(zhuǎn)換
console.log(1 + "2");//12
可以看到一個是Number類型的值和一個String類型的值進(jìn)行了相加,結(jié)果是12。那為什么是12呢?如果是按照數(shù)字相加應(yīng)該是3,但這里卻是將1和2進(jìn)行了字符串拼接,也就是說這里的1被轉(zhuǎn)換成了字符串1。
結(jié)論
如果兩個值(也可以是多個)的類型不同,但你卻拿它們來運算,它們就會進(jìn)行隱式轉(zhuǎn)換,當(dāng)然也不只是運算才會產(chǎn)生隱式轉(zhuǎn)換。
誰被轉(zhuǎn)換
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26