javascript 運算與基礎function


Posted by NYBOSLA on 2021-01-21

javascript 環境介紹

javascript 執行的環境,第一為 node.js、第二個為瀏覽器,將 node.js 安裝到自己的電腦本地端,可以透過 command line 的操作,提供 javascript 程式碼在 node.js 裡執行,而瀏覽器為另一個 javascript 的執行環境。

javascript 變數

變數宣告
var、let、const 使用變數前要先宣告,且記憶體會保留一個空間給要儲存的值。
1.var
var box = 1

注意:
a.var的作用域在function。
b.沒有賦值,會印出 undefined
c.沒有宣告,會印出 not defined

2.let
let box = 1

注意:
let 的作用域在 block,block 意指 { } 這個符號,除 function 以外 if、for 的 {} 都屬於 let 的作用域。
不允許變數重覆,否則會顯示『identifier 'xx' has already been declared』

3.const常數
const box=1

設定後不能再改變,只能設定一次的內容。

運算

基礎運算
+、-、*、/、%(取餘數)
邏輯運算
||:OR &&:AND !:NOT

true || true   
//true,在 OR 的情況下,只要左右兩邊有一情形是 true,結果就是 true
true || false   
//true
3 || 10  
//3,只要不是 null、0 這種空白值,就會回傳該數值,符合其中之一為 true 的條件。
false || 10  
//10
false || 0  
//0

true && false  //false,
在 AND 情況下,要左右兩邊都是 true,結果才會是 true
true && true  //true
3 && 10  //10
一定要兩邊都是 true,所以會回傳最後一個值
true && false  
//false
true && true  
//true
false && 3  
//false
!ture  //false,就是 NOT true
!false  //true,就是 NOT false

位移運算
>>:右移 <<:左移

以 2 進位制為基礎作位移運算,為計算方便,右移等於總數除以 2,左移等於總數乘以 2

資料轉換型態

  1. typeof() 檢查變數型態
  2. typeof null會回傳object,古老的bug
  3. 注意變數型態,需要轉換成數字,可使用number()
    轉換方式 1:Number()
    var a = '10'
    var b = 20
    console.log(Number(a) + b)
    轉換方式 2:parseInt()
    console.log(parseInt(a, 10) + b)  //10 指的是十進位
    

函式function

函式是什麼?
當在程式執行過程中,若是要重覆執行某項程序時,就可是設定函式function,將某些輸入值(參數)傳入預先設定好的處理程序,再回傳結果(值)的程序。
在網頁裡面alert(message)、prompt(message,[default]),都是內建的function。

函式種類
Function Declaration 函式宣告、陳述式

function 函式名稱(參數) {
    算式/執行事項
}


function hello() {
    console.log('hello')
}

Function Expressions 函式表達、運算,輸入後能回傳且將變數賦值給函式

let anonymousGreet = function(){ 
   console.log('hi');
};

Function Constructors 函式建構

let square = new Function('number', 'return number * number');
return 函式寫法
function abc(a, b, c) {
    return a + 2*b + 3*c
}

console.log(abc(1, 2, 3))
console.log(abc(1, 1, 1))

使用物件回傳的寫法

function abc(a, b, c) {
    return{
        answer : a + 2*b + 3*c
    } 
}

console.log(abc(1, 2, 3))
console.log(abc(1, 1, 1))

generateArray(3)=>[1,2,3]
generateArray(3)=>[1,2,3,....]

傳入數字幾,想要產生出幾個數字的陣列

function generateArray(n){
    var result = []
    for(var i = 1 ; i <= n ; i++){
      result.push(i)
    }
    return result
}

console.log(generateArray(10))

函式命名

跟變數一樣,需要有語意的命名,通常會以動詞作為前綴搭配命名:
'get…' 回傳某值
'calc…' 計算某些內容
'create…' 創建某些內容
'is…' 檢查某些內容回傳 boolean

return不return

  • 不需要知道結果
    function sayHello(name){
    console.log('hello',name)
    //預設回傳undefined
    return undefined
    }
    sayHello('nuck')
    
  • 需要知道結果 範例1
    function sayHello(name){
    console.log('hello',name)
    return 123
    }
    var a = sayHello('nick')
    //這邊的變數 a = 123
    
  • 需要知道結果 範例2
    function double(x){
    return x*2
    // return 預設回傳 undefined
    }
    var result = double(3)
    console.log(result)
    









Related Posts

[MTR04] W1 D2 Git 基本指令

[MTR04] W1 D2 Git 基本指令

學習 DNS, CDN, Cloudflare

學習 DNS, CDN, Cloudflare

W13_作業二實作記錄

W13_作業二實作記錄


Comments