JS基礎學習05

2022-08-20 01:36:08 字數 1491 閱讀 7861

1 無參無返回值:常用於**的復用,或是功能**段。

2 無參有返回值:函式被呼叫後的返回值與呼叫者無關。

function f1()

3 有參無返回值:函式設有引數,但是沒有特定的返回值。

function sayhi(name)

4 有參有返回值(js中最多使用的型別)

function getmax(arr)

function getsum(a,b,c)

var sum = getsum(10,20);

console.log(sum);

如上述**宣告了兩個函式名相同但是函式的引數數量不一樣的函式,最終**會輸出nan,即選擇了第二個函式進行了呼叫執行。(注意:這個函式中c未賦值,所有函式預設c為undefined,轉換為number型別資料就是nan。nan參與運算後的結果還是為nan。)

指將乙個函式通過賦值給乙個變數的方式宣告函式,這個函式沒有函式名。在呼叫函式時可以通過變數名+()的形式呼叫變數名對應的函式。

var fun = function(a,b);

fun(50,70);

匿名函式就是沒有函式名的函式,在使用函式表示式的方式宣告的函式就是匿名函式。

1 函式的宣告方式中的函式有函式名;

2 函式表示式的方法中的函式沒有函式名,是匿名函式;

3 在函式預解析的時候,會先將函式宣告提前到作用域的最前面,而函式的表示式不會提公升;

4 函式宣告方式中的函式,可以先呼叫再宣告,但是函式表示式方式的函式必須在函式表示式語句之後才能被呼叫。

在程式的執行**之前,會將所有的**掃瞄一遍,將所有變數的宣告、函式的宣告、函式的引數提公升到當前作用域的最前面,這時通過函式宣告方式宣告的函式會整個提公升,但是通過函式表示式宣告的函式只能將變數的宣告部分提公升,而函式的表示式部分還留在原**位置未提公升,所有如果在函式表示式之前呼叫函式的話,程式會報錯提示這個變數沒有定義值。

自執行函式指可以自己執行的函式。

(function())();

(function()());

這是兩個自執行函式的表達方式。自執行函式沒有函式名,函式在定義之後馬上進行呼叫。

這種函式多用於一次性使用的時候,避免了函式名的重複和衝突。

js中只存在全域性作用域和區域性作用域,沒有塊級作用域。

若在{}之間包裹的區間中單獨宣告了變數,且這個變數無法在{}區間外被呼叫的話,這個變數就是塊級變數,而{}區間就是塊級作用域。

而在js中不存在塊級作用域。如:

console.log(m);

在js中可以在{}區間外讀取到{}區間內宣告的變數。

指變數可以在任何地方被讀取到,則這個變數就是全域性變數,而全域性作用域就是指在頁面中所有script標籤之間的區域。

全域性變數有兩種:

1 全域性作用域內宣告的變數。

2 在函式內部除函式引數以外,不使用var定義的變數,也是全域性變數。

如在乙個函式內宣告的變數,無法在這個函式範圍以外的地方被讀取,就說明這個變數為區域性變數,而這個函式就是乙個區域性作用域。

unity基礎學習05

滑鼠鍵盤輸入 1.獲取鍵盤輸入 1.相關 input.getkey 按下某鍵後,持續返回 true input.getkeydown 按下某鍵的一瞬間,返回 true input.getkeyup 抬起某鍵的一瞬間,返回 true 返回值 bool 型別 引數 keycode 列舉 enum key...

py web學習筆記05 JS

1.js中的語句 1.1while語句和do while語句 語法 while語句 初始化表示式 while 條件表示式 while 條件表示式 演示 1.2簡單for語句和for in語句 語法 簡單for語句 for 表示式1 表示式2 表示式3 迴圈體 說明 a.表示式1 初始化表示式 b.表...

JS學習 day05 陣列

一 陣列定義 1 一系列有序 索引 的資料集合。2 格式 資料1,資料2,3 建立方式 1 字面量 賦值式 var arr 1,2,3 2 內建建構函式建立陣列 var arr new array 1,2,3 注意 當括號裡只有乙個資料時,表示陣列長度 length 4 陣列長度length表示陣列...