如何将变量传递给匿名函数。我想将几个变量传递给一个匿名函数,基于该函数,它将创建一个新的字符串。 在此代码中,我想传递url,timestamp,id和plan。
<script>
jQuery(document).ready(function() {
console.log("check")
var newUrl=url+'?id='+id+'×tamp='+timestamp+'&plan='+plan;
console.log(newUrl);
createStoryJS({
type: 'timeline',
width: '1250',
height: '240',
source: newUrl,
embed_id: 'my-timeline'
});
});
</script>
答案 0 :(得分:1)
ready处理程序的参数由jQuery传递,并设置为jQuery对象(请参阅https://api.jquery.com/ready/&gt;别名jQuery命名空间)。因此,您无法将其传递到上述代码中的函数声明中。
您可以将其设置为全局对象或设置表单域,然后从函数内部读取它。后者的小提琴 - http://jsfiddle.net/eqz7410c/
HTML
<form>
<input id="b" type="hidden" value="123" />
</form>
JS
$(document).ready(function() {
alert($("#b").val())
});
答案 1 :(得分:1)
您可以声明具有全局范围的变量,并在函数调用中使用它,如下所示
var globalVar = 1;
jQuery(document).ready(function() {
console.log(globalVar);
});
答案 2 :(得分:0)
首先,当jQuery(document).ready(function() {});
准备好被访问时,id
将成为文档的入口点。有几种方法可以解决这个问题。
这个想法是你不需要传递任何东西,只需使用你在这个匿名函数中创建的资源。
我想将几个变量传递给一个匿名函数,基于 功能,它会创建一个新字符串。
我不建议你使用全局变量。您可能从中获取timestamp
,plan
和newUrl
的值的函数应该返回您可以在文档就绪函数中分配给function returnUrl(){
// code to calculate id, timestamp and path..
// ....
// ....
return url+'?id='+id+'×tamp='+timestamp+'&plan='+plan;
}
jQuery(document).ready(function() {
// DOM ready to access..
console.log("check")
var newUrl = returnUrl();
console.log(newUrl);
createStoryJS({
type: 'timeline',
width: '1250',
height: '240',
source: newUrl,
embed_id: 'my-timeline'
});
});
的sting本身。您也可以使用closure。
:%s/