溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

javascript定義函數的類型有哪些

發布時間:2022-03-13 10:47:17 來源:億速云 閱讀:660 作者:小新 欄目:web開發

這篇文章主要為大家展示了“javascript定義函數的類型有哪些”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“javascript定義函數的類型有哪些”這篇文章吧。

在JavaScript中定義函數的幾種類型:1、利用function關鍵字通過聲明或表達式定義函數,語法為“function functionName(parameters){執行的代碼}”;2、利用函數構造器Function()構造函數。

本教程操作環境:windows10系統、javascript1.8.5版、Dell G3電腦。

javascript定義函數的幾種類型是什么

JavaScript 使用關鍵字 function 定義函數。

函數可以通過聲明定義,也可以是一個表達式。

函數聲明

在之前的教程中,你已經了解了函數聲明的語法 :

function functionName(parameters) {
  執行的代碼
}

函數聲明后不會立即執行,會在我們需要的時候調用到。

函數構造器

函數構造器用于創建一個函數對象,在JavaScript中實際上每一個函數都是一個函數對象。

函數構造器的語法:

new Function ([arg1[, arg2[, ...argN]],] functionBody)

arg1, arg2, ... argN  被用于作為函數正常參數名的變量名字,這些變量名必須是符合JavaScript變量標識規范的表示單個變量的字符串或者以逗號分隔的表示多個變量的字符串,比如"x", "theValue", or "a,b"。

functionBody   包含函數定義的JavaScript語句的字符串。

描述

1.函數對象在函數構造器被解析成為函數的時候被創建。但是這樣會比以函數聲明、函數表達式等方式低效,因為這些函數時通過代碼直接解析的。

2.傳遞給函數構造器的字符串參數都會被當作函數構造器生成函數的變量參數名字,以他們出現的順序作為生成的函數的參數的順序。

3.以函數的方式調用函數構造器(不管用不用new關鍵詞修飾)效果一樣。

例子

// Example can be run directly in your JavaScript console
// Create a function that takes two arguments and returns the sum of those arguments
var adder = new Function('a', 'b', 'return a + b');
// Call the function
adder(2, 6);
// > 8

參數a和b是可以在函數體內使用的正常的參數名字。

生成的函數為:

function (a,b){undefined
  return a+b;
}

關于json解析的一種方式:var json = (new Function("return " + str))();

原理一樣,

生成的函數為:

function toJson(str){undefined
   return str;
}
var str="{'a':1,'b':'abc'}";
toJson(str);

即:function(){return {'a':1,'b':'abc'}}

函數構造器和函數聲明的區別:

用函數構造器創建的函數不會在上下文中創建閉包,它們總是被創建在全局作用域中,當執行被創建的函數時,它們只能使用自己的局部變量或者全局變量,這和eval是不同的。

以上是“javascript定義函數的類型有哪些”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女