国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js基礎知識學習(二)

Dean / 3435人閱讀

摘要:基礎知識數據類型轉換把其它數據類型轉換為類型在進行加減乘除數學運算的時候引用數據類型轉換數字通過方法把數組轉換為字符串,然后在調用把字符串轉換為數字中的數學運算加減乘除除了加法有特殊性,其余的運算符都是數學運算,也就

JS基礎知識 JavaScript 數據類型轉換

把其它數據類型轉換為number類型

isNaN 、Number、parseInt、parseFloat

在進行加減乘除數學運算的時候

true->1 false->0
""->0 "12"->12 "12px"->NaN/12 "candy"->NaN
null->0 undefined-NaN
{} /^$/ function(){}->NaN
[]->""->0
//=>引用數據類型轉換數字
//通過toString方法把數組轉換為字符串,然后在調用Number把字符串轉換為數字

JS中的數學運算

+、-、*、/ 加減乘除

除了加法有特殊性,其余的運算符都是數學運算,也就是遇到非數字類型,需要把其轉換為number在進行運算

加法的特殊性:

在遇到字符串的時候,+不是數學運算,而是字符串拼接,只要不遇到字符串就是數學運算

1-"1"->0;
10*null->0;
10/undefined ->NaN
10*[10]->100

1+"1"->"11"
null+"1"->"null1"
//=>字符串拼接:是把其它的值轉換為字符串然后在拼接
(toString)
//=>其他數據類型的toString是直接的把值用單(雙)引號包起來即可,只有對象的有特殊性,對象.toString()==="[Object Object]"

1+null+undefined+[]+"candy"+null+undefined+[]+10
/*
1+null->1
1+true->2
2+undefined->NaN
NaN+[]->NaN+""->"NaN"
"NaN"+"candy->"NaNcandy"
...
NaNCandynullundefined10
*/

將其它數據類型轉換為布爾類型

Boolean、!、!!

在條件判斷的時候,也是轉換為布爾類型,然后驗證條件的真假

只有0、NaN、空字符串、null、undefined五個轉換為false,其余的都轉換為true

[]->true
-1->true
if(box){
    //=>首先把box變量存儲的值獲取到,轉換為布爾類型,如果為true條件成立,反之不成立
}
if(3+"3px"){
    //=>條件成立
}
if(3-"3px"){
    //=>條件不成立:3-"3px"=NaN
}

在使用==進行比較的時候

在使用==進行比較的時候,如果左右兩邊數據類型不相同,瀏覽器會默認轉換為相同的類型,然后在比較(===不會這樣操作)
//=>對象和對象:比較的是空間地址,不是相同的空間,結果肯定是false
[]==[]->false 

var a={};
var b=a;
a==b;=>true;

//=>對象和數字:把對象轉換為數字
[]==0->true
({})==NaN->false //NaN和自己不相等和其它任何值都不相等

//=>對象和字符串:把兩邊都轉換為數字比較的
[]==""->true

//=>對象和布爾:把兩邊都轉換數字
[]==true//->0==1->false
[]==false//->0==0->true
![]==false//->![]把數組變為布爾在取反=false->false==false->true

//=>字符串和數字:字符串轉換為數字
//=>字符串和布爾:都轉為數字
//=>布爾和數字:布爾轉換為數字

//=>規律:兩個等號比較,左右兩邊數據值的類型不一樣,瀏覽器會把兩邊的類型都轉換為數字然后再比較,但是null和undefined除外
null==undefined->true
nul===undefined->false
null==0 ->false //null以及undefined和其它任何值都不相等
Math中的常用方法
數學函數:但是它是對象數據類型的 
typeof Math->"object"

Math對象中給我們提供了很多常用操作數字的方法

console.dir(Math)查看所有方法

abs

Math.abs:取絕對值
Math.abs(12)->12
Math.abs(-12)->12

ceil/floor

Math.ceil:向上取整
Math.floor:向下去整
 Math.ceil(12)->12
 Math.ceil(12.1)->13
 Math.ceil(12.9)->13
 Math.ceil(-12.9)->-12
 Math.ceil(-12.1)->-12

 Math.floor(12)->12
 Math.floor(12.1)->12
 Math.floor(12.9)->12
 Math.floor(-12.9)->-13
 Math.floor(-12.1)->-13

round

Math.round:四舍五入
Math.round(12.3)->12
Math.round(12.5)->13 正數中5包含在向上
Math.round(-12.3)->-12
Math.round(-12.5)->-12 負數中5包含在向下
Math.round(-12.51)->-13 

random

Math.random:獲取(0,1)之間的隨機小數
 for(var i=0;i<100;i++){
    console.log(Math.random());
    }
 //=>需求:獲取[0,10]之間的隨機整數
Math.round(Math.random()*10)
//=>需求:獲取[1,10]之間的隨機整數
Math.ceil(Math.random()*10))
//=>需求:獲取[3,15]之間的隨機數
Math.round(Math.random()*12+3)

獲取[n,m]之間的隨機整數
Math.round(Math.random()*(m-n)+n)

max/min

Math.max(12,23,25);->25
Math.min(12,23,25);->12

PI

Math.PI->3.141592653589793

pow/sqrt

Math.pow:獲取一個值的多少次冪

Math.sqrt:開平方

Math.pow(10,2)->100
Math.sqrt(100)->10

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/95696.html

相關文章

  • 前端資源系列(4)-前端學習資源分享&前端面試資源匯總

    摘要:特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 特意對前端學習資源做一個匯總,方便自己學習查閱參考,和好友們共同進步。 本以為自己收藏的站點多,可以很快搞定,沒想到一入匯總深似海。還有很多不足&遺漏的地方,歡迎補充。有錯誤的地方,還請斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應和斧正,會及時更新,平時業務工作時也會不定期更...

    princekin 評論0 收藏0
  • Vue.js學習系列 —— vuex學習實踐筆記(附DEMO)

    摘要:有興趣的同學可以查看之前發布的文章學習系列一學習實踐筆記附學習系列二學習實踐筆記附學習系列三和網絡傳輸相關知識的學習實踐學習系列四打包工具的使用學習系列五從來聊聊學習系列項目地址項目暫時有點亂,之后會進行整理優化。 上次學習了vue-router的使用,讓我能夠在各個頁面間切換,將頁面搭建了起來。這次則要學習vue的狀態管理模式——vuex。它類似于redux來應用的全局狀態。 注:本...

    DobbyKim 評論0 收藏0
  • 7月份前端資源分享

    摘要:更多資源請文章轉自月份前端資源分享的作用數組元素隨機化排序算法實現學習筆記數組隨機排序個變態題解析上個變態題解析下中的數字前端開發筆記本過目不忘正則表達式聊一聊前端存儲那些事兒一鍵分享到各種寫給剛入門的前端工程師的前后端交互指南物聯網世界的 更多資源請Star:https://github.com/maidishike... 文章轉自:https://github.com/jsfr...

    pingan8787 評論0 收藏0
  • webpack配置學習-開發環境和打包環境執行不同打包

    摘要:分開配置的原因前端項目的開發在開發過程中和上線時需要的依賴是不同的,所以要求使用打包的時候要能夠在兩種情況下執行不同的配置。在中的屬性中配置開發打包命令和上線打包命令,指定不同的配置文件。 分開配置的原因 前端項目的開發在開發過程中和上線時需要的依賴是不同的,所以要求使用webpack打包的時候要能夠在兩種情況下執行不同的配置。帶來的好處是上線的項目不依賴開發下的包,減少生產環境中所需...

    gxyz 評論0 收藏0
  • 寫一本關于 React.js 的小書

    摘要:因為工作中一直在使用,也一直以來想總結一下自己關于的一些知識經驗。于是把一些想法慢慢整理書寫下來,做成一本開源免費專業簡單的入門級別的小書,提供給社區。本書的后續可能會做成視頻版本,敬請期待。本作品采用署名禁止演繹國際許可協議進行許可 React.js 小書 本文作者:胡子大哈本文原文:React.js 小書 轉載請注明出處,保留原文鏈接以及作者信息 在線閱讀:http://huzi...

    Scorpion 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<