如何从另一个函数中获取var值?
的jQuery :
$(document).ready(function() {
function GetBiggestValue() {
var value = 0;
$('#tagCloud li a').each(function() {
if (value < $(this).attr('value')) {
value = $(this).attr('value');
}
});
var FullValue = value;
}
function Abc(){
console.log(FullValue);
}
Abc();
});
HTML:
<ul id="tagCloud">
<li><a href="#" value="1">Val 1</a></li>
<li><a href="#" value="2">Val 2</a></li>
<li><a href="#" value="3">Val 3</a></li>
<li><a href="#" value="4">Val 4</a></li>
</ul>
答案 0 :(得分:3)
您无法从您自己或父上下文之一的其他上下文中访问变量。 FullValue
变量是GetBiggestValue()
函数的私有变量,因为您使用var
语句来定义变量。在您的情况下,正确的过程是从value
函数返回GetBiggestValue()
(尽管可能会使用GetBiggestValue()
之外的变量来提供另一个解决方案来存储该值。
$(document).ready(function() {
function GetBiggestValue() {
var value = 0;
$('#tagCloud li a').each(function() {
if (value < $(this).attr('value')) {
value = $(this).attr('value');
}
});
return value;
}
function Abc(){
console.log(GetBiggestValue());
}
Abc();
});
答案 1 :(得分:1)
可能你想在任何地方使用这个值。因此,调用GetBiggestValue()函数并为其赋值变量。
function GetBiggestValue() {
var value = 0;
$('#tagCloud li a').each(function() {
if (value < $(this).attr('value')) {
value = $(this).attr('value');
}
});
return value;
}
var FullValue = GetBiggestValue();
function Abc(){
console.log(FullValue);
}
答案 2 :(得分:0)
只需从GetBiggestValue函数返回值:
function GetBiggestValue() {
var value = 0;
$('#tagCloud li a').each(function() {
if (value < $(this).attr('value')) {
value = $(this).attr('value');
}
});
return value;
}
function Abc(){
console.log(GetBiggestValue());
}
答案 3 :(得分:-1)
在函数外面声明
var value = 0;
$(document).ready(function() {
function GetBiggestValue() {
value = 0;
$('#tagCloud li a').each(function() {
if (value < $(this).attr('value')) {
value = $(this).attr('value');
}
});
}
function Abc(){
console.log(value);
}
Abc();
});
或返回值