为什么下面的代码不应该将标题设置为小写,从而导致第二个if语句失败?
var title = 'RANDOM_LETTERS';
if(title.toLowerCase() == 'random_letters')
{
//This will fire
}
if(title == 'RANDOM_LETTERS')
{
//This will still fire as the variable was not saved to lowercase
}
您没有更改变量的值。您可以通过打印出每一步的变量值来证明这一点。
var title = 'RANDOM_LETTERS';
console.log(title);
// Here, title is "RANDOM_LETTERS"
if(title.toLowerCase() == 'random_letters')
{
console.log(title);
// Here, title is still "RANDOM_LETTERS"
}
console.log(title);
// Here, title is "RANDOM_LETTERS"
if(title == 'RANDOM_LETTERS')
{
//We get to this line, our title is still "RANDOM_LETTERS"
}
根据文档 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase),使用此方法的字符串值不受影响。