参数的区分大小写?

时间:2016-08-31 11:19:41

标签: javascript

有没有办法将区分大小写与参数一起传递?

   var user = {
  'name' : 'Jim',
  'lastName' : 'Xydas',
  'fullName' : function(){
    return this.name + " " + this.lastName
  },

  'address' : {
    'country' : "Greece",
    'town'    : "Thessaloniki",
    'street'  : "il.ap 15",

    "isFromTown" : function(n){
        return this.town == n ? true : false;
    }
  }
};

var checkUser = user.address.isFromTown("thessaloniki");

console.log(checkUser);

我在这里尝试做的是将论证作为" thessaloniki"并打印为true,忽略第一个(或更多)大写字母。

https://jsfiddle.net/DimitriXd4/mfpat7so/

提前致谢。

3 个答案:

答案 0 :(得分:3)

您可以将String#toLowerCase()String#toLocaleLowerCase用于两个字符串进行比较。

var user = {
    'name' : 'Jim',
    'lastName' : 'Xydas',
    'fullName' : function() {
        return this.name + " " + this.lastName
     },
    'adress' : {
        'country' : "Greece",
        'town'    : "Thessaloniki",
        'street'  : "il.ap 15",
        "isFromTown" : function(n){
            return this.town.toLocaleLowerCase() == n.toLocaleLowerCase();
        }
    }
};

var checkUser = user.adress.isFromTown("thessaloniki");

console.log(checkUser);

答案 1 :(得分:3)

当然,只需传递另一个参数

"isFromTown" : function(n, caseSensitive){
    return caseSensitive 
      ? this.town == n 
      : this.town.toLowerCase() == n.toLowerCase();
}

https://jsfiddle.net/mfpat7so/1/

答案 2 :(得分:2)

在功能

中使用以下代码段

return (this.town.toUpperCase()) === (n.toUpperCase());