iT邦幫忙

0

JS學習紀錄-03-基本型別(下)

  • 分享至 

  • xImage
  •  

嗨嗨~我是914 今天也要來繼續學習基本型別GOGOGO

快哭啦~剛剛原本已經打得快差不多的稿,就這樣被我不小心刪除了QQ
可惡!!!!!! 好想哭~不能! 崩潰只能3秒 XD
這告訴我們,打文章多多少少還是要先儲存草稿辣!!!!!!!!!!!!!!!!
好der 崩潰結束。
前情提要:
上篇文章說到我們會有很多型別的部分,
那我們下面會開始講定義跟程式碼

前情提要&注意事項
1.比較運算子(==!=><)下篇說明
2.邏輯運算符(&&||!)下篇說明
3.,ifelsewhilefor 這塊蠻重要的,會在未來章節說明
4.物件跟陣列:未來章節說明
4.console.log() 這部分可以印出來確認


type of
可以用來判斷型別

var x = 10;
console.log(typeof x); // 輸出: number

boolean布林值
true(真)和false(假)值
使用時機常常是在判斷某個條件是否為真或假,或者在比較運算。
通常用在"控制程序"的流程,常出現ifelsewhilefor等語句中,
透過比較運算符或邏輯運算符來獲得布林值。

e.g. 這個isGrater的變數,賦予10的值,會大於5這個值嗎? 當然會,所以會回傳true

let isGrater = 10 > 5 ;
// console.log(isGrater);//true

e.g.這個isNotEqual被賦予4的值,並不等於(!==)4嗎? 當然不會,所以會回傳false

let isNotEqual = 4 !== 4;
console.log(isNotEqual);//false

null v.s undefined
這兩個部分,真的有夠難難的,讓我們繼續看下去
如果變數被聲明但未賦值,它的初始值將是undefined,而不是null
共通點是null 型別只有一種值,就是 null ,而 undefined 類型也只有一種值,就是 undefined

null
-null是一個表示「無」、「空值」或「沒有值」的特殊值。
-想清空資料時可以使用null
-使用null清空資料,可以釋放記憶體空間
e.g.

let a = null;
console.log(a); // 顯示為null

e.g.

var nullVariable = null;
console.log(typeof nullVariable);//"object"

undefined
-"還沒有給值,所以不知道是什麼"(預設值就是 undefined)
-取用一個物件屬性陣列,若這個屬性或是元素不存在,會回傳 undefined。
-一個函數需要輸入參數,但使用函數時沒有回傳參數的話,此時也會回傳 undefined。

e.g.

let a ;
console.log(a)//undefined

e.g.

let myObject = {};//這是物件
console.log(myObject.nonExistentProperty); // 印出 undefined,因為屬性不存在

e.g.

let myArray = [];//這是陣列
console.log(myArray[0]); // 印出 undefined,因為數組是空的

NaN( 不是數值Not a Number)
可用isNaN()去檢測它到底是不是NaN
這個部分要講到Infinity (無限大∞) 、 -Infinity (負無限大-∞)
正數除以 0 會得Infinity,任何負數除以 0 也會得到 -Infinity
那0/0 就會得到NaN辣而 ∞/∞ 或是-∞/-∞ 也都會得到唷!

e.g.

let a = 0;
let b = 0;
let result = a / b;
console.log(result);//因為NaN ,0除以0

e.g.

console.log(isNaN(123)); // false,因為 123 是一個數字
console.log(isNaN('Hello')); // true,因為 'Hello' 不是一個數字
console.log(isNaN('123')); // false,因為 '123' 可以轉換為數字 123
console.log(isNaN('abc123')); // true,因為 'abc123' 不是一個有效的數字
console.log(isNaN(NaN)); // true,因為 NaN 本身就是非數字

我是超級新手,若有任何建議或是錯誤的部分,歡迎底下留言唷thanks
我們下篇文章見掰掰~

對自己多用點心,日益努力,而後風生水起。盡情玩耍,盡情學習,盡情熱愛,盡情討厭,在需要的時候釋放善意,在必要的時候展現強硬,把這不得不過完的一生,變成值得慶賀的一生。

更多的練習
1.布林值
https://codepen.io/JoyceChou914/pen/rNbrQYB?editors=0011
2.undefined
https://codepen.io/JoyceChou914/pen/VwNBgLN?editors=0011
3.NaN
https://codepen.io/JoyceChou914/pen/poBKyoa?editors=0011

參考資料
https://ithelp.ithome.com.tw/articles/10190873
https://cloud.tencent.com/developer/article/1939574


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
Felix
iT邦研究生 2 級 ‧ 2024-05-08 16:20:48

還是在文字編輯器寫稿吧!

嗨嗨~收到:)
可以確認一下您是說
可在Notepad++等編輯先寫草稿嗎
還是能請問一下您是怎麼寫稿的呢?

Felix iT邦研究生 2 級 ‧ 2024-05-09 11:59:51 檢舉

我是習慣在 VSCode 寫稿,因為支援 Markdown 語法,所以能邊寫邊預覽。

不然,也能應用 JavaScript 的監聽器,在 blur 事件觸發時(頁籤失去焦點)自動儲存草稿,在 beforeunload 事件觸發時(頁籤關閉)跳出通知。

window.addEventListener(
    'blur',
    () => document.querySelector('input.btn-draft').click()
);

window.addEventListener(
    'beforeunload',
    e => e.returnValue = (e.preventDefault(), '')
);

這樣才能學以致用,對吧 XD。

哦哦!!不好意思我已經懂您的意思了!
不過應用 JavaScript 的監聽器的部分
好像還是不太了解
這部分會再去看您的文章做學習~
謝謝唷!

最後一句真的是超讚~XD

我要留言

立即登入留言