为了账号安全,请及时绑定邮箱和手机立即绑定

一道引人深思的JS题目

一道引人深思的JS题目

gumeng812 2017-05-05 14:21:43
这道题……有点意思!~
查看完整描述

4 回答

?
__innocence

TA贡献313条经验 获得超208个赞

if(console.log('hello')){
    console.log('hello');
}else{
    console.log("world");
 }

这种题目前所未见啊

查看完整回答
5 反对 回复 2017-05-05
  • ExiaGo
    ExiaGo
    诶?!求个原理解答,大神。
  • __innocence
    __innocence
    if里面只是执行了一句console,也就是说,if里面不是true,所以就执行了else里面的语句
  • ExiaGo
    ExiaGo
    原来是这样,我还以为 if 里面除了 0 和 FALSE 都是 TRUE 呢,谢谢解答。
?
__innocence

TA贡献313条经验 获得超208个赞

if(setTimeout("console.log('world')",0.5)){
    console.log("hello");
  }else {
 console.log("world");
 }


查看完整回答
2 反对 回复 2017-05-05
?
gumeng812

TA贡献1条经验 获得超1个赞

/*第一种*/
 if(console.log("hello")){
    console.log("hello");
}else {
    console.log("world");
};
/*第二种*/
if(setTimeout(function () {console.log("world");},0) ){
    console.log("hello");
}else {
    console.log("world");
};
/*第三种,重写console.log函数*/
      if(fu = console.log,console.log = function () {fu("hello world")}){
          console.log("hello");
          console.log("a");
      }else {
          console.log("world");
          console.log("a");
      };
/* 第四种算是作弊写法了,可衍生多重方法 */
      if(1){console.log("hello world");fn = console.log;console.log = function(){return}};if(1){
           console.log("hello");
 }else {
           console.log("world");
 };


查看完整回答
1 反对 回复 2017-05-08
  • 慕前端8664132
    慕前端8664132
    你这个第四个方法中的fn没有声明怎么不会报错啊??而且你第二个if里面的console.log("hello")为什么没有执行啊
  • 慕前端8664132
    慕前端8664132
    能解释下为什么fn没声明不会报错呢,而且我直接单单复制你第四方法,单独执行它也不会报错。
?
慕前端8664132

TA贡献20条经验 获得超0个赞

好难啊

查看完整回答
反对 回复 2017-05-05
?
wu_mu

TA贡献1条经验 获得超0个赞

貌似只能用settimeout

查看完整回答
反对 回复 2017-05-05
?
__innocence

TA贡献313条经验 获得超208个赞

 if(
 (function(){
     console.log("helloworld");
     throw SyntaxError();
     })()
     )
{console.log("hello");
}else{console.log("world");}

强行终止函数的运行

查看完整回答
反对 回复 2017-05-05
  • 4 回答
  • 4 关注
  • 2952 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信