重工电子论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 6882|回复: 2
打印 上一主题 下一主题

[其他] JavaScript那些事情

[复制链接]

299

主题

684

帖子

7009

积分

学生管理组

Rank: 8Rank: 8

积分
7009
跳转到指定楼层
楼主
发表于 2016-11-1 23:23:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
111111
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

299

主题

684

帖子

7009

积分

学生管理组

Rank: 8Rank: 8

积分
7009
沙发
 楼主| 发表于 2016-11-1 23:36:54 | 只看该作者
今天晚上被卡惨了。事情最终简化成这样的形式
[JavaScript] syntaxhighlighter_viewsource syntaxhighlighter_copycode
   var  temp;
   $.post('Server.aspx', { id: idValue }, function (text, status) { temp=status});
   
   if(temp==""){
        alert("temp是空哦");
    }
   else if(temp==0){
        alert("temp是0哦");
    }

我后台明明返回的变量给temp赋值过后是0。我在页面上面下断点查看了是0,结果。。。老是输出"temp是空哦",把我卡惨了。
哥研究了一晚上,中途还在实验室打了下97格斗的游戏清醒头脑,最终解决。
在JS里面

  1. 0     是逻辑的   false
  2. 1     是逻辑的   true
  3. 空字符串是逻辑的 false
  4. null  是逻辑的   false
  5. NaN   是逻辑的   false

  6. 因此可以得出结论
  7. 空字符串是逻辑的 false == 0是逻辑的false
  8. false==false 肯定是对的!
复制代码

下次遇到这种问题,首要的解决方法是,找答案么?不是的,首要的解决办法是 “更换后台传回来的变量,不要让它成为0,这样才有开发效率”;
回复 支持 反对

使用道具 举报

12

主题

130

帖子

470

积分

版主

Rank: 7Rank: 7Rank: 7

积分
470
板凳
发表于 2016-11-3 13:49:35 | 只看该作者
小问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|cqutlab ( 渝ICP备15004556号

GMT+8, 2024-12-22 16:29 , Processed in 0.158740 second(s), 28 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表