JavaScript对象解释

JavaScript对象解释,javascript,Javascript,为什么这两个变量不同?我一直在读书,但还没有完全理解 变量1: <textarea id="code"> //...[buncha code here] </textarea> var example = document.querySelector('#code'); //…[这里是buncha代码] var示例=document.querySelector(“#code”); 变量2: <textarea id="code"> //...[b

为什么这两个变量不同?我一直在读书,但还没有完全理解

变量1:

<textarea id="code">
  //...[buncha code here]
</textarea>
var example = document.querySelector('#code');

//…[这里是buncha代码]
var示例=document.querySelector(“#code”);
变量2:

<textarea id="code">
  //...[buncha code here]
</textarea>
var example = document.querySelector('#code');
var example=“[buncha code here]”

将括号内的代码替换为所需的代码。引用第一个变量时,必须使用
示例.value
,而不仅仅是
示例
,否则它将返回
。那是因为它不是一根弦吗


如何手动设置变量(如变量2示例)以包含可计算的代码,例如使用
eval(example.value)

在变量2示例中,您不使用
eval(example.value)
,因为它是字符串。您只需使用
eval(示例)
。在变量1示例中,需要
example.value
,否则它将是DOM元素。在变量1示例中,
example.id
将是字符串
code
,其中
example.value
value
attrubute,在
的情况下,它看起来很像
innerHTML
,但因为它是一个表单输入,所以变量1示例中的
.value

是一个对象,一个HTML元素

变量2中的示例是一个字符串

var example = document.querySelector('#code').value;

querySelector(“#code”)返回一个domeElement。您只需要将该元素的value属性分配给变量,而不是整个元素。

无论您想做什么,
eval()
都不是办法。使用eval()只是一个例子。我没有用它。我只想知道如何正确地设置一个变量,以匹配通过document.querySelector(“#code”)提取的内容@daveycroqet:尽量不要过多地使用W3C学校,因为它们以不跟上时代和不遵守W3C标准而闻名。他们的认证也因此意义不大。请参阅:)除了官方的W3C文档(很难阅读)之外,还有官方的Mozilla开发者网络。还要阅读与代码匹配的文档