0

我有一个代码,我将在下面给出一个小例子。虽然它所做的是获取用户名,然后检查其他上下文。然后我检查它们之间的对比,我的整个脚本除了这一点之外还可以工作,而且没有任何回旋余地。

  var getName= $('#element').text(),
      uName =getName.replace("Welcome ",""),
      loggedIn = newMember.replace(membersList,"");
         if(loggedIn !== uName) 
         {
          //run other codes
         }

虽然当我这样做时它仍在运行代码。我写的条件错误吗?

4

1 回答 1

2

从您的问题标题中,我假设您担心的是字符串比较loggedIn !== uName受到一个或另一个前导和/或尾随空格的影响。

您需要使用trim(),并且在使用原型之前验证它的存在是明智的(请参阅此答案以获取解释)。

您的代码现在是:

if(!String.prototype.trim) {  
  String.prototype.trim = function () {  
    return this.replace(/^\s+|\s+$/g,'');  
  };  
}

var getName= $('#element').text(),
    uName =getName.replace("Welcome ","").trim(),
    loggedIn = newMember.replace(membersList,"").trim();
      if(loggedIn !== uName) 
       {
        //run other codes
       }
于 2013-05-24T03:39:09.543 回答