关于javascript:参数的区分大小写?

Case sensitivity of argument?

本问题已经有最佳答案,请猛点这里访问。

有没有办法把区分大小写和论点结合起来?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
   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/

事先谢谢。


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

1
2
3
4
5
"isFromTown" : function(n, caseSensitive){
    return caseSensitive
      ? this.town == n
      : this.town.toLowerCase() == n.toLowerCase();
}

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


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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
return (this.town.toUpperCase()) === (n.toUpperCase());