Javascript JSLint";document.write可以是eval的一种形式";-这是怎么回事?

Javascript JSLint";document.write可以是eval的一种形式";-这是怎么回事?,javascript,jslint,Javascript,Jslint,我在JSLint中看到了这个消息 document.write可以是eval的一种形式 我想知道到底是怎么回事 该页说明: eval函数…提供对JavaScript的访问 编译器。这有时是必要的, 但在大多数情况下,这表明 存在极坏的编码 那么,document.write如何“提供对JavaScript编译器的访问”呢 谢谢你的浏览器用这个做什么 document.write('<script type="text/javascript">window.alert("evaled

我在JSLint中看到了这个消息

document.write可以是eval的一种形式

我想知道到底是怎么回事

该页说明:

eval函数…提供对JavaScript的访问 编译器。这有时是必要的, 但在大多数情况下,这表明 存在极坏的编码

那么,
document.write如何“提供对JavaScript编译器的访问”呢


谢谢你的浏览器用这个做什么

document.write('<script type="text/javascript">window.alert("evaled " + (1 + 2))</script>');
document.write('window.alert(“evaled”+(1+2)));

@Rocket:看来我有点过时了,现在首选
类型
属性。但不管是否被弃用,它都能工作。@Ben:是的,它能工作,但这可能是因为浏览器首先忽略了
语言
属性。@Rocket:这是正确的现代等价物吗?我只涉猎过DHTML。@Ben:是的,没错。:-)在HTML5中,这种类型甚至不需要JavaScript。回到主题上来——我想我明白了。
document.write
本身就是在编写JavaScript,然后JavaScript将访问编译器。将其浓缩成
文档。写入('alert(1+2)')大致相当于
警报(eval(1+2))请参见此答案: