Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
么是函數?
把一段相對獨立的具有特定功能的代碼塊封裝起來,形成一個獨立實體,就是函數,起個名字(函數名),在后續開發中可以反復調用。函數的作用就是封裝一段代碼,將來可以重復使用。推薦了解黑馬程序員web前端課程。
為什么要使用函數?為了解決代碼的重用!減少代碼量。
函數的分類
系統內置函數 和 程序員自定義函數
定義函數
function 函數名([參數列表]){
函數體
}
結構說明:
·function它是定義函數的關鍵字 不可以省略。
·函數名它的命名規則與變量名是一樣的
·函數名后面緊跟著一對小括號 這一對小括號不能省略
·小括號里面可能有參數,我們將其稱之為形參
·小括號后面緊跟著一對大括號 這一對大括號不能省略
·大括號里面是函數體
注意:函數定義了一定要調用函數
調用函數
格式:
函數名([實參列表])
注意:在定義函數時如果有形參 反過來說 在調用的時候也要有實參 但是這個不是絕對的!
同名函數后面的會將前面的覆蓋
函數一定是先定義后再調用
函數的參數
函數的參數分為兩種:
形式參數和實際參數
形式參數:在定義函數的時候的參數就稱之為形式參數,簡稱“形參”。在定義函數的時候 在函數名的后面的小括號里面給的變量名。
實際參數:在調用函數的時候的參數就稱之為實際參數,簡稱“實參”。
在一個函數中,參數的多少是根據功能來定義的!
使用函數來動態的輸出M行N列的表格
一般在函數體里面不會有輸出語句,只會有一個return關鍵字,將我們要輸出的內容返回給函數的調用者。
·return在英文中表示“返回”的意思
·return關鍵字是在函數體里面使用。
它在函數體使用有兩層含義:
2.它會向函數的調用者返回數據(重點)返回值
格式:return數據;
在調用函數時可以定義一個變量要接收到這個函數的返回值
注意:
我們在以后的工作中,函數體里面盡量不要有輸出語句(document.write alert console.log ),盡量的使用return關鍵字將數據返回給函數的調用者。
特別強調:
·在一個函數里面,return關鍵字可以有多個,但是return只會執行一次;
·return關鍵字它只能返回一個數據,如果需要返回多個數據,我們可以將多個數據使用數組的方式來保存,然后再將數組返回。
匿名函數
什么是匿名函數?
沒有名字的函數 稱之為匿名函數!注意:匿名函數在JS中使用最多。
匿名函數也是需要調用的!
將匿名函數賦值給變量或者是事件
a)將匿名函數賦值給變量,然后通過變量名加上小括號來調用匿名函數
b)將匿名函數賦值給事件 *****
將匿名函數賦值給事件,那么匿名函數什么時候才會執行?它要等到事件觸發了以后,匿名函數才會執行。
什么是變量的作用域?
指變量在什么地方可以使用,什么地方不可以使用。
變量作用域的分類
變量作用域分為:全局作用域和局部作用域。
變量的作用域是通過函數來進行劃分的。
在函數外面定義的變量我們將其稱為全局變量,它的作用域是全局的。
全局作用域: 在任何地方都可以訪問到的變量就是全局變量,對應全局作用域
局部作用域: 在固定的代碼片段內可訪問到的變量,最常見的例如函數內部。對應局部作用域(函數作用域)
問:是否能夠提升局部變量的作用域呢?將局部變量的作用域提升至全局作用域。在函數里面定義的變量也能夠在函數外面訪問到。
只需要將函數里面定義的變量的var關鍵字給去掉就可以實現將局部變量的作用域提升至全局作用域。
但是:并不建議直接就var 關鍵字給省略,我們建議在函數的外面定義一個同名的全局變量。
果您已經開始學習JavaScript了,那是時候了解下基本函數了,本章節為大家分享JavaScript基本函數!
一般來說,函數是經過精心挑選和設計以執行特定任務的子程序。
它是一個對象。要執行一個函數,您將調用它,也稱為調用函數。您還可以將值傳遞給函數以在函數中使用。事實上,函數總是會返回一個值。因此,如果您不指定返回值, JavaScript 函數將返回 undefined。
您可以通過多種方式在代碼中定義 JavaScript函數。首先,您將使用函數聲明。您可以使用關鍵字“function”創建函數聲明,然后添加函數的名稱。當您使用函數聲明時,您將提升函數定義,這將允許您在定義函數之前使用它。
接下來,您有一個任務 JavaScript 函數表達式。這定義了一個匿名或命名的名字 JavaScript 函數。匿名函數是尚未命名的函數。因為函數表達式不能被提升,所以在定義它們之前不能使用它們。
創建函數表達式的較短語法是箭頭函數。這種類型的 JavaScript 函數不會創建自己的值。它僅用于編寫不同的功能。
您可能聽說過“arguments”和“parameters”這兩個術語可以互換使用,這可能會導致您認為它們是同一個東西。雖然這兩個術語在涉及 JavaScript 函數時非常相似,但您應該了解一些非常重要的區別。
參數用于定義JavaScript 函數。這意味著參數是在定義 JavaScript 函數是最初創建的名稱。在進行函數定義時,您可能會傳遞多達 255 個 JavaScript 參數。使用逗號將參數與下一個參數隔開。
當您調用JavaScript 函數時,您正在執行該函數,也稱為調用它。要調用函數,首先添加JavaScript 函數的名稱,后跟兩個括號。為了幫助您更好地理解 JavaScript的這個組件。
如果您當前使用的是Google Chrome,請打開開發者控制臺。這將允許您練習 JavaScript 函數。要打開此開發人員控制臺,請按 Ctrl + Shift + J(對于 Windows)或Cmd + Opt + J(對于 Mac)。
首先,讓我們定義一個名為 logIt的 JavaScript 函數。這個 JavaScript 函數將有一個參數:“city”。執行完此函數后,我們將名稱記錄到控制臺中。它看起來像這樣:
如果你想調用這個函數,你可以調用它并將它傳遞給一個參數。在此示例中,JavaScript 函數名為 Dallas。它看起來像這樣:
如果您的函數沒有任何參數,則可以使用一組空括號來調用它。它看起來像這樣;
在 JavaScript 中,除非您另行指定,否則每個函數都將返回undefined。讓我們通過調用一個空的JavaScript 函數。
在上面的示例中,JavaScript 函數將返回 undefined。要自定義它將返回什么,我們可以使用關鍵字“return”,然后是我們希望它返回的值。
在上面的示例中,我們已經告訴 JavaScript 函數我們希望它返回false。調用此函數允許這種情況發生。這很重要,因為函數返回的值將返回給函數的調用者。
表達式將創建一個 JavaScript 函數,該函數將給出的一個值是什么 num 參數的兩倍的值。然后,您可以調用此 JavaScript 函數并未將返回的值保存到變量中:
注銷此測試值會返回結果為 9。關于 return 語句的另一個重要規則是它會立即停止函數。
函數本質上是一個函數對象。這是一個事實,即如果某些東西不是原始的,那么它就是一個對象。JavaScript對象用途廣泛;它甚至可以讓我們將 JavaScript 中的函數作為參數移動到另一個 JavaScript 函數。
當一個 JavaScript 函數接受另一個參數函數時,這是一個高階函數。無論您目前是否參加了會議 JavaScript 訓練營,您很可能已經在 JavaScript 使用過一個高階函數,但并沒有意識到這一點。這方面的兩個例子是Array.prototype.filter和Array.prototype.mapand。這些只是眾多高階函數中的一小部分。
總結:總而言之,JavaScript 函數是一個對象。它是子程序的一部分,其目標是完成一種特定類型的任務。一個 JavaScript 函數被提升,而一個表達式沒有。要執行 JavaScript 函數,您將調用它,這稱為調用函數。您也可以將值傳遞給函數,以便在函數中使用它,也稱為參數,而其本身的值是參數。一個函數總是會返回一個值,但是 JavaScript 中沒有返回值的函數會以未定義的形式返回。
avaScript 函數語法
函數就是包裹在花括號中的代碼塊,前面使用了關鍵詞 function:
function functionname()
{
這里是要執行的代碼
}
當調用該函數時,會執行函數內的代碼。
可以在某事件發生時直接調用函數(比如當用戶點擊按鈕時),并且可由 JavaScript 在任何位置進行調用。
提示:JavaScript 對大小寫敏感。關鍵詞 function 必須是小寫的,并且必須以與函數名稱相同的大小寫來調用函數。
實例:
調用帶參數的函數
在調用函數時,您可以向其傳遞值,這些值被稱為參數。
這些參數可以在函數中使用。
您可以發送任意多的參數,由逗號 (,) 分隔:
myFunction(argument1,argument2)
當您聲明函數時,請把參數作為變量來聲明:
function myFunction(var1,var2) { 這里是要執行的代碼 }
變量和參數必須以一致的順序出現。第一個變量就是第一個被傳遞的參數的給定的值,以此類推。
實例:
就會彈出:
函數很靈活,您可以使用不同的參數來調用該函數,這樣就會給出不同的消息
實例:
這里就不給截彈框圖了。
帶有返回值的函數
有時,我們會希望函數將值返回調用它的地方。
通過使用 return 語句就可以實現。
在使用 return 語句時,函數會停止執行,并返回指定的值。
語法
function myFunction()
{
var x=5;return x;
}
上面的函數會返回值 5。
注釋:整個 JavaScript 并不會停止執行,僅僅是函數。JavaScript 將繼續執行代碼,從調用函數的地方。
函數調用將被返回值取代:
var myVar=myFunction();
myVar 變量的值是 5,也就是函數 "myFunction()" 所返回的值。
即使不把它保存為變量,您也可以使用返回值:
document.getElementById("demo").innerHTML=myFunction();
"demo" 元素的 innerHTML 將成為 5,也就是函數 "myFunction()" 所返回的值。
您可以使返回值基于傳遞到函數中的參數:
實例:
計算兩個數字的乘積,并返回結果:
"demo" 元素的 innerHTML 將是:12;注釋的求余。
在您僅僅希望退出函數時 ,也可使用 return 語句。返回值是可選的:
function myFunction(a,b) { if (a>b) { return; } x=a+b }
如果 a 大于 b,則上面的代碼將退出函數,并不會計算 a 和 b 的總和。
局部 JavaScript 變量
在 JavaScript 函數內部聲明的變量(使用 var)是局部變量,所以只能在函數內部訪問它。(該變量的作用域是局部的)。
您可以在不同的函數中使用名稱相同的局部變量,因為只有聲明過該變量的函數才能識別出該變量。
只要函數運行完畢,本地變量就會被刪除。
全局 JavaScript 變量
在函數外聲明的變量是全局變量,網頁上的所有腳本和函數都能訪問它。
JavaScript 變量的生存期
JavaScript 變量的生命期從它們被聲明的時間開始。
局部變量會在函數運行以后被刪除。
全局變量會在頁面關閉后被刪除。
向未聲明的 JavaScript 變量來分配值
如果您把值賦給尚未聲明的變量,該變量將被自動作為全局變量聲明。
這條語句:carname="Volvo";
將聲明一個全局變量 carname,即使它在函數內執行。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。