簡體   English   中英

Javascript從字符串創建函數

[英]Javascript create function from string

我需要從字符串“解析” /創建JS函數。 可以說:

var str = "function(data,type,full,meta){ return'works';}";

我嘗試使用javascript eval(str)函數,但嘗試此操作時總是從控制台收到此錯誤

eval(str)

未捕獲到的SyntaxError:意外令牌(

VM:2323:1

我沒有看到語法有任何問題。

那是因為沒有什么東西迫使它被解析為一個函數表達式,所以它被解析為一個函數聲明。

函數聲明需要一個名稱。 根據功能定義

  : function  (  opt ) {  }  : function  opt (  opt ) {  } 

一個簡單的解決方法(如果您確定字符串具有正確的語法)將其括在括號中。 然后將其解析為函數表達式。

eval('(' + str + ')')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM