javascript的逻辑或||和逻辑与&&问题?

JavaScript014

javascript的逻辑或||和逻辑与&&问题?,第1张

首先要弄清楚isNaN的意思。isNaN是判断是否为非数字,意思是如果不是数字,返回true,例如含有字母时;如果为数字,返回false。其次,你得逻辑是不对的,判断电话号码的时候要求必须是数字并且长度大于11,如果不符合以上条件,因该给提示,因此你想实现的应该是非数字或者长度小于11都给提示,所以应该用||。另外建议用正则表达式验证这些东西。网上有很多例子,自己可以研究一下写一个自己的公共验证JS。

Logical Operator(逻辑运算符)

&&(Logical AND)

如果第一个表达式可以被转换成 false,则返回第一个表达式,否则返回第二个表达式

(Logical OR )

如果第一个表达式可以被转换成 true,则返回第一个表达式,否则返回第二个表达式

因为逻辑表达式都是从左到右解析的,所以他们实现了一个规则叫短路求值(Short-Circuit Evaluation).

doSomething() &&doSomethingElse() 相当于 下面代码:

if( doSomething() ) {

    doSomethingElst()

}

doSomething() || doSomethingElst() 相当于:

if( !doSomething() ) {

    doSomethingElse()

}

在你这个案例中, alpha >100 &&( alpha = 100 )就相当于:

if( alpha > 100 ) {

    alpha = 100

}

同时,因为 &&前后必须是表达式,alpha = 100 并不是表达式,所以需要加括号。

denifednu???? 是undefined,就是未定义,或者申明了但是未赋值.

//alert ("Found a non-ISO-8859-1 character at position: " + (i+1) + ",\nPlease eliminate before continuing.")

这句话不可能alert出来undefined