javascript中把函数作为参数传递给另一个函数的问题

<html><body><script>functioncall(first,second){first(second);}varfunc=newFunction("x"... <html>
<body>
<script>
function call(first,second)
{
first(second);
}
var func=new Function("x","alert(x+10);") /*
这边的x是参数吗?如果不是参数,那如何确定在call(func,10)中传递给函数func的参数10就是给x的?
将这种形式的函数对象,改写成好理解的普通函数,不是函数对象(待改写对象本身就是函数对象)!
如果我要在函数对象中添加变量y,怎么添加?
*/
call(func,10);
</script>
</body>
</html>
展开
 我来答
百度网友b30ab76
推荐于2017-11-27 · TA获得超过1570个赞
知道小有建树答主
回答量:397
采纳率:100%
帮助的人:484万
展开全部

x是形参。

var func=new Function("x","alert(x+10);")

相当于

var func = function (x) {
    alert(x + 10);
};

如果要添加变量y

var func = new Function('x', 'y', "alert(x + y + 10);");
/* 相当于
var func = function (x, y) {
    alert(x + y + 10);
};

然后call

function call(first, second, third) {
    first(second, third);
};
// call(func, 1, 2);
// x就是1,y就是2
更多追问追答
追问
添加变量y的问题:变量是变量,形参是形参,不一样吧,怎么添加变量的方法和添加形参的方法竟然是一样!改写一段代码:
var x=15;
document.write(x);
将以上代码写成是函数对象的形式怎么写?
追答

首先明确一点

var x = 15;

这句话中x是变量。

然后下面这句

document.write(x);

x是实参。

然后,内置的方法

document.write = function (str) {...};

这其中str是形参。

你把实参和形参都叫为变量也没关系。


把document.write改写成函数对象

document.write = new Function("str", "...");
yugi111
2015-08-05 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
function call (first, second, third)
{
first (second, third);
}
var func = new Function("x","y","alert(x+y+10);")
call(func, 10, 20);
更多追问追答
追问
参数和变量是一样的吗?怎么添加变量的方法和添加参数是一样的?
追答
function call (first, second, third) 
{
first (second, third);
};
var func = new Function("x","y","alert(x+y+10);");
func.call(null, 10, 20);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weixiaolulei
2015-08-05 · TA获得超过427个赞
知道答主
回答量:79
采纳率:0%
帮助的人:49.5万
展开全部
社炒锅在挺像
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式