在JS的世界里, 0、-0、null、""、false、undefined 或 NaN,这些都可以自动转化为布尔的 false,那么字符串的"false"呢,if("false") 来判断的话,是等于true的。即:
Boolean(undefined) // false
Boolean(null) // false
Boolean(0) // false
Boolean(-0) // false
Boolean(’’) // false
Boolean(NaN) // false
对于如下:
Boolean(1) // true
Boolean(‘false’) // true
Boolean([]) // true
Boolean({}) // true
Boolean(function () {}) // true
Boolean(/foo/) // true
最终可以这样解决:
var isAuth == 'true' ;
if(Boolean(isAuth) === 'true') ; 结果为true
var isAuth == 'false' ;
if(Boolean(isAuth) === 'true') ; 结果为false