JS中的函數
函數是一段在一起的、可以做某一件事的程序。也叫做子程序、(OOP中)方法創建函數函數是實現某一個功能的方法
function [函數名]([形參]){} //=>[函數體] //實現功能的具體JS代碼執行函數
函數名();//=>把創建的函數執行,而且這個函數可以執行很多次
在真實項目中,我們一般都會把實現一個具體功能的代碼封裝在函數中:JS中函數的核心原理1、如果當前這個功能需要在頁面中執行多次,不封裝成為函數,每一次想實現這個功能,都需要重新把代碼寫一遍,浪費時間,而封裝在一個函數中,以后想實現多次這個功能,我們就沒有必要在重新寫代碼了,只需要把函數重新的執行即可,提高了開發效率
2、封裝在一個函數中,頁面中就基本上很難出現重復一樣的代碼了,減少了頁面中代碼的冗余度,提高了代碼的重復利用率低耦合高內聚
我們把以上的特點稱為 函數封裝(OOP面向對象編程思想,需要我們掌握的就是類的繼承、封裝、多態)
函數作為js中引用數據類型的一種,也是按照引用地址來操作的
function sum(){ var total=1+1; total*=20; console.log(total.toFixed(2)); } sum();
創建函數
首先會在當前作用域中聲明一個函數名(聲明的函數名和使用var聲明的變量名是一樣的操作: var sum;function sum;這兩個名字算重復了)
瀏覽器首先會開辟一個新的內存空間(分配一個16進制地址),把函數體中的寫好的代碼當做普通的字符串存儲在這個內存空間中(創建一個函數如果不執行,函數沒有意義)
把內存空間的地址賦值給之前聲明的那個函數
函數執行
目的:把之前存儲的實現具體功能的JS代碼執行
函數執行,瀏覽器首先會為其開辟一個新的私有作用域(只能執行函數中之前編寫的JS代碼)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/95865.html
摘要:作用域鏈用于表明上下文的執行順序。當前上下文執行完畢則出棧,執行下一個上下文。 從一個簡單的例子出發 先從一個簡單的例子出發(先不涉及異步),看看自己是否大致了解瀏覽器的執行機制: console.log(a); var a=1; function foo(a){ console.log(a); var a=2; console.log(a); } foo(a)...
摘要:事件循環當主線程中的任務執行完畢后,會從任務隊列中獲取任務一個個的放在棧中執行去執行,這個過程是循環不斷的,所以整個的這種運行機制又稱為事件循環。 寫在前面 說起javascript(以下簡稱js)這門語言,相信大家已經非常熟悉了,不管是前端開發還是后端開發幾乎無時無刻都要跟它打交道。雖說開發者每天幾乎都要操作js,但是你真的確定你掌握了js的運行機制嗎!下面我們就來聊聊這話題。 Ja...
摘要:測試調用斷言的執行后返回斷言被調用斷言被調用了一次斷言傳入的參數為所創建的函數還可以設置返回值,定義內部實現或返回對象。 在本篇教程中,我們會介紹 Jest 中的三個與 Mock 函數相關的API,分別是jest.fn()、jest.spyOn()、jest.mock()。使用它們創建Mock函數能夠幫助我們更好的測試項目中一些邏輯較復雜的代碼,例如測試函數的嵌套調用,回調函數的調用等...
摘要:執行上下文作用域鏈和內部機制一執行上下文執行上下文是代碼的執行環境,它包括的值變量對象和函數。創建作用域鏈一旦可變對象創建完,引擎就開始初始化作用域鏈。 執行上下文、作用域鏈和JS內部機制(Execution context, Scope chain and JavaScript internals) 一、執行上下文 執行上下文(Execution context EC)是js代碼的執...
閱讀 3724·2021-10-12 10:11
閱讀 1992·2019-08-30 15:53
閱讀 1599·2019-08-30 13:15
閱讀 2312·2019-08-30 11:25
閱讀 1809·2019-08-29 11:24
閱讀 1658·2019-08-26 13:53
閱讀 3533·2019-08-26 13:22
閱讀 1775·2019-08-26 10:24