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> 展开
<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> 展开
3个回答
展开全部
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", "...");
展开全部
function call (first, second, third)
{
first (second, third);
}
var func = new Function("x","y","alert(x+y+10);")
call(func, 10, 20);
{
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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
社炒锅在挺像
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询