js經常使用筆記

此文僅爲筆記,代碼來源自網絡json

網絡技術文檔:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript數組

 一、使用||和&&簡化語句,其中||:首先檢查左邊的值,若是能將該值轉換爲true,則返回左邊的值,不執行右邊代碼,不然返回右邊的值;&&:首先檢查左邊的值,若是能將該值轉換爲false,則返回左邊的值,不執行右邊代碼;不然返回右邊的值,例如:typeof cb == "function" && cb('a'),簡化代碼好比:if(a==null){a={}=> a||a={}網絡

二、Object.defineProperty(obj, prop, descriptor)方法接收三個參數:須要添加或修改屬性的對象,屬性名稱,屬性描述options{configurable:false;enumerable:false;value:undefined;writable;get;set}。閉包

三、"use strict":嚴格模式函數

四、instanceof 運算符用來測試一個對象在其原型鏈中是否存在一個構造函數的 prototype 屬性,object instanceof constructor測試

五、聲明:var:聲明一個變量 const 聲明建立一個只讀的常量。常量不能夠經過賦值改變其值,也不能夠在腳本運行時從新聲明。它必須被初始化爲某個值。這不意味着常量指向的值不可變,而是變量標識符的值只能賦值一次,對象屬性是不受保護的,let聲明瞭一個塊級域的局部變量,而且能夠給它一個初始化值。this

六、undefined 值在布爾類型環境中會被看成 false,在數值類環境中會被轉換爲 NaN
 null值在布爾類型環境中會被看成 false,在數值類環境中會被轉換爲0
 在涉及加法運算符(+)的數字和字符串表達式中,JavaScript 會把數字值轉換爲字符串。
 字符串轉換爲數字:使用
parseInt()parseFloat()或使用單目加法運算(+"1.1")  spa

七、變量的做用域:語句塊中var聲明的變量將成爲語句塊所在代碼段的局部變量
     變量聲明提高:你能夠引用稍後聲明的變量而不會引起異常;可是在使用或引用某個變量以後進行聲明和初始化操做,這個被提高的引用仍將獲得 undefined 值。
     隱式全局變量:無論一個變量有沒有用過,JavaScript解釋器反向遍歷做用域鏈來查找整個變量的var聲明,若是沒有找到var,解釋器則假定該變量是全局變量,若是該變量用於了賦值操做的話,以前若是不存在的話,解釋器則會自動建立它prototype

八、函數表達式:function 函數名稱[僅限函數體內有效】(可選)(參數:可選){ 函數體 }(用於=,new,()) 表達式定義的函數,稱爲匿名函數。匿名函數沒有函數提高,code

  函數聲明:function 函數名稱 (參數:可選){ 函數體 },不要將函數聲明寫到語句塊中,雖不報錯,但有bug

九、在條件表達式中最好不要使用「=」來判斷條件是否相等,如if(x=y)應該寫爲:if((x=y))

    False等效值:false(是指布爾值,不是布爾對象),undefined,null,0,NaN,空字符串("")

十、標籤語句:lable:statement,label 的值能夠是js的任何非保留字標識符。 用label 標識的語句能夠是任何語句。

十一、閉包:當內部函數以某一種方式被任何一個外部函數做用域訪問時,一個閉包就產生了,注意閉包中的this

  匿名閉包:(function () {}())

      匿名函數:將全局變量當成一個參數傳入到匿名函數而後使用funtion(x){}(window.x)

十二、this指什麼徹底取決於函數在何處被調用,而不是在何處被定義。

1三、arguments對象:函數的實際參數會被保存在一個相似數組的arguments對象中,從0開始 arguments.callee:調用自身 不支持嚴格模式

1四、解構:語法是一個能從數組或對象對應的數組結構或對象字面量裏提取數據的 Javascript 表達式。

1五、函數定義:new function(arg1, arg2, ..., argN, function_body):例如將字符串轉換爲對象:(new Function(「return "+json))()

1六、獨立做用域:只能經過函數代碼類型的執行上下來建立,變量與執行上下文相關

  執行上下文的代碼:進入執行上下文(形參,變量聲明,函數聲明<會覆蓋同名變量聲明>)、執行代碼

1七、後臺字符串轉json:(new Function('return ' + data.Result))()

1八、checked=checked 不起做用:$("#iszg").prop("checked", true);

相關文章
相關標籤/搜索