字符串拼接操作

js_DOM书里面有这样一个代码,为了避免硬编码提高函数复用,就把变量替换之前的固定数值!可是,引号引号,好迷啊
不过还好鱼神有仔细指导哦

var repeat = "moveElement('"+element+"',"+final_x","+final_y","+interval+")";

element与其他变量不一样,多了单引号?
因为是字符串,所以需要引号;其他3个变量应该都是number,boolean类型
因为这个elementID可能不是一个字符串,可能是一个数字
所以加一个引号,把它强制转换成字符串
var elementID = 123;
….’” + elementID + “’…… = ……’123’…….

就是这个意思

而上面成对的引号的问题,其实更简单

把它的变量全部替换一下

例如
var elementID = 123;
var final_x = 111;
var final_y = 222;
var interval = 333;
那上面那个就是
“moveElement(‘123’, 111, 222, 333)”

可能它这个方法第一位需要一个字符串而不是数字,所以加了单引号吧

假设我有一个方法foo(),它里面需要传入一个字符串string
那就是foo(“我的字符串”)

而如果你是foo方法不是这么执行的,例如用eval,那就是下面这样
eval(” foo( ‘我的字符串’ ) “)
可以看到,我的字符串这几个字,因为是字符串类型,所以必须用引号引起来

而假设“我的字符串”是一个变量
比如var str = “我的字符串”

那这个怎么写?

eval(” foo( ” + str + ” ) “) 这样?
还是eval(” foo( ‘” + str + “’ ) “) 这样

答案是两种都可

发布了52 篇原创文章 · 获赞 3 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_26327971/article/details/68931268