JS中单引号与双引号的一个区别185

一般Javascript资料里面,很少区分单引号(‘)和双引号(“),认为它们作用相同,今天发现有一处不同点,举例如下:

在一段JS语句中,希望通过编程在网页中动态添加一个命令按钮, 则基本实现语句如下所示 

      var btnOk2=document.createElement("<input type='button' value='确定/>");
      document.body.appendChild(btnOk2);
若要在点击按钮后显示一个提示信息,则要对其onclick事件编程,此时有多种方法可以实现。

1. 添加函数

      onclick=clickOK();//clickOK()为单独定义的函数

      function clickOK(){

         alert("确定");

      }

2. 使用匿名函数

      onclick=function(){alert('确定')};//注意,此处alert内的提示信息应使用单引号,若使用双引号则放入整个input 时语法不正确

3. 直接使用javascript语句,单引号

      onclick='javascript:{alert('确定')';//注意,此语句语法没问题,但却不能正常执行,点击按钮时无结果,具体原因不详,也未深究

4. 直接使用javascript语句,双引号

      由于要放入input语句中,因此alert不能直接使用双引号,使用转义符/完成

      onclick='javascript:alert(/"确定/")';//注意,此语句语法没问题,也能够正常执行

使用第4中方法的完整实例语句如下:

var btnOk2=document.createElement("<input type='button' value='确定 onclick='javascript:alert(/"确定/")'/>");
// //