您好,请看下面的代码
var vsize; //global variable
function veg7() {
vsize = 7;
}
function veg10() {
vsize = 10;
}
function getCBP() {
if (vsize == 7) {
alert(vsize);
} else {
alert(vsize);
}
}

<input type="button" onclick="getCBP()" value="getCBP()">
<div class="main-menu">
<ul style="padding-left:13px; position:relative;top:41px;margin-bottom:0px;">
<li>
<a href="#" onclick="veg7()">7" Veg</a>
</li>
<li>
<a href="#" onclick="veg10()">10" Veg</a>
</li>
<li>
<a href="#" onclick="nonveg7()">7" Non Veg</a>
</li>
<li>
<a href="#" onclick="nonveg10()">10" Non Veg</a>
</li>
<li>
<a href="#" onclick="pizaxx()">Pizaxx</a>
</li>
<li>
<a href="#" onclick="sideOrder()">Side Orders</a>
</li>
</ul>
</div>
&#13;
如果任何事件访问函数veg7()或函数veg10()(它是动态的)并相应地更改vsize的值,那么为什么我将vsize作为未定义。
请帮助我..我需要在getCBP()中使用vsize的值。
答案 0 :(得分:2)
未定义,但声明。
在为变量vsize
赋值之前,您正在执行函数。
您应该在运行var vsize = 0
之前声明veg
(或任何值),或运行getCBP
个功能之一。
答案 1 :(得分:1)
尝试var vsize = -1;
如果现在看到-1
而不是undefined
,则表示您的函数永远不会被调用。
注意:我正在使用-1
,因为这比“0”更容易被发现为“错误”。