在jquery中传递变量
将var full传递给函数b的最佳方法是什么? 我不想使用全局变量。 返回是唯一的选择。
.aaa, .bbb, .ccc { width:100px; height:100px;background-color:#ccc;margin-bottom:5px;} $("body").click(function(e){ var name = $(e.target)[0].nodeName; var nameid = $(e.target)[0].id; var classname = $(name+"#"+nameid).attr('class'); var full = name+"#"+nameid; console.log(nameid); function b(){ alert(full); }; });
您可以通过如下定义将变量传递给函数:
function b(x) { alert(x); }
然后通过声明其名称并将变量作为参数传递来调用它:
b(full);
所以在你的代码的上下文中:
$("body").click(function(e){ var name = $(e.target)[0].nodeName; var nameid = $(e.target)[0].id; var classname = $(name+"#"+nameid).attr('class'); var full = name+"#"+nameid; console.log(nameid); function b(x){ alert(x); }; b(full); });
争论? 这里有什么东西我不见了?
function b(x){ alert(x); };
打电话给
b(full);
// define b function b(full) { alert(full); }
实际上,您没有使用全局变量。 您在绑定到body元素的JQuery匿名函数中定义它们。
除非你不希望函数b存在,或者在click函数之外使用,否则我会将它移到匿名函数之外。 然后只需在定义中指定参数,然后像普通一样传递它们
例