js字符串拼接的问题

JavaScript023

js字符串拼接的问题,第1张

首先要明白的是 \ 这个符号的意思是转义,主要是用来区别语法中的字符和普通输出字符的。

你的代码:var str ='<a href="#" onclick="toPage(\'' + id + '\',\'' + name + '\')"></a>'

假设id=1 name=张三 你会看的更加清楚。

' + id + ' ' + name + ' +这个是js的连接符你应该知道,+号两边为什么有 ' 因为a标签两边用的是 ' 标识的字符串,所以要用 ' 号分割变量和字符串,你应该知道的。

这样你的代码就是:

var str ='<a href="#" onclick="toPage(\' 1 \',\' 张三 \')"></a>'

\是要告诉程序 \后的字符按照字符输出 不是系统标签符号。

这样输出就是:<a href="#" onclick="toPage(' 1 ',' 张三 ')"></a>

为什么要转义呢 因为你的onclick事件已经用 “ 双引号了,为了不冲突,所以方法中用的 ' 单引号,但是‘ 单引号又和 整个a标签字符串外的‘ 号冲突了,所以要转义。

最简单的方式就是将每个字符串都变成数组的一个元素,然后用javascript 数组的join方法将这些字符串拼接起来,下面是简单的代码,仅供参考:

var arr = ['a','a','a','a','a','a','a','a','a']

arr.join(' ')    //"a a a a a a a a a"

说一下join方法:

join() 方法用于把数组中的所有元素放入一个字符串。

元素是通过指定的分隔符进行分隔的。

语法:

arrayObject.join(separator)

参数:

separator    可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。  

返回值:

返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入separator 字符串而生成的。

一般都是字符串转化成INT类型: var str = parseInt(str)如果你确定有一个是字符串有一个是数字的话可以直接用“+”连接符var str = a+b当然,如果a,b都是Int那就是加法运算了,所以最好转化一下。a = a.toFormatString()b= b.toFormatString()var str = a+b