0

文字列をラップ関数に変換する方法を知りたいです。

文字列関数データが​​あります

var a = new String("alert(turned)");

そして、 a をラップされた関数に変えたい

a = function(){ a }; // failed

a = function(){ eval(a) };  // failed

var b = a;

a = function(){ eval(b) } // success

a をラップされた関数に変換するために、人々が一般的に何をするかを知りたいです。

アドバイスありがとうございます。

4

2 に答える 2

3

newこのようなキーワードで関数コンストラクターを使用することもできます。

var a = new String("alert('hello')");
a = new Function(a)
a()

「こんにちは」という警告ボックスが表示されます

引数を受け取るこのメソッドを使用して、新しい関数を作成することもできます。ここを参照してください https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function

ただし、関数に変換するものには注意が必要です。ユーザーがコードを実行できるようにしたくない。

于 2013-02-24T05:00:42.670 に答える
1
var a = eval (" return function() { alert('yo')}; ");

しかし、しないでください

于 2013-02-24T04:56:50.127 に答える