它说:TypeError:myFunc不是函数
我希望输出为"我很高兴,哈哈!"。
我在JS中学习回调函数。
WHERE CAST(UF.UF.InsertDateTime as DATE) = DATEADD(DAY, T.i, CAST(GETDATE() as DATE) ) AND
UF.IsFollowed = 1 AND
(U.IsMUser = 1 OR U.IsFUser = 1)
答案 0 :(得分:1)
试试这个:
emotions("happy", laugh);
你遇到了这个问题,因为你没有传递函数本身,但它是作为参数的结果。执行laugh()
时,您正在运行该函数,而不是使用它的引用,因此,您将传递它的结果。
调用将在emotions
函数内执行laugh(2)
,这是正确的方法。
function emotions(myString, myFunc) {
console.log("I am " + myString + ", " + myFunc(2));
}
var laugh = function(val) {
var ha="";
for(var i=0;i<val; i++) {
ha=ha+"ha";
}
return ha;
};
console.log(emotions("happy",laugh));