繁体   English   中英

期望一个赋值或函数调用,而是看到了一个带有JavaScript的表达式

[英]expected an assignment or function call and instead saw an expression with JavaScript

我正在使用此JavaScript,无法将其显示为HTML。 我在控制台中看到了它,但在页面上看到的只是我的名字。

创建一个名为“ me”的对象,该对象用您的姓名,城市和职务来描述您。

//    Display the content of the object in the HTML page.
var me = {
  name: "Roxann",
  city: "Denver",
  jobTitle: "Paralegal"
};

console.log(me);

document.getElementById("q1").innerHTML = me.name, me.city, me.jobTitle;

尝试这个,

document.getElementById("q1").innerHTML = "Name:"+me.name+ ", City:"+me.city+", "+ me.jobTitle;

由于innerHTML保存字符串(html字符串),因此您必须首先构建html内容:

var html = me.name + ', ' + me.city + ', ' + me.jobTitle;
document.getElementById("q1").innerHTML = html;

或使用ES6:

document.getElementById("q1").innerHTML = `${me.name}, ${me.city}, ${me.jobTitle}`;

变量声明me很好。 所有数据都在那里。 要在.innerHTML正确设置它,请尝试以下类似方法:

document.getElementById("q1").innerHTML = [me.name, me.city, me.jobTitle].join(' ');

或者,对于每个单独的行,您都可以执行以下操作:

document.getElementById("q1").innerHTML = [me.name, me.city, me.jobTitle].join('\n');

或者,也许看中了,然后动态创建一些html:

document.getElementById("q1").innerHTML = [me.name, me.city, me.jobTitle].map(field => {
  return `<div class="some-class">${field}</div>`;
}).join('');

您需要按javascript中的连接字符串顺序进行连接。 您可以通过两种方式执行此操作;

一种。 加法运算符(+)

 var a = "start the sentence,"; var b = " then join the sentence."; var result = a + b; 

b。 concat()方法

 var a = "start the sentence,"; var b = " then join the sentence."; var result = a.concat(b); 

两者都会得出相同的答案。

由于创建了对象,因此可以采取其他步骤来添加返回输出的方法。

 var me = { name: "Roxann", city: "Denver", jobTitle: "Paralegal", toString: function() { return this.name + "," + this.city + "," + this.jobTitle } }; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM