Open Lichen5221 opened 3 years ago
研究反轉字串,看著程式語言掙扎了許久,還是認命要從基礎開始聽。
認識了基礎運算值加減乘除取餘數,不過這在玩 python 的時候就知道了,再來就是 and ( && )、or ( || )、not ( ! ) 等指令。
|| 的性質是依照順序判斷是否有值,其中如果是 0 、 -0 、 null 、 " " 、false 等值會被初始化為 false ,也就是不會顯示出這個,而是會看下一個是不是屬於 true 。
我看其他的 資料說明 這個概念與 「 布林值 」有關,文章裡面也有提到一些關於布林值使用上比較妥當的方法,雖然我還沒有用到布林值,但就先有個底知道這東西。
&& 的性質是由後面的數值判斷,所以會看後面的數值是否為 true ,如果不是的話才會顯示前面的值。
這時候我就好奇如果都是 false 呢,就自己在終端機上試試看。當我兩個都擺 0 的時候, || 和 && 都是顯示 0。然後我又嘗試了一下 0 && 3 這樣的組合,結果也是顯示零。看來是因為 and 的含義就是綁在一起共生死 XD 。只要有一個 false 我就全部 false !
不過再看影片後,發現我的理解法好像比較沒邏輯, Huli 的說法聽起來比較有邏輯:因為前面已經判定 false ,所以也不用再看後面了。
二進位的部分國中還國小就知道了,所以理解上不是問題。
簡單說這兩個符號就是乘二跟除二, << 是乘二,可以想數學上往左邊位數越大, >> 是除二,往右邊位數越小。如果不是二的倍數,往右除會無條件進位。
我本來想說啊那就乘二除二就好了⋯⋯為什麼會用到這個符號呢?老師在後面就說因為這個是最原始的方式,電腦處理上會比較有效能跟效率。原來是這樣!
& ( and ) 、 | ( or ) 、 ^ ( xor ) 、 ~ ( not )
第一次接觸位元運算,滿神奇的,將數字變成二元運算法計算。 xor 是其中我覺得比較特別的運算,當二位元有兩個一樣( 1 1 或 0 0 )的時候會顯示 1 ,不一樣的時候才會顯示 0 。 not 也是很特別⋯⋯包括前面 0 都會轉成 1 ,所以 ~ 15 會變成 - 16 ,哇!神奇的位元運算!
透過 & 可以直接判斷數字為奇數還偶數。偶數的話會呈現 0 ,奇數的話會呈現 1 。神奇小魔法棒!
變數像一個箱子,透過 var 指令 + 名稱建立。程式語言中的 = 意義是賦值,不代表相等(像是把等號後面的東西放進去變數這個箱子裡面的概念)。
如果建立變數但沒有放東西進去,會呈現 undefined ,如果要輸出一個完全不存在的變數,會變成 is not defined 。
名稱大小寫不一樣,變數可以透過底線或是駝峰式(不同單字首字母大寫),盡可能不用 a b c ,而是用可以理解的名稱去當變數名稱 peopleCount 或是 drinkNumber 等等。
a = a + 5 ,這邊表示了賦值的意思,可以簡寫為 a += 5 。
++ 意思是 + 1 , -- 意思是 - 1。寫成 a++ 代表會先執行完其他語法再回來把 a + 1 。 ++a 的話則會先執行 a + 1 再去跑整句程式。
再多一個就會太複雜,所以整句盡量只有一個 ++ 或 -- 。
布林值、數字、字串、物件、未定義、函式
特別注意 null 是物件。
透過 typeof 可以確認該變數型態。
將同類型的東西放在一起,序號從 0 開始。
var 變數名稱 = [0, 1, 2, 3] 變數名稱.push() 在陣列增加東西 變數名稱.length 確認陣列的物件數量
這邊因為我還沒決定要用訂閱制,所以就先從 Youtube 上面看教學。
物件使用 {} 表示。
從 JS101 聽起
研究反轉字串,看著程式語言掙扎了許久,還是認命要從基礎開始聽。
*邏輯運算 + - / % && || !**
認識了基礎運算值加減乘除取餘數,不過這在玩 python 的時候就知道了,再來就是 and ( && )、or ( || )、not ( ! ) 等指令。
|| 的性質是依照順序判斷是否有值,其中如果是 0 、 -0 、 null 、 " " 、false 等值會被初始化為 false ,也就是不會顯示出這個,而是會看下一個是不是屬於 true 。
我看其他的 資料說明 這個概念與 「 布林值 」有關,文章裡面也有提到一些關於布林值使用上比較妥當的方法,雖然我還沒有用到布林值,但就先有個底知道這東西。
&& 的性質是由後面的數值判斷,所以會看後面的數值是否為 true ,如果不是的話才會顯示前面的值。
這時候我就好奇如果都是 false 呢,就自己在終端機上試試看。當我兩個都擺 0 的時候, || 和 && 都是顯示 0。然後我又嘗試了一下 0 && 3 這樣的組合,結果也是顯示零。看來是因為 and 的含義就是綁在一起共生死 XD 。只要有一個 false 我就全部 false !
不過再看影片後,發現我的理解法好像比較沒邏輯, Huli 的說法聽起來比較有邏輯:因為前面已經判定 false ,所以也不用再看後面了。
>> <<
二進位的部分國中還國小就知道了,所以理解上不是問題。
簡單說這兩個符號就是乘二跟除二, << 是乘二,可以想數學上往左邊位數越大, >> 是除二,往右邊位數越小。如果不是二的倍數,往右除會無條件進位。
我本來想說啊那就乘二除二就好了⋯⋯為什麼會用到這個符號呢?老師在後面就說因為這個是最原始的方式,電腦處理上會比較有效能跟效率。原來是這樣!
位元運算
& ( and ) 、 | ( or ) 、 ^ ( xor ) 、 ~ ( not )
第一次接觸位元運算,滿神奇的,將數字變成二元運算法計算。 xor 是其中我覺得比較特別的運算,當二位元有兩個一樣( 1 1 或 0 0 )的時候會顯示 1 ,不一樣的時候才會顯示 0 。 not 也是很特別⋯⋯包括前面 0 都會轉成 1 ,所以 ~ 15 會變成 - 16 ,哇!神奇的位元運算!
透過 & 可以直接判斷數字為奇數還偶數。偶數的話會呈現 0 ,奇數的話會呈現 1 。神奇小魔法棒!
變數宣告與 undefined
變數像一個箱子,透過 var 指令 + 名稱建立。程式語言中的 = 意義是賦值,不代表相等(像是把等號後面的東西放進去變數這個箱子裡面的概念)。
如果建立變數但沒有放東西進去,會呈現 undefined ,如果要輸出一個完全不存在的變數,會變成 is not defined 。
名稱大小寫不一樣,變數可以透過底線或是駝峰式(不同單字首字母大寫),盡可能不用 a b c ,而是用可以理解的名稱去當變數名稱 peopleCount 或是 drinkNumber 等等。
a = a + 5 ,這邊表示了賦值的意思,可以簡寫為 a += 5 。
++ 意思是 + 1 , -- 意思是 - 1。寫成 a++ 代表會先執行完其他語法再回來把 a + 1 。 ++a 的話則會先執行 a + 1 再去跑整句程式。
再多一個就會太複雜,所以整句盡量只有一個 ++ 或 -- 。
變數型態
布林值、數字、字串、物件、未定義、函式
特別注意 null 是物件。
透過 typeof 可以確認該變數型態。
陣列( array )
將同類型的東西放在一起,序號從 0 開始。
var 變數名稱 = [0, 1, 2, 3] 變數名稱.push() 在陣列增加東西 變數名稱.length 確認陣列的物件數量
物件( object )
這邊因為我還沒決定要用訂閱制,所以就先從 Youtube 上面看教學。
物件使用 {} 表示。