亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

我們給定了一個(gè)字符串,需要將其轉(zhuǎn)換為 JavaScript 中的函數(shù)。有時(shí),我們得到字符串形式的數(shù)學(xué)或函數(shù)表達(dá)式,執(zhí)行該表達(dá)式需要將字符串轉(zhuǎn)換為函數(shù)表達(dá)式。在本教程中,我們將學(xué)習(xí)將給定字符串轉(zhuǎn)換為函數(shù)或數(shù)學(xué)表達(dá)式的不同方法。

使用 eval() 方法

eval() 方法將表達(dá)式作為參數(shù)并對表達(dá)式求值。例如,如果我們將“2 + 2”字符串作為 eval() 方法的參數(shù)傳遞,則在計(jì)算數(shù)學(xué)表達(dá)式 2+2 時(shí),它會返回 4。

它還像數(shù)學(xué)表達(dá)式一樣計(jì)算函數(shù)表達(dá)式。

語法

用戶可以按照下面的語法使用 eval() 方法將字符串轉(zhuǎn)換為 JavaScript 中的函數(shù)。

eval("var func = () => { output.innerHTML = 'Hello Users!'; }";);
func(); 

登錄后復(fù)制

在上面的語法中,我們將函數(shù)字符串作為 eval() 方法的參數(shù)傳遞。

示例 1

在下面的示例中,我們創(chuàng)建了包含函數(shù)表達(dá)式的字符串。函數(shù)表達(dá)式在網(wǎng)頁上打印消息。

之后,我們將字符串作為 eval() 方法的參數(shù)傳遞,然后我們就像調(diào)用普通函數(shù)一樣執(zhí)行了 func() 函數(shù)。

func() 函數(shù)提供與普通函數(shù)相同的輸出。

<html>
<body>
   <h2>Using the <i> eval() </i> method to convert a string into the function expression in JavaScript. </h2>
   <div id = "output"> </div>
</body>
<script>
   let output = document.getElementById('output');
   let funcStr = "var func = () => { output.innerHTML = 'Hello Users!';}";
   eval(funcStr);
   func();
</script>
</html>

登錄后復(fù)制

示例 2

在下面的例子中,我們創(chuàng)建了對象,對象的 getHeight 屬性包含字符串格式的函數(shù)

我們使用 eval() 方法來計(jì)算 getHeight 屬性的字符串值,并將函數(shù)字符串轉(zhuǎn)換為表達(dá)式后再次將其存儲在 getHeight 屬性中。

之后,我們執(zhí)行了 getHeight() 函數(shù),該函數(shù)返回我們存儲在 height 變量中的高度。

<html>
<body>
   <h2>Using the <i> eval() </i> method to convert a string into the function expression in JavaScript. </h2>
   <div id = "output"> </div>
</body>
<script>
   let output = document.getElementById('output');
   let object = {
      name: "Shubham",
      "getHeight": "function func() { return '6 Feet';}",
      age: 22,
   }
   object.getHeight = eval("(" + object.getHeight + ")");
   let height = object.getHeight();
   output.innerHTML += "The height is " + height + "<br/>";
</script>
</html>

登錄后復(fù)制

使用函數(shù)構(gòu)造函數(shù)

Function() 構(gòu)造函數(shù)允許我們從字符串創(chuàng)建一個(gè)函數(shù)。 Function() 構(gòu)造函數(shù)可以帶 N 個(gè)參數(shù)。 Function constructor()的前N-1個(gè)參數(shù)作為要創(chuàng)建的函數(shù)的參數(shù),第N個(gè)參數(shù)為函數(shù)表達(dá)式

語法

用戶可以按照以下語法使用 Function() 構(gòu)造函數(shù)從字符串創(chuàng)建函數(shù)。

let func = new Function(expression); 

登錄后復(fù)制

在上述語法中,func 是使用 Function() 構(gòu)造函數(shù)創(chuàng)建的。表達(dá)式是包含函數(shù)表達(dá)式的字符串。

示例 3

在下面的示例中,我們創(chuàng)建了表達(dá)式字符串。我們還在表達(dá)式字符串中使用 eval() 方法評估數(shù)學(xué)表達(dá)式。

之后,我們像普通函數(shù)一樣調(diào)用 func() 函數(shù),用戶可以觀察輸出

<html>
<body>
   <h2>Using the <i> Function() </i> constructor to convert a string into the function expression in JavaScript. </h2>
   <div id = "output"> </div>
</body>
<script>
   let output = document.getElementById('output');
   let expression = "output.innerHTML += 'The value of 10 + 10 is ' + eval(10 + 10);";
   let func = new Function(expression);
   func();
</script>
</html>

登錄后復(fù)制

示例 4

在下面的示例中,我們已將多個(gè)參數(shù)傳遞給 Function() 構(gòu)造函數(shù)。前三個(gè)參數(shù)用作作為第四個(gè)參數(shù)傳遞的函數(shù)表達(dá)式的參數(shù)。

我們打印函數(shù)表達(dá)式中的參數(shù)值。在輸出中,用戶可以看到它打印了參數(shù)的默認(rèn)值,因?yàn)槲覀冊谡{(diào)用 concatString() 函數(shù)時(shí)沒有傳遞任何參數(shù)。

<html>
<body>
   <h2>Using the <i> Function() </i> constructor to convert a string into the function expression in JavaScript. </h2>
   <div id = "output"> </div>
</body>
<script>
   let output = document.getElementById('output');
   let expression = "output.innerHTML += 'The value of param1 + param2 + param3 is ' + param1 + param2 + param3;";
   let concatString = new Function("param1 = 'Welcome '", "param2 = 'To the '", "param3 = ' TutorialsPoint!'", expression);
   concatString();
</script>
</html>

登錄后復(fù)制

在本教程中,我們學(xué)習(xí)了使用兩種不同的方法將字符串轉(zhuǎn)換為函數(shù)表達(dá)式。在第一種方法中,我們使用了 eval() 方法,我們可以使用它來計(jì)算 JavaScript 中的任何表達(dá)式。

在第二種方法中,我們使用了 Function 構(gòu)造函數(shù),它將函數(shù)參數(shù)和函數(shù)表達(dá)式作為參數(shù)來創(chuàng)建一個(gè)新函數(shù)。

以上就是如何在 JavaScript 中將字符串轉(zhuǎn)換為函數(shù)?的詳細(xì)內(nèi)容,更多請關(guān)注www.92cms.cn其它相關(guān)文章!

分享到:
標(biāo)簽:中將 函數(shù) 如何在 字符串 轉(zhuǎn)換為
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定