javascript中的函数构造函数

javascript中的函数构造函数,javascript,Javascript,HTML: <textarea id="ta" cols="20" rows="20">alert("Hello World");</textarea> <input type="button" value=" Exec " onclick="exec()" /> function exec() { var code=document.getElementById('ta').value; var fn=new Function(code);

HTML:

<textarea id="ta" cols="20" rows="20">alert("Hello World");</textarea>
<input type="button" value=" Exec " onclick="exec()" />
function exec()
{
    var code=document.getElementById('ta').value;
    var fn=new Function(code);
    fn();
}

有人能告诉我代码背后的逻辑是如何显示的吗?
“Hello World”
,我正在看

上述代码是否使用
新函数构造函数为我创建了一个
新警报函数

函数(字符串)
返回一个以
字符串
为主体的函数。该代码获取文本区域中的文本,将其插入函数体,然后运行它。在本例中,代码是单个命令,
alert(“helloworld”)

您可以在一个更简单的示例中进行尝试:

var t = new Function('alert("hello, world")');
t(); // Alerts "hello, world"
Function(string)
返回一个函数,函数体为
string
。该代码获取文本区域中的文本,将其插入函数体,然后运行它。在本例中,代码是单个命令,
alert(“helloworld”)

您可以在一个更简单的示例中进行尝试:

var t = new Function('alert("hello, world")');
t(); // Alerts "hello, world"

首先,您需要知道JavaScript是一种解释语言。这意味着代码是动态计算和执行的

另一件需要知道的事情是,JavaScript中的所有内容都是一个对象,甚至是函数。因此,现在的情况是,使用
document.getElementById('ta').value获取文本,然后使用它构建一个新函数,称为
fn
。然后它被执行


如果您想要真正深入的东西,请查找类似“javascript执行环境”的内容。

首先,您需要知道javascript是一种解释语言。这意味着代码是动态计算和执行的

另一件需要知道的事情是,JavaScript中的所有内容都是一个对象,甚至是函数。因此,现在的情况是,使用
document.getElementById('ta').value获取文本,然后使用它构建一个新函数,称为
fn
。然后它被执行


如果您想要真正深入的东西,请查找“javascript执行环境”之类的内容。

如果我没有错,它会创建一个带有代码警报(“Hello World”)的函数t(),基本上是这样的,我可以查看函数t()中的内容。嗯,函数的内容正是您传递给它的字符串。在您的示例中,文本框的内容是函数的内容。不确定它是否有帮助,但如果由于某种原因,您无法查看函数的构造方式,则始终可以调用类似于
t.toString()
的函数来查看其主体。谢谢。这应该会有很大帮助。如果我没有错的话,它会创建一个带有代码警报的函数t()(“Hello World”),基本上是这样的,我可以看看函数t()中的内容,函数的内容就是你传递给它的字符串。在您的示例中,文本框的内容是函数的内容。不确定它是否有帮助,但如果由于某种原因,您无法查看函数的构造方式,则始终可以调用类似于
t.toString()
的函数来查看其主体。谢谢。这应该会有很大帮助。