Web前端:JavaScript函數、作用域及事件
JavaScript學習網站
JavaScript函數
在計算機語言中,函數是一組具有特定功能的,可以重復使用的代碼塊。
內置函數
JavaScript提供了多種在瀏覽器中輸出內容的方法,如下:
alert()函數:彈出提示框
confirm()函數:彈出確認框
document.write()函數:向HTML文檔寫入HTML或JavaScript 代碼
console.log()函數:控制臺輸出內容
下面對內置函數簡單演示,如圖:
提示框:
確認框:
向HTML文檔寫入代碼:
控制臺輸出的內容:F12—>Console
自定義函數
在計算機語言中,自定義函數是自行創建特定功能的代碼塊,需要時進行調用,避免代碼重復編寫,有利于代碼后期的維護。JavaScript中,不僅有內置函數,也有自定義函數。下面對其進行簡單的介紹。
函數的語法
函數聲明
書寫格式:
function 函數名(參數1,參數2...){ 執行的代碼 }
函數的調用
函數定義后,對其調用。
書寫格式:
函數名(); //無參數 函數名('參數值'); //函數中帶有參數,調用時也需要提供對應的參數值
函數的參數默認值
在定義函數時,可以為函數的參數設置一個默認值,當調用時沒有提供參數值,就會默認為這個值。如:
函數的返回值
函數的執行結果可以用return將其值反饋給外界。其中,該值可以是任何類型的。
書寫格式:
return 返回值
注:一個函數只能有一個返回值;return 語句通常在函數的末尾定義,當函數執行 return 語句后會結束運行,并返回到調用函數的地方繼續執行。
函數表達式
函數表達式是聲明函數的形式之一。使用函數表達式可以無需對函數命名,從而實現動態編程。沒有名字的函數表達式稱為匿名函數,也稱拉姆達函數。
書寫格式:
var 變量名 = function 函數名(參數1,參數2,...){ // 執行的代碼 }; 其中,函數名可以省略,如下: var 變量名 = function(參數1,參數2,...){ // 執行的代碼 };
注:函數表達式在表達式的最后以分號結尾;函數聲明無需結尾分號。JavaScript 會優先對函數聲明進行解析,所以調用函數時不分位置的前后;而函數表達式是將匿名函數賦值給變量,程序執行到該表達式后才能生效,調用函數位置放在其后面才不會報錯。 舉例說明:
變量的作用域
變量的作用域,即變量的作用范圍。作用域主要分為全局作用域和局部作用域。
全局作用域
全局作用域指變量在代碼中任意地方都可以訪問,其變量稱為“全局變量”。
舉例說明:
局部作用域
局部作用域也稱為函數作用域,在函數內部就是局部作用域,其聲明的變量被稱為“局部變量”,可用范圍具有局限性。
舉例說明:
事件
在文章JavaWeb:JavaScript語言(一)的動態性特點中提到過,事件(Event),是在網頁中執行了某種操作所產生的動作。如按鈕、文本框、選擇菜單等都可以被視為事件。當事件發生時,可以使用 JavaScript 中的事件-來檢測并執行某些特定的程序。如圖:
注:事件觸發需要與HTML元素的綁定。舉例說明:
JavaScript程序調試
在 JavaScript 開發過程中,查找和修復錯誤的過程稱為調試。
1.打開瀏覽器,按F12進入調試界面:
Elements:用于查看和編輯當前頁面中的HTML和CSS元素
Console:用于顯示代碼中的語法錯誤和運行時錯誤的信息
Sources:用于查看和調試當前頁面所加載的腳本的源文件
Network:用于查看HTTP請求的詳細信息,如請求、響應及返回內容等
打印調試
通過使用 console.log()、document.write()、alert() 等方法來打印程序中各個變量、對象、表達式的值,判斷代碼錯誤的位置。
斷點調試
執行我們選擇的部分代碼,對其進行分析和邏輯處理。按F12—>Sources,點擊序號進行斷點,刷新頁面,點擊直接運行(或按F8),也可以選擇點擊逐行運行(或按F10)。
運行后,點擊 Watch 的 " + " 號,輸入其變量,可以查看其結果。
debugger調試
我們也可以利用debugger 關鍵字在代碼中設置斷點。同樣,按F12—>Sources,刷新頁面便可以進行調試。
Java JavaScript web前端
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。