'+ variable +'是什么意思?

时间:2012-11-25 12:11:21

标签: javascript jquery

这是什么:'+变量+'是什么意思?

我使用jQuery append方法添加一些DOM元素:

$('#story_pages').append('<div><button value="'+window_value+'" onclick= "reload_to_canvas(this.value)" ><img id="w'+window_value+'", src=white_data_URL, width="100px", height="100px"/> </button></div>');

实际上,我不知道为什么这样做...... 如果我只是写

value= window_value 
img id= w+window_value

,并使用选择器     的 $( '#(W + window_value)') 找到元素。它必须失败。
这个运营商是什么? '+可变+'
为什么我们应该使用奇怪的符号“'+ variable +'”?
我们应该何时使用这种表示法?

3 个答案:

答案 0 :(得分:6)

  

这个运营商是什么? '+变量+'

那不是运营商。

'结束字符串文字

+是一个连接运算符。

variable是一个字符串变量

+是另一个连接运算符。

'启动一个新的字符串文字。

  

为什么我们应该使用奇怪的符号"'+variable+'"

两个字符串文字的数据中包含"个字符。

目标是构建这个:

'<element attribute="value">'

当值是变量

var myValue = "value";
'<element attribute="' + value + '">'

通过字符串连接从代码生成代码总是会提供难看的代码,这相对难以维护。我会用更详细的方法解决问题:

var content = $("<div>");
var button = $("<button>");
button.val(window_value);
button.on('click', function() { reload_to_canvas(this.value); });
var img = $('<img>');
img.attr('id', 'w' + window_value);
img.attr('src', 'white_data_URL');
// width and height can be handled in CSS
button.append(img)
content.append(button)
$('#story_pages').append(content)

答案 1 :(得分:1)

这是使用变量中的数据动态构造一个字符串。

var x = "World";
var text = "Hello " + x + ", how are you?";  

字符串的文字部分可以用单引号或双引号括起来。每个都完全相同,但如果字符串本身也包含引号,则两个中的一个更方便。

var text = 'Hello, "' + x + '", how are you?'; // double quotes inside
var phrase = "Hello, '" + x + "', how are you?";  // single quotes inside

报价需要匹配。语法高亮(就像在Stackoverflow上这样)使这更容易。

如果在字符串中需要两种引号,则必须使用反斜杠转义其中一种。

var lotsOfQuotes = ' "Gosh, O\'Neill, what have you done", he said. ';

答案 2 :(得分:0)

这意味着字符串与变量连接。