代码之家  ›  专栏  ›  技术社区  ›  Mutation Person

if(x=y)在JavaScript中是否会返回false或fail?

  •  2
  • Mutation Person  · 技术社区  · 15 年前

    我今天做了一个大胆的声明,在JavaScript中,以下内容将始终返回true:

    if (x=y){
        //code
    }
    

    //code ,不管是什么,都会被处决。

    这是典型的不输入错误 == 甚至 === .

    这个特性也可以用C/C++来演示,但是比JavaScript更强大的类型语言,不难想象这个任务会失败的实例。

    然而,在JavaScript中,给定两个变量 x y ,我在苦苦思索一个ocation,在这个ocation中,这将失败,或者正在进行的条件代码块将不会执行。

    有人吗?

    3 回复  |  直到 15 年前
        1
  •  14
  •   partoa    15 年前

    如果y=0,y=null,y=undefined或y=false,则它(x=y)的值将为false。

    编辑: 如果y=NaN

    如果y=“”

        2
  •  1
  •   Ben Lee    15 年前

        3
  •  1
  •   frayser    15 年前
    js
    js> if(x=y){
    print('hello');
    }
    typein:1: ReferenceError: y is not defined
    js>