JavaScript基礎重點(必看),javascript必看
接觸JavaScript這門語言也就很長的時間了,但從來沒有系統的去瞭解這麼語言。趁現在剛剛畢業以及某些原因無心工作的情況下去系統的瞭解一下這麼語言,也想通過這麼語言養成寫部落格的習慣,因為我認為這是一件對程式員來說很神聖又很光榮的事情。
1.1背景
相信很多初學者都遺忘或混淆的就是JavaScript的官方命名:ECMAScript。2015年6月17日,ECMAScript 6發布正式版本,即ECMAScript 2015。
1.2文法
常規文法省略
重點強調:
1.原始值和對象:原始值包括布爾值、數字、字串、null、和undefined。其他的值都是對象。兩者之間最主要的區別在於它們的比較方式:每個對象都有唯一的標識且只等於自己。
var obj1={};var obj2={};alert(obj1 === obj2);//falsealert(obj1===obj1);//truevar prim1=123;var prim2=123;alert(prim1===prim2);//true
2.使用typeof和instanceof對值分類。
typeof
| 運算元 |
結 果 |
| undefined |
'undefined' |
| null |
object |
| 布爾值 |
boolean |
| 數字 |
number |
| 字串 |
string |
| 函數 |
function |
| 所有其他的常規值 |
object |
| 引擎建立的值 |
JS引擎可以被允許建立一些值,且typeof的結果可以返回任一字元串 |
| |
|
3.布爾值:
假值:undefined,null,false,-0,NaN,''
二元邏輯運算子:JavaScript中的二元邏輯運算子是短路的。如果第一個運算數就是足以確定結果的話,則不會對第二個運算數做評估。與(&&):如果第一個運算數是假值,返回它。或(||):如果第一個運算數是真值,返回它。
4.IIFE:
引入新的範圍。作用:去除閉包(函數以及它所串連的周圍範圍中的變數)造成的無意共用。
例:
var result=[];for(var i=0;i<5;i++){result.push(function(){return i;});//(1)}console.log(result[1]()); //5 (not 1)console.log(result[3]()); //5 (not 3)
標記為(1)的這行傳回值總是i的當前值,而並非函數被建立時的值。在迴圈結束之後,i的值為5,所以數組中所有的函數都返回這個數值。如果想要標記(1)這行的函數獲得當前i值的一個快照,就可以使用IIFE.
for(var i=0;i<5;i++){ (function (){ var i2=i; result.push(function(){return i2}); }()) ; }
此上都是在整理過程中以前未注意或沒有瞭解到的部分知識,寫在此處做知識點的補充之用。
以上這篇JavaScript基礎重點(必看)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援幫客之家。