声明:本人对前端不会很熟悉,各种框架也不会,只会写一点原生js,jq。你敢嘲笑我,我丢你老某。
例如:
var user = users;//json数组
var uuid = abcdefg;
var text = '<select id =changeuser-'+ uuid +'>';
for(var i=0; i<users.length; i++){
text += '<option value ="'+users[i].name+'">'+users[i].name+'</option>';
}
text += '</select>';
其中:'<option value ="'+users[i].name+'">'+users[i].name+'</option>'
不能写成:'<option value ='+users[i].name+'>'+users[i].name+'</option>';
否则会报错,变量拿不到值。必须单双引号相互包裹。
难道前端也有双引号解析变量的操作???
再看一个例子:
html('<a onclick=changeuser("'+user+'") class="form-control">保存</a>'); //正确
html('<a onclick=changeuser('+user+') class="form-control">保存</a>'); //错误
//一般onclick里面的方法写法上是用双引号包裹的,onclick="changeuser()",不包裹引号也一样正确。
var input = '<input type="checkbox" name="apply" caption="'+user+'" value="周一"/>';//正确
var input = '<input type="checkbox" name="apply" caption='+user+' value="周一"/>';//错误
其中:user为变量的值。
总结:拼接变量时,单双引号必须互相包裹。