javascript
【废弃】【WIP】JavaScript 函数
創建: 2017/10/09
更新: 2017/11/03 加上【wip】
廢棄: 2019/02/19 重構此篇。原文歸入廢棄
?增加【廢棄中】標簽與總體任務
結束: 2019/03/12 完成廢棄, 刪除【廢棄中】標簽, 添加【廢棄】標簽
結束: 2019/03/03 完成廢棄, 刪除【廢棄中】標簽, 添加【廢棄】標簽
【TODO】 // TODO: 第9章 關于函數的構造函數呼出與call, apply // TODO 8.7 補充即時函數用途 // TODO: 補充JavaScript編譯過程, p179 // TODO: 8.8及以后| ?函數的定義 | |||||||||||||||||||||||||||||||
| ? | 所有聲明不分順序,自動排序 | ||||||||||||||||||||||||||||||
| ?普通聲明 | ?function test(a) { ??? return a; ?} ?只有這種在定義后在程序任何位置都可以呼出 | ||||||||||||||||||||||||||||||
| ?函數字符來定義 | ?var sample = function(a) { 不會被預處理 ? | ||||||||||||||||||||||||||||||
| ?Object來定義 | ?var name = new function("x", "y", ... , "process") ?最后一個是處理,前面都是參數 ?不會被預處理 ? | ||||||||||||||||||||||||||||||
| ?箭頭函數式來定義 | ?var sample = x => x*x; ?不會被預處理 | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?嵌套函數 | ?函數內部的函數
| ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?函數的呼出 | |||||||||||||||||||||||||||||||
| ?函數的呼出方法 | ?function sample() {}
| ||||||||||||||||||||||||||||||
| ?即時函數 ?(無名函數) | ?定義與呼出同時進行 ?
| ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?函數的參數 | |||||||||||||||||||||||||||||||
| ? 參數的省略 | ?省略掉的為undefined ?undefined是沒有賦值 ?null是賦予的是空值 | ||||||||||||||||||||||||||||||
| ?不固定長度的參數 | ?所有函數內部可用arguments
| ||||||||||||||||||||||||||||||
| ?傳值和傳參 | ?object參數傳送的是參照(指針) | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?遞歸函數 | |||||||||||||||||||||||||||||||
| ?三種寫法 | ?
| ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?程序的編譯與運行 | |||||||||||||||||||||||||||||||
| ?生成全局對象 | ? | ||||||||||||||||||||||||||||||
| ?解析程序 | ? | ||||||||||||||||||||||||||||||
| ?運行程序 | ? | ||||||||||||||||||||||||||||||
| ?單線程 | ? | ||||||||||||||||||||||||||||||
| ?call對象及本地變量 | ? | ||||||||||||||||||||||||||||||
| ?this的值 | ?被呼出函數所屬對象 ?函數內部函數的this是全局變量 | ||||||||||||||||||||||||||||||
| ?命名空間 | ? var a = "a"; function f() {var b = "b";function g() {var c = "c";console.log(a+b+c);} } f();? ? | ||||||||||||||||||||||||||||||
| ?垃圾回收 | ?釋放從全局對象無法到達的量 ?不用在意? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?閉包 | |||||||||||||||||||||||||||||||
| ? | ?JavaScript的所有函數都是閉包 ?閉包內部可以有函數(閉包) | ||||||||||||||||||||||||||||||
| ?應用 | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?命名空間 | |||||||||||||||||||||||||||||||
| ? | ?
? | ||||||||||||||||||||||||||||||
| ?用對象管理程序本地代碼 | ? var myApp = myApp || {};
myApp.login = ...;
myApp.configs = {}; //部分空間內部再劃分部分空間 ? ?所有東西追加成屬性 | ||||||||||||||||||||||||||||||
| ?用函數作為命名空間 | ? (function () {// 程序所有內容寫在這里
})(); ? module模式 // 作為即時函數,把module相關傳遞給指定參數 var Module = Module || {}; (function (_module) {var name = "none"; // 私有變量function getName () { // 私有方法return name;}_module.showName() = function () { // 公共方法 console.log(getName());}})(Module);? ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?作為對象(Object)的函數 | |||||||||||||||||||||||||||||||
| ?函數也是對象 | ?● 可以代入變量,對象屬性, 數組元素 ?● 可以作為函數的參數, 返回值 ?● 可以有屬性和方法 ?● 可以作為不帶名字的字符, 即無名函數 function () {} ?● 可以動態生成 | ||||||||||||||||||||||||||||||
| ?函數的屬性(property) | ?
? | ||||||||||||||||||||||||||||||
| ?添加自定義屬性 | ? function test() {...}
test.newProperty = "sample"; // 和其他對象添加屬性一樣寫法 ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?高階函數 | |||||||||||||||||||||||||||||||
| ?定義 | ?以函數為參數或返回值的函數 | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?回調函數 | |||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ?ES6關于函數的擴張 | |||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
| ? | ? | ||||||||||||||||||||||||||||||
?
轉載于:https://www.cnblogs.com/lancgg/p/8281703.html
總結
以上是生活随笔為你收集整理的【废弃】【WIP】JavaScript 函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: File IO(NIO.2):路径类 和
- 下一篇: 如何在Spring和Spring MVC