當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
javascript 忍者秘籍读书笔记
生活随笔
收集整理的這篇文章主要介紹了
javascript 忍者秘籍读书笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
書名
"學徒"=>"忍者"
性能分析
console.time('sss') console.timeEnd('sss')函數
函數是第一類對象
通過字面量創建 function minjaFunction(){}在變量或數組或者對象中的函數let obj = {name: 'zhangsan',age() {return 1} }; let arr = [1, 2, 3, 4, () => {return 1; }]; let nums=()=>{}作用函數的參數來傳遞(高階函數)add=(x,y,f)=>{return f(x)+f(y) }; add(1,3,x=>x);作用函數的返回值(閉包)add=()=>{let a=1;return ()=>{console.log(a)} }具有動態創建和分配的屬性(回調函數)var add=function(){console.log(add.age); }; add.age='zhangsan'; add();回調函數 函數作用另一個函數的參數,隨后通過參數來調用該函數 function useless(nin){return nin(); }函數和對象的唯一區別
函數是可調用的,函數會被調用執行某項動作或者功能
純函數緩存??
定義函數的方式
函數聲明 function myFunction(){}箭頭函數(lambda函數) item=>item*2函數構造函數 let add=new Function('a','b','return a+b') console.log(add(1, 3));生成器構造函數function* myGen(){yield 1; }let a = myGen(); console.log(a.next());函數表達式 let a=()=>{}立即執行函數 ()() +function(){}(); -function(){}(); !function(){}(); ~function(){}();函數的實參+形參
形參是定義的時候傳遞的變量 實參是調用的時候傳遞的變量剩余參數 ... 默認參數 a=(a,b=0)=>{}函數調用
this: 調用函數的上下文對象arguments 參數表示函數調用過程中傳遞的所有參數 ... 代替了arguments要做的事 let a=(...b)=>{console.log(b)} //箭頭函數沒有argumentsfunction a(){console.log(Array.from(arguments)); } > argumeng.length > arguments是個偽數組function fun(a = 3) {arguments[0]=133;console.log(a); } fun(10);//10 arguments只看調用的參數調用函數的四種方式 * 作用函數> func() 直接調用> 作用函數被調用 this->window * 作為方法> a.func() 關聯在一個對象上,實現面向對象編程> 作用方法被調用,this-> 這個對象 * 構造函數> new func() 實例化一個新的對象> new 調用函數會觸發> 創建一個新的空對象> 該對象作用this參數傳遞給構造函數> 新構造的對象作為new運算符的返回值* 通過函數的apply和call> func.apply(null,[a,b])> func.call(null,a,b) * 通過bind() 改變this的指向 需要在后面加上() 讓他執行..........................................................................................................................................................
轉載于:https://www.cnblogs.com/fangdongdemao/p/10821213.html
總結
以上是生活随笔為你收集整理的javascript 忍者秘籍读书笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Nginx的几个常用配置和技巧
- 下一篇: [IOI2011]Race