這篇文章主要介紹JavaScript如何使用Function()構造函數,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都網站設計、成都網站制作、江油網絡推廣、微信小程序定制開發、江油網絡營銷、江油企業策劃、江油品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯公司為所有大學生創業者提供江油建站搭建服務,24小時服務熱線:18980820575,官方網址:www.yijiale78.com
Function()構造函數
先看代碼:
var f = new Function("x","y","return x+y"); //Function()構造函數 var f = function(x,y){return x+y}; //這兩條代碼是等價的
通過這個方法我們可以傳入任意數量的字符串實參,而且最后一個實參所表示的文本是函數體,這個方法它是可以包含任意數量的JavaScript語句的,而且在使用的時候如果構造的函數不包含任何參數的話,我們只需要輸入一個函數就可以了。這個方法和其他兩個方法是不一樣的,這個方法是允許JavaScript在運行的時候動態地創建翻譯函數,而且我們每次在調用這個方法的時候函數都會進行解析函數體。所以在多次使用或者循環使用的話,效率是會受到影響的。相比之下循環中的嵌套函數和函數定義表達式就不會每次執行的時候進行重新編譯。
對于這個構造函數還有一點是值得我們注意的,那就是它所創建的函數并不是使用詞法作用域,都因為函數體代碼在編譯的時候總在頂層函數執行,代碼如下所示:
var a = 3; //在頂層函數中聲明變量a function f(){ var a = 2; //在函數體內聲明局部變量a return new Function("return a*a;"); //無法捕獲局部作用域 } console.log(f()()); //控制臺輸出9而非4,說明構造函數的編譯在頂層函數執行
那么對于這個問題我們可以在全局作用域中進行執行eval()。
以上是“JavaScript如何使用Function()構造函數”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!
文章題目:JavaScript如何使用Function()構造函數
分享路徑:http://www.yijiale78.com/article30/ihdpso.html
成都網站建設公司_創新互聯,為您提供微信公眾號、網站內鏈、定制開發、App開發、、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯