摘要:數(shù)據(jù)類型轉(zhuǎn)換轉(zhuǎn)換為強(qiáng)制類型轉(zhuǎn)換方法如果調(diào)用和的會(huì)報(bào)錯(cuò)函數(shù)對(duì)于具有方法類型,也會(huì)調(diào)用它的來(lái)進(jìn)行轉(zhuǎn)換對(duì)于直接將其轉(zhuǎn)換為對(duì)于直接將其轉(zhuǎn)換為隱式類型轉(zhuǎn)換通過(guò)為任意類型加上一個(gè)空串的形式將其轉(zhuǎn)換為字符串轉(zhuǎn)換為強(qiáng)制類型轉(zhuǎn)換函數(shù)轉(zhuǎn)換的情況字符串如果是一個(gè)
數(shù)據(jù)類型轉(zhuǎn)換 轉(zhuǎn)換為String
強(qiáng)制類型轉(zhuǎn)換 1. toString()方法:
var a=10; a=a.toString();
如果調(diào)用undefined和null的toString()會(huì)報(bào)錯(cuò)
2.String()函數(shù)
var a=10; a=String(a)
對(duì)于具有toString()方法類型,String()也會(huì)調(diào)用它的toSting()來(lái)進(jìn)行轉(zhuǎn)換
對(duì)于null 直接將其 轉(zhuǎn)換為 "null"
對(duì)于undefined 直接將其 轉(zhuǎn)換為 "undefined"
隱式類型轉(zhuǎn)換 通過(guò)為任意類型加上一個(gè)空串的形式將其轉(zhuǎn)換為字符串
var a=10; a=a+"";轉(zhuǎn)換為Number
強(qiáng)制類型轉(zhuǎn)換 1.Number()函數(shù)
var num="10"; num=Number(num);
轉(zhuǎn)換的情況:
字符串: 如果是一個(gè)合法的數(shù)字 則直接轉(zhuǎn)換成對(duì)應(yīng)的數(shù)字 如果不是一個(gè)合法的數(shù)字 則轉(zhuǎn)換成NaN 如果是空字符串和純空格的字符串 則轉(zhuǎn)換為0 布爾值: true轉(zhuǎn)換成1 false變成0 null:null直接轉(zhuǎn)換為0 undefined:undefined轉(zhuǎn)換為NaN 2.parseInt()函數(shù) 將一個(gè)字符串中的有效整數(shù)位提取出來(lái) 3. parseFloat()函數(shù) 將一個(gè)字符串中的有效小數(shù)提取出來(lái) 隱式類型轉(zhuǎn)換 使用一元運(yùn)算符的"+"將任意的數(shù)據(jù)類型轉(zhuǎn)換為Number
var a="10"; a=+a;轉(zhuǎn)換為Boolean
強(qiáng)制類型轉(zhuǎn)換 調(diào)用Boolean()函數(shù)
var a=1; a=Boolean(a);
轉(zhuǎn)換的情況:
String 除了空字符串 其余都是true Number 除了0和NaN 其余都是true null和undefined都為false
隱式類型轉(zhuǎn)換
可以通過(guò)對(duì)任意類型的數(shù)據(jù)取反兩次 將其轉(zhuǎn)換為布爾值
var a=10; a=!!a;運(yùn)算符(操作符)
通過(guò)運(yùn)算符可以一個(gè)或多值進(jìn)行運(yùn)算
算數(shù)運(yùn)算符+ - * / % 規(guī)則和數(shù)學(xué)中的規(guī)則一致一元運(yùn)算符
+(正號(hào)) -(負(fù)號(hào)) ++ -- ! typeof instanceof delete二元運(yùn)算符
+(加號(hào)) -(減號(hào)) / % > < >= <= == != === !== && || += -= /= %=三元運(yùn)算符
?:
如果兩個(gè)操作數(shù)都是數(shù)字的話 進(jìn)行加法計(jì)算 console.log(1+1) //2 如果操作數(shù)中出現(xiàn)字符串 進(jìn)行字符串拼接 console.log(1+"個(gè)蘋(píng)果") //1個(gè)蘋(píng)果 除了加法運(yùn)算符 其他算數(shù)運(yùn)算符都將字符串類型自動(dòng)轉(zhuǎn)換成number類型 再進(jìn)行計(jì)算 console.log("2"-"2") //0
計(jì)算兩個(gè)數(shù)整除后的余數(shù) 求余的結(jié)果是正數(shù)還是負(fù)數(shù),與第一個(gè)操作數(shù)的正負(fù)有關(guān) console.log(5%3) //2 console.log(-5%3) //-2 console.log(5%-3) //2 console.log(-5%-3) //-2
自增 自增可以使變量在原來(lái)的基礎(chǔ)自增1 自增分成前++(++a) 和 后++(a++) 無(wú)論是++a 還是 a++都會(huì)使原變量立即自增1 不同的是++a 和 a++的值不同 ++a是變量自增后的值,新值 a++是變量自增前的值,原值
自減 自減可以使變量在原來(lái)的基礎(chǔ)自減1 自減分成前--(--a) 和 后--(a--) 無(wú)論是--a 還是 a--都會(huì)使原變量立即自減1 不同的是--a 和 a--的值不同 --a是變量自減后的值,新值 a--是變量自減前的值,原值
==與!= 只比較操作數(shù)的值 不比較類型 consolel.log(10 =="10") //true console.log(undefined == null) //true 都表示空 所以輸出為true
===和!== 既比值 又比較類型 console.log(10 ==="10") //false console.log(10 !=="10") //true
用于判斷參數(shù)是否是非數(shù)字值 多用于檢測(cè)轉(zhuǎn)換后的結(jié)果是否為合法的數(shù)字值 注:NaN與任何值進(jìn)行比較 都是false 不能使用 == 或者 === 運(yùn)算符判斷 只能用isNaN()函數(shù) console.log(isNaN(parseInt("123abc"))) //true console.log(isNaN("123.456abc")) //true邏輯運(yùn)算符 ! 邏輯非
可以對(duì)一個(gè)布爾值進(jìn)行取反操作 如果對(duì)一個(gè)非布爾值進(jìn)行邏輯非運(yùn)算,會(huì)先將其轉(zhuǎn)換為布爾值,然后再取反 利用這個(gè)特點(diǎn),可以為指定的值取兩次反,來(lái)將其轉(zhuǎn)換為布爾值。&& 邏輯與
可以對(duì)符號(hào)兩側(cè)的值做與運(yùn)算 如果對(duì)非布爾值做與運(yùn)算,會(huì)將其轉(zhuǎn)換為布爾值然后再運(yùn)算, 最終會(huì)返回原值 如果第一個(gè)值是false,則直接返回第一個(gè)值 如果第一個(gè)值是true,則返回第二個(gè)值 js中的與運(yùn)算是短路的與,如果第一個(gè)值是false,則不看第二個(gè)值|| 邏輯或
可以對(duì)符號(hào)兩側(cè)的值做或運(yùn)算 如果對(duì)非布爾值做或運(yùn)算,會(huì)將其轉(zhuǎn)換為布爾值然后再運(yùn)算, 最終會(huì)返回原值 如果第一個(gè)值是true,則直接返回第一個(gè)值 如果第一個(gè)值是false,則返回第二個(gè)值 js中的或運(yùn)算是短路的或,如果第一個(gè)值是true,則不看第二個(gè)值賦值運(yùn)算符
= = 將符號(hào)右側(cè)的值賦值給符號(hào)左側(cè)的變量 += a += 5 相當(dāng)于 a = a+5 -= 同+ *= 同+ /= 同+ %= 同+條件運(yùn)算符(三元運(yùn)算符)
?: 語(yǔ)法: 條件表達(dá)式?語(yǔ)句1:語(yǔ)句2 -執(zhí)行流程: 三目運(yùn)算符在執(zhí)行時(shí),會(huì)先對(duì)條件表達(dá)式進(jìn)行求值判斷, 如果判斷結(jié)果為true,則執(zhí)行語(yǔ)句1,并將執(zhí)行結(jié)果返回 如果判斷結(jié)果為false,則執(zhí)行語(yǔ)句2,并將執(zhí)行結(jié)果返回
var salary =45000; var result=salary >30000 ? console.log("中產(chǎn)階級(jí)") : console.log(" 小康");
條件運(yùn)算符嵌套
條件運(yùn)算符中 每個(gè)表達(dá)式可以為另一個(gè)條件表達(dá)式 為條件運(yùn)算符嵌套 var age=24; var result=age >=60 ? console.log("老年") :(age >=30 ? console.log("中年"):(age >18 ?console.log("成年"):console.log("未成年")) ) 代碼執(zhí)行順序: age>=60 不符合條件繼續(xù)執(zhí)行 age >=30 不符合條件繼續(xù)執(zhí)行 age >18 滿足條件
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/96695.html
摘要:是一個(gè)運(yùn)行在瀏覽器端的腳本語(yǔ)言現(xiàn)在已經(jīng)不僅僅局限于瀏覽器端是一門解釋型動(dòng)態(tài)類型的語(yǔ)言解釋型指語(yǔ)言在執(zhí)行時(shí)不需要編譯,由瀏覽器自動(dòng)編譯基本語(yǔ)法區(qū)分大小寫(xiě)是一種區(qū)分大小寫(xiě)的語(yǔ)言定義變量名稱一般用小寫(xiě)定義常量名稱一般用大寫(xiě)空格和換行中會(huì) JavaScript - JavaScript是一個(gè)運(yùn)行在瀏覽器端的腳本語(yǔ)言(現(xiàn)在已經(jīng)不僅僅局限于瀏覽器端) - JavaScript是一門解釋型、動(dòng)態(tài)類型...
摘要:面向?qū)ο缶幊痰娜拇筇卣鞣庋b,繼承,多態(tài),抽象基礎(chǔ)語(yǔ)法數(shù)組或字符串組或循環(huán)用來(lái)迭代選擇類中構(gòu)造方法的原則是只實(shí)現(xiàn)自己的功能是一個(gè)類字符串常量池是堆中的一個(gè)存字符串值的一個(gè)集合他的賦值方式有兩種張三創(chuàng)建兩個(gè)對(duì)象字符串常量池和堆內(nèi)存中張 面向?qū)ο缶幊痰娜ㄋ模┐筇卣鞣庋b,繼承,多態(tài)(,抽象) 基礎(chǔ)語(yǔ)法: 數(shù)組(int[] a或 int a[])、字符串組(String []a或 Stri...
摘要:數(shù)據(jù)科學(xué)包括機(jī)器學(xué)習(xí),數(shù)據(jù)分析和數(shù)據(jù)可視化首先,機(jī)器學(xué)習(xí)是什么解釋機(jī)器學(xué)習(xí)的最佳方法是給你一個(gè)簡(jiǎn)單的例子。機(jī)器學(xué)習(xí)算法的工作方式大致相同。這是一個(gè)人們競(jìng)爭(zhēng)為特定問(wèn)題構(gòu)建最佳機(jī)器學(xué)習(xí)算法的網(wǎng)站。 showImg(https://segmentfault.com/img/remote/1460000018887722); 來(lái)源 | 愿碼(ChainDesk.CN)內(nèi)容編輯 愿碼Sloga...
摘要:前端日?qǐng)?bào)精選如何合理地設(shè)計(jì)的深入了解一個(gè)超快的引擎也稱全面了解作用域源碼分析二奇淫技巧總結(jié)整理下前端江湖面試對(duì)自己有益的題目。 2017-08-27 前端日?qǐng)?bào) 精選 如何合理地設(shè)計(jì)Redux的State深入了解一個(gè)超快的 CSS 引擎: Quantum CSS (也稱?Stylo) ★ Mozilla Hacks全面了解JS作用域Zepto源碼分析(二)奇淫技巧總結(jié)整理下《前端江湖面試...
閱讀 1887·2021-11-25 09:43
閱讀 2161·2021-11-19 09:40
閱讀 3438·2021-11-18 13:12
閱讀 1752·2021-09-29 09:35
閱讀 675·2021-08-24 10:00
閱讀 2521·2019-08-30 15:55
閱讀 1725·2019-08-30 12:56
閱讀 1832·2019-08-28 17:59