Javascript if子句获胜';行不通
我遇到了javascript函数的问题,它需要考虑全局变量 这是一种我想要实现的控制机制,但我似乎无法正确实现 这是相关代码Javascript if子句获胜';行不通,javascript,variables,Javascript,Variables,我遇到了javascript函数的问题,它需要考虑全局变量 这是一种我想要实现的控制机制,但我似乎无法正确实现 这是相关代码 <script type="text/javascript"> var active = 0; function SetEndTime(lngOpenPersonID,lngToDoID){ if(active = 0){ alert('Time has been stopped'); } else{ var strURL = 'blabla
<script type="text/javascript">
var active = 0;
function SetEndTime(lngOpenPersonID,lngToDoID){
if(active = 0){
alert('Time has been stopped');
}
else{
var strURL = 'blabla';
CallAJAXURL(strURL);
}
active = 0;
}
function SetStartTime(lngToDoID,lngToDoItemID,bitCountsForTotal){
if(active = 1){
alert('Time has been started');
}
else{
var strURL = 'blabla';
CallAJAXURL(strURL);
}
active = 1;
}
var-active=0;
函数SetEndTime(lngOpenPersonID、lngToDoID){
如果(活动=0){
警报(“时间已停止”);
}
否则{
var strURL=‘blabla’;
CallAJAXURL(strURL);
}
活动=0;
}
函数SetStartTime(lngToDoID、lngToDoItemID、bitCountsForTotal){
如果(活动=1){
警报(“时间已开始”);
}
否则{
var strURL=‘blabla’;
CallAJAXURL(strURL);
}
主动=1;
}
当我在不做任何其他事情的情况下调用SetStartTime时,我总是收到警报。我的语法有问题吗
if (active == 0) {
您需要两个“=”字符才能生成比较运算符。还有==
,它在没有类型提升的情况下执行相等比较
您的代码在语法上是正确的,因为赋值操作是有效的表达式。您的第一条if
语句:
if (active = 0) {
将永远不会为true
,因为表达式的值始终为零。第二条:
if (active = 1) {
相反,它总是真
,因为该值总是一
您需要两个“=”字符才能生成比较运算符。还有==
,它在没有类型提升的情况下执行相等比较
您的代码在语法上是正确的,因为赋值操作是有效的表达式。您的第一条if
语句:
if (active = 0) {
将永远不会为true
,因为表达式的值始终为零。第二条:
if (active = 1) {
相反,它总是true
,因为该值总是一。它不是(警报=1)
。。其(警报==1)
。。您的条件表明它总是正确的——您将警报分配给1它不是(警报=1)
。。其(警报==1)
。。您的情况表明它总是正确的——您将警报分配给1