javascript如何 拼接字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript如何 拼接字符串相关的知识,希望对你有一定的参考价值。

1.对NEWS,NEWS[i]使用局部变量是高效的:
var newsElem =NEWS[i]。NEWS[i].LINK - > newsElem.LINK NEWS[i].TITLE - > newsElem.TITLE

2.同理,对于NEWS.length也应该做缓存, for (var i=0, len= NEWS.length; len > i; i++) //小于符号会被知乎吃掉,反过来写的大于

3.使用join代替字符串拼接这个技巧对于IE6、7有显著性能提升,同时对现代浏览器,没有太过明显的性能损耗,鉴于目前IE6、7市场占有率并不低,且它们的JS引擎执行性能低下,垃圾回策略收策略弱智,这个优化是划算的。
参考技术A var a="abc";
var b="123";
alert(a+b);
输出:abc123
在js里,拼接字符串用+号
参考技术B 使用+号就可以了,例如var a="aaa" ; var b="bbb";var c=a+b,c的结果就是aaabbb 参考技术C @wei521su 正解 参考技术D 用+号!

javascript 中拼接字符串,如何把一段代码拼接起来

ahtml="<script>"+
"var rs1 = new SimpleResize(dragDiv"+obj.name+");"+
"rs1.Set(rRightDown"+obj.name+", 'right-down');"+
"rs1.Set(rLeftDown"+obj.name+", 'left-down');"+
"rs1.Set(rRightUp"+obj.name+", 'right-up');"+
"rs1.Set(rLeftUp"+obj.name+", 'left-up');"+
"rs1.Set(rRight"+obj.name+", 'right');"+
"rs1.Set(rLeft"+obj.name+", 'left');"+
"rs1.Set(rUp"+obj.name+", 'up');"+
"rs1.Set(rDown"+obj.name+", 'down');"+
"</script>";
这样写不对,请高手指教,该如何拼接?

你好,javascript中字符串的拼接使用的是+号连接操作符,另外操作字符串的方法有

字符串其他的调用方法:
s.charAt(0); //第一个字符:“H”
s.charAt(s.length-1); //最后一个字符串“d”
s.substring(1,4); //第2~4个字符串注意不是第2~5个字符串 “ell”;
s.slice(1,4); // 同上 “ell”;
s.replace("H","h"); //“h”替换“H”,全文字符替换,
s.toUpperCase(); //全文大写

s.slice(-3); //最后三个字符“rld”;
s.indexOf("l"); //字符l首次出现的位置; “2”
s.lastIndexOf("l"); //字符l最后出现的位置; “10”
s.indexOf("l",3); //在位置33及之后首次出现字符串了的位置 “3”
s.split(", "); //[“hello”,“world”]分割成子串
合理使用这些方法可以提高操作效率
参考技术A ahtml="<script>"+
"var rs1 = new SimpleResize(dragDiv"+obj.name+");"+
"rs1.Set(rRightDown"+obj.name+", 'right-down');"+
"rs1.Set(rLeftDown"+obj.name+", 'left-down');"+
"rs1.Set(rRightUp"+obj.name+", 'right-up');"+
"rs1.Set(rLeftUp"+obj.name+", 'left-up');"+
"rs1.Set(rRight"+obj.name+", 'right');"+
"rs1.Set(rLeft"+obj.name+", 'left');"+
"rs1.Set(rUp"+obj.name+", 'up');"+
"rs1.Set(rDown"+obj.name+", 'down');"+
"</“ + ”script>";本回答被提问者采纳
参考技术B 考点有两个:
JavaScript的字符串连接机制。

NEWS.length需要缓存,不然每次循环都要重新计算一次length

===============
主要看一下第一个:
在js里字符串一旦赋值后不能修改。

基于这个背景看一下字符串连接操作:
var str ;
str = 'this is a string';
str = str + ',another string.';
对于这个连接操作JS的处理机制是:新建一个临时字符串,将新字符串赋值为 str + ',another string.' ,然后返回这个新字符串并同时销毁原始字符串。所以字符串的连接效率较低。提高效率的办法是用数组的join函数
var tempArr = [] ,src,res;
src = 'this is a string';
tempArr.push(src);
tempArr.push(',another string.');
res = tempArr.join('');

不过在《JavaScript高级程序设计》里也提到:
这个过程是在后台发生的,而这也是在某些旧版本的浏览器(例如版本低于1.0的FireFox、IE6等)中拼接字符串是速度很慢的原因。但这些浏览器后来的版本已经解决了这个问题。
所以效率提高也只是在IE6 等低版本的浏览器中有效。
参考技术C 你在后面加一行alert(ahtml)自己看一下拼完的代码不就知道哪错了么追问

代码没错 就是拼接的方法错了 “” 这个地方是这样拼接吗?

追答

以上是关于javascript如何 拼接字符串的主要内容,如果未能解决你的问题,请参考以下文章

javascript中字符串和数字怎么拼接

如何在Javascript中从数组中提取值

JavaScript 优雅简单的拼接字符串

JavaScript字符串拼接

Javascript字符串拼接小技巧

javascript中字符串和数字怎么拼接