代码之家  ›  专栏  ›  技术社区  ›  fmsf

javascript中的“和”有什么区别?

  •  61
  • fmsf  · 技术社区  · 15 年前

    我看见了 this question 我想知道在javascript中也有同样的事情。

    如果在JavaScript中创建字符串时使用字符“或”字符,则应用程序的行为似乎相同。那么这两个角色有什么区别呢?

    我在使用“构建字符串”中看到的唯一优势是,我可以执行以下操作:

    var toAppend = '<div id="myDiv1"></div>';
    

    而不是:

    var toAppend = "<div id=\"myDiv1\"></div>";
    

    他们之间有什么值得我注意的区别吗?

    8 回复  |  直到 15 年前
        1
  •  76
  •   Paolo Bergantino    15 年前

    它们在所有意图和目的上都是等价的。如果要在字符串中使用其中一个,最好使用另一个来创建字符串,如您所指出的。除此之外,一切都是一样的。

        2
  •  41
  •   B Robster    11 年前

    尽管在技术上与JavaScript没有区别,但值得注意的是,单引号字符串 not valid JSON ,本身。我认为人们会自动假设,既然JSON是有效的JS,那么有效的JS字符串也是有效的JSON, which isn't necessarily true .

    例如。, {'key': 'Some "value"'} 不是有效的JSON,而 {"key": "Some 'value'"} 是。

        3
  •  19
  •   Philippe Leybaert    15 年前

    没有区别。它存在的原因正是你提到的

        4
  •  3
  •   davidbourguignon    11 年前

    根据Mozilla的说法,好的做法是在HTML中使用“”(在不能使用“”的情况下),而在JavaScript中保留“”(在JavaScript中可以同时使用“”和“”)。

        5
  •  2
  •   shanmuk1729    14 年前

    我认为还有另一个区别。如果您执行以下操作

    var str1 = 'The \' character';
    var str2 = 'The " character';
    var str3 = "The ' character";
    var str4 = "The \" character";
    document.write (str1.replace("'","%26");
    document.write (str2.replace('"',"%22");
    document.write (str3.replace("'","%26");
    document.write (str4.replace('"',"%22");
    

    str1和str4的document.write将失败。这就是区别,但我不知道是否有一个变通办法可以让他们工作。

        6
  •  0
  •   Pang Ajmal PraveeN    6 年前

    试试这个:

    console.log("mama+"mama"")
    
    Output : Uncaught SyntaxError: missing ) 
    after argument list
    

    现在尝试:

    console.log('mama+"mama"')
    
    Output :  mama+"mama"
    
        7
  •  0
  •   Eyal Segal    6 年前

    如上所述,除了在字符串中使用“/”之外,没有什么不同。

    我认为对于需要将字符串与变量连接的情况,更好的做法是使用模板字符串: Price: ${price}, Amount: ${amount}. Total: ${price*amount}

    这就是添加“and”和连接变量的方法。

    读起来容易,写起来容易。

        8
  •  -2
  •   Pang Ajmal PraveeN    6 年前

    警告!!!!!

    这是有区别的。添加到数组时,必须使用其中一个。当使用两种不同类型的引号时,数组会变得混乱。

    例子:

    //WILL NOT WORK
    var array = ["apple","orange","banana"];
    
    array.push('pear');
    
    //WILL WORK
    var array = ["apple","orange","banana"];
    
    array.push("pear");