如何在以后使用Javascript填充变量中的占位符?

时间:2016-01-30 18:47:38

标签: javascript

在纸上本文这看起来像是一个非常简单的操作,但由于某种原因,Javascript似乎并不喜欢它。基本上我有以下代码:

var news = "<b>" + place_name + ", " + county + ""<img id = 'centre' src=" + picture + ">" + "</b><ul><br>";

一般的想法是图片是一个变量,稍后将通过以下内容填充:

news.picture = entry2.picture;

这是一个提供给img源的链接。但是,当我这样做时:

console.log(news.picture);

变量仍未定义。这是正确的做事方式吗?

2 个答案:

答案 0 :(得分:1)

这不是你应该这样做的方式。你必须设置你的变量,然后你可以构造一个这样的字符串。

你现在需要的,基本上是一个功能,如下所示:

var createNews = function(place_name,county,picture)  {
  return "<b>" + place_name + ", " + county + "<img id = 'centre' src=" + picture + ">" + "</b><ul><br>";
}
var news = createNews("Place","county","pic.jpg");
console.log(news);

如果您愿意,也可以这样做:

var createNews = function(obj) {
    return "<b>" + obj.place_name + ", " + obj.county + "<img id = 'centre' src=" + obj.picture + ">" + "</b><ul><br>";
}
var news = {
    place_name : "Someplace",
    county : "Somewhere",
    picture : "foo.png"
};
var newsItem = createNews(news);
console.log(newsItem);

答案 1 :(得分:0)

news是一个由字符串和变量组成的变量。

所以你不能使用news.picture。

虽然你可以把变量变成一个函数对象。

var news = function() }
    this.picture = "something";

    this.getString = function() {
        return this.picture+"some string";
    };
};

然后你可以使用news.picture在news中设置图片变量,并使用news.getString()获取字符串。