我试图将图像作为对象的原型之一。
我在这里想念什么?
这是我的代码:
function test(prot1, prot2) {
this.par1 = prot1;
this.par2 = prot2;
}
var test1 = new test("text", "image.jpg");
document.getElementById("testdiv").innerHTML = "<img src='test1.par2' alt='test1.par1' class='image' />";
您仅使用字符串,但是您需要评估对象。
使用 ES6 您可以使用模板文字
document.getElementById("testdiv").innerHTML = `<img src='${test1.par2}' alt='${test1.par1}' class='image' />`;
使用较低版本,您可以使用字符串串联
document.getElementById("testdiv").innerHTML = "<img src=" + test1.par2 + "alt=" + test1.par1 + " class='image' />";
在JavaScript中,您不能简单地在字符串内键入变量,并期望对它们进行评估。这行不通。
您需要将它们连接起来才能被视为变量,而不仅仅是字符串的一部分:
document.getElementById("testdiv").innerHTML = "<img src=" + test1.par2 + "alt=" + test1.par1 + " class='image' />";
或如果您的环境支持ES6,则可以使用字符串文字:
document.getElementById("testdiv").innerHTML = `<img src=${test1.par2} alt=${test1.par1} class='image' />`;
有关后者的更多信息:https://developer.mozilla.org/en/docs/web/javascript/reference/reference/template_literals