JavaScript对象解释

时间:2014-01-19 01:42:04

标签: javascript

为什么这两个变量不同?我一直在阅读documentation,我仍然没有完全掌握它。

变量1:

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

变量2:

var example =“[buncha code here]”;

用您想要的任何代码替换括号内。在引用第一个变量时,您必须使用 example.value 而不是 example ,否则它会返回 [object HTMLTextAreaElement] 。那是因为它不是一个字符串吗?

如何手动设置变量(如变量2示例中所示)以包含可以评估的代码,例如 eval(example.value)

3 个答案:

答案 0 :(得分:1)

在变量1中,示例是一个对象,一个HTML元素。

在变量2中,示例是一个字符串。

答案 1 :(得分:0)

变量2 示例中,您不使用eval(example.value),因为它是一个字符串。您只需使用eval(example)即可。在变量1 示例中,您需要example.value,否则它将是DOM元素。在变量1 示例中,example.id将是字符串code,其中example.valuevalue attrubute,在{{1}的情况下,看起来真的像<textarea>,但由于它是表单输入,因此使用innerHTML

答案 2 :(得分:0)

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

document.querySelector('#code')返回DOMElement。您只需要将该元素的value属性赋值给您的变量而不是整个元素。