我正在检查两个字符串的相等性,无论它们的大小写和空格如何。
我正在使用此代码:
var reqstr = 'Test ' ;
var requested_data_one = 'Test ' ;
var checkequality = reqstr.toUpperCase().tri === requested_data_one.toUpperCase().trim();
if(checkequality){
alert('yes');
} else {
alert('no');
}
如图所示,我故意给出
tri
而不是trim()
,但是为什么它没有引发错误?这是我的小提琴http://jsfiddle.net/dpL73v2y/
请让我知道这是否有效。
最佳答案
因为JavaScript将tri
解释为返回的大写字符串对象的属性。不存在这样的属性,但是如果您尝试检索不存在的属性,JavaScript不会出错-它只会返回undefined。
"foo".toUpperCase().bar; //undefined