真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript如何使用Function()構(gòu)造函數(shù)

這篇文章主要介紹JavaScript如何使用Function()構(gòu)造函數(shù),文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站設計、成都網(wǎng)站制作、江油網(wǎng)絡推廣、微信小程序定制開發(fā)、江油網(wǎng)絡營銷、江油企業(yè)策劃、江油品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供江油建站搭建服務,24小時服務熱線:18980820575,官方網(wǎng)址:www.cdcxhl.com

Function()構(gòu)造函數(shù)

先看代碼:

var f = new Function("x","y","return x+y"); //Function()構(gòu)造函數(shù)
var f = function(x,y){return x+y}; //這兩條代碼是等價的

通過這個方法我們可以傳入任意數(shù)量的字符串實參,而且最后一個實參所表示的文本是函數(shù)體,這個方法它是可以包含任意數(shù)量的JavaScript語句的,而且在使用的時候如果構(gòu)造的函數(shù)不包含任何參數(shù)的話,我們只需要輸入一個函數(shù)就可以了。這個方法和其他兩個方法是不一樣的,這個方法是允許JavaScript在運行的時候動態(tài)地創(chuàng)建翻譯函數(shù),而且我們每次在調(diào)用這個方法的時候函數(shù)都會進行解析函數(shù)體。所以在多次使用或者循環(huán)使用的話,效率是會受到影響的。相比之下循環(huán)中的嵌套函數(shù)和函數(shù)定義表達式就不會每次執(zhí)行的時候進行重新編譯。

對于這個構(gòu)造函數(shù)還有一點是值得我們注意的,那就是它所創(chuàng)建的函數(shù)并不是使用詞法作用域,都因為函數(shù)體代碼在編譯的時候總在頂層函數(shù)執(zhí)行,代碼如下所示:

var a = 3; //在頂層函數(shù)中聲明變量a
function f(){
var a = 2; //在函數(shù)體內(nèi)聲明局部變量a
return new Function("return a*a;"); //無法捕獲局部作用域
}
console.log(f()()); //控制臺輸出9而非4,說明構(gòu)造函數(shù)的編譯在頂層函數(shù)執(zhí)行

那么對于這個問題我們可以在全局作用域中進行執(zhí)行eval()。

以上是“JavaScript如何使用Function()構(gòu)造函數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


文章名稱:JavaScript如何使用Function()構(gòu)造函數(shù)
網(wǎng)址分享:http://weahome.cn/article/ihdpso.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部