标题:创建Function类型 前面加new和不加new有什么区别?
取消只看楼主
观星
Rank: 2
等 级:论坛游民
帖 子:77
专家分:45
注 册:2008-5-1
结帖率:90.91%
 问题点数:0 回复次数:3 
创建Function类型 前面加new和不加new有什么区别?
下满两段代码执行结果一样,Function 前面 加new和不加new有什么区别
//代码1
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<SCRIPT text/language="JavaScript">

function dwf(s)
{
    document.write(s+"<br/>")
}
var squre=new Function("x","return x*x");

dwf(squre(3));
dwf("testfunction begin")
function testfunction(a,b,c,f)
{
    return f(a,b,c);
}
<BODY>
<SCRIPT text/language="JavaScript">

function dwf(s)
{
    document.write(s+"<br/>")
}
var squre=new Function("x","return x*x");
//这里的Function前加new和不加new有什么区别

dwf(squre(3));
dwf("testfunction begin")
function testfunction(a,b,c,f)
{
    return f(a,b,c);
dwf(testfunction(1,2,3,new Function("a,b,c","return a+b+c")))
//这里的Function前加new和不加new有什么区别
dwf("testfunction end")
document.write("End"+"<br/>");
</SCRIPT>
</BODY>
</HTML>

//代码2
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<SCRIPT text/language="JavaScript">

function dwf(s)
{
    document.write(s+"<br/>")
}
var squre=new Function("x","return x*x");

dwf(squre(3));
dwf("testfunction begin")
function testfunction(a,b,c,f)
{
    return f(a,b,c);
}
dwf(testfunction(1,2,3,new Function("a,b,c","return a+b+c")))
dwf("testfunction end")
document.write("End"+"<br/>");
</SCRIPT>
</BODY>
</HTML>
搜索更多相关主题的帖子: new Function 类型 
2010-03-14 14:18
观星
Rank: 2
等 级:论坛游民
帖 子:77
专家分:45
注 册:2008-5-1
得分:0 
不好意思,第一个代码给错了

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<SCRIPT text/language="JavaScript">

function dwf(s)
{
    document.write(s+"<br/>")
}
var squre=Function("x","return x*x");//这里没有 new

dwf(squre(3));
dwf("testfunction begin")
function testfunction(a,b,c,f)
{
    return f(a,b,c);
}
dwf(testfunction(1,2,3,Function("a,b,c","return a+b+c")))//这里没有 new
dwf("testfunction end")
document.write("End"+"<br/>");
</SCRIPT>
</BODY>
</HTML>
2010-03-15 11:21
观星
Rank: 2
等 级:论坛游民
帖 子:77
专家分:45
注 册:2008-5-1
得分:0 
这里我自问自答啦,刚刚找到了答案,

作为类型来看,Function 是构造函数,可以通过字符串动态构造出函数对象。

如果把 Function 作为函数来看待,即省略NEW 操作符,可以得到同样的效果

在 JavaScript 中,Function即是函数,也是类型,是所有函数的类型
2010-03-15 16:03
观星
Rank: 2
等 级:论坛游民
帖 子:77
专家分:45
注 册:2008-5-1
得分:0 
回复 4楼 foktime
呵呵,我见过一些例子,发现这样创建函数的方法也挺有用的

Function构造用于动态生成函数的脚本,可以方便的由字符串生成函数
2010-03-16 08:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-299386-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.174665 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved