这段javascript代码中引号为啥要这么放求解析

javascript语法中,“单双引号”都会被识别为字符串的标识第一个单引号是字符串开始标识,下文的第二个单引号就是字符串结束标识双引号同理,但是必须是“同种引号”才能进行字符串的识别而在字符串引号内部内的“另一种引号”和“转义后的引号”——不会被识别为字符串但是同种的引号就会造成字符串的提前结束,例子如下col4.innerHTML="\u0026lt;input name="del"\u0026gt;"//此语句会被识别为"\u0026lt;input name="和"\u0026gt;"两个字符串,HTML属性的双引号导致字符串提前结束所以如果想在字符串里使用引号:两层引号的嵌套,需要单双引号同时使用两层以上的话,就需要用到转义字符 —— \\",\\\u0026#39;它们不会被识别为字符串的开始或结束,但是在字符串中会被---拆分一下你的代码这个js语句创造了一个带有动态属性的"input"DOM节点用字符串表示并附给col4对象动态元素的加入是通过的字符串的拼接加入col4.innerHTML = "\u0026lt;input name=\u0026#39;del" + row_index + " \u0026#39;type=\u0026#39;button\u0026#39; value=https://www.zhihu.com/u0026#39;删除/u0026#39; onclick = //" delRow(\u0026#39;row " + row_index + " \u0026#39;)\\" /\u0026gt; "\u0026lt;input name=\u0026#39;del{row_index}\u0026#39; type=\u0026#39;button\u0026#39; value=https://www.zhihu.com/u0026#39;删除/u0026#39; onclick="delRow(\u0026#39;row{row_index}\u0026#39;)"/\u0026gt;//这是创建的input元素本来的样子,{}里面为动态元素引入元素中字符串的识别采用双引号name,type和value属性的标识采用单引号而在onclick属性达成了三层嵌套第一层,作为innerHTML属性值字符串的标识第二层,转义双引号作为onclick属性的标识第三层,单引号作为deRow( )函数的字符串参数的标识其实在创造节点情况下,innerHTML属性是个不好用的属性因为它不算是一个精确的DOM操作,在此情况下语句难以阅读像createElement这样的精确DOM操作就会使语句更容易阅读


    推荐阅读