我有一个var a=10;
var b=20;
var c=a+b*20;
$("textarea").append( $( "<h2>-z-z-</h2>" ) ); // doesn't work
$('textarea').val('the result ' + c); // works but I want the content after the tag, not in the textarea
$("h3").append( $( "<h2>-x-x-</h2>" ) ); // works on h3 element
功能:
foo
var foo = function(input) {
console.log(input)
}
函数:
bar
我想将var bar = function(fn, condition) {
if (condition) {
fn();
}
}
作为foo
的参数传递,如:bar
问题是必须调用bar(foo, true);
来执行参数。如果我使用foo
,bar(foo('param'), false);
将在foo
开始之前执行并检查条件。
JavaScript语法是否有更好的解决方案?
我知道我可以将bar
功能修改为以下内容,但我不想修改bar
实现:
bar
答案 0 :(得分:2)
您可以使用以下格式:bar(function() { foo(param); },false)
,除非您需要foo函数中的元信息,例如名称,在这种情况下您需要使用function(fn, paramArray, condition)...
方法
请注意,使用新的Javascript功能(例如Arrow functions),您可以使用bar(()=>foo(param),false)
编写相同的内容,但并非所有浏览器都支持此语法。