JavaScript學習小結

HowieLee59發表於2018-09-24

為什麼要學習JavaScript?

JavaScript是世界上最流行的指令碼語言,因為你在電腦、手機、平板上瀏覽的所有的網頁,以及無數基於HTML5的手機App,互動邏輯都是由JavaScript驅動的。

簡單地說,JavaScript是一種執行在瀏覽器中的解釋型的程式語言。

在Web世界裡,只有JavaScript能跨平臺、跨瀏覽器驅動網頁,與使用者互動。

JavaScript程式碼的位置

  • 直接嵌在Html程式碼的Script中
  • 放入一個.Js檔案中

JavaScript語法

  1. JavaScript不強制再每個語句的結尾加;,瀏覽器中複雜執行程式碼的引擎會自動再每個語句的結尾補上;

  2. JavaScript嚴格區分大小寫,如果弄錯了大小寫,程式會報錯或者執行不正常

  3. 在Js中NaN非常奇怪,NaN == NaN是錯誤的,因為它與任何一個數都不相等,包括它自己

  4. 如果’本身也是一個字元,那就可以用""括起來,比如"I’m OK"包含的字元是I,’,m,空格,O,K這6個字元。如果字串內部既包含’又包含"怎麼辦?可以用轉義字元\來標識

  5. 如果有很多變數需要連線,用+號就比較麻煩。ES6新增了一種模板字串,表示方法和上面的多行字串一樣,但是它會自動替換字串中的變數:

    var name = '小明';
    var age = 20;
    var message = `你好, ${name}, 你今年${age}歲了!`;
    alert(message);
    

6.定義函式的方式

function abs(x) {
	if (x >= 0) {
    	return x;
	} else {
    	return -x;
	}
}

另外一種定義匿名函式的方式:

var abs = function (x) {
	if (x >= 0) {
    	return x;
	} else {
    	return -x;
 	}
};

沒有函式名但是可以通過abs直接進行呼叫函式

  1. 雖然在一個獨立的函式呼叫中,根據是否是strict模式,this指向undefined或window,不過,我們還是可以控制this的指向的!
    要指定函式的this指向哪個物件,可以用函式本身的apply方法,它接收兩個引數,第一個引數就是需要繫結的this變數,第二個引數是Array,表示函式本身的引數。

  2. JavaScript的所有物件都是動態的,即使內建的函式,我們也可以重新指向新的函式。

  3. 高階函式英文叫Higher-order function。那麼什麼是高階函式?JavaScript的函式其實都指向某個變數。既然變數可以指向函式,函式的引數能接收變數,那麼一個函式就可以接收另一個函式作為引數,這種函式就稱之為高階函式。

  4. Array的reduce()把一個函式作用在這個Array的[x1, x2, x3…]上,這個函式必須接收兩個引數,reduce()把結果繼續和序列的下一個元素做累積計算,其效果就是:[x1, x2, x3, x4].reduce(f) = f(f(f(x1, x2), x3), x4)

相關文章