例如:
<div class='blah'>
<script>
$('.blah').remove();
</script>
</div>
编辑:
好吧,我对此投了很多反对票。我宁愿知道这是否是一个好主意,但既然这是主观的,让我问:javascript如何处理一个删除自身的函数?
例如:
<div class='blah'>
<script>
$('.blah').remove();
</script>
</div>
编辑:
好吧,我对此投了很多反对票。我宁愿知道这是否是一个好主意,但既然这是主观的,让我问:javascript如何处理一个删除自身的函数?
是的,你可以 -> http://jsbin.com/ososuh/1
更重要的是,您可以定义函数,稍后您将调用该函数。我想它是在解析时间到内存时添加的,以后可以调用它。以前没有尝试过,但必须承认这很有趣;-)
首先,你永远不应该像这样将你的 javascript 内联。对于网络优化来说,这是不好的做法和糟糕的做法。其次,当然,为什么不呢?
如果您以某种方式绑定到元素,您仍然可以删除 HTML,尽管它不会删除实际的脚本函数本身。
$('.blah').bind('click', function () {
$(this).remove();
}
查看Do browsers parse javascript on each page load 的答案?
例如:
铬:V8 引擎
V8 有一个编译缓存。这使用源的哈希存储已编译的 JavaScript,最多可用于 5 个垃圾收集。这意味着两个相同的源代码将在内存中共享一个缓存条目,无论它们是如何包含的。重新加载页面时不会清除此缓存。
因此,如果您在 Chrome 中按 F5,它将检测(通过脚本标记内容的文本散列)它已经将这段 JavaScript 代码解析并编译为本机代码。所以它只会执行它。
由于这段已经编译的 JS 代码与 DOM 分离(在内存的不同部分),它还可以操作代表自身的 DOM 元素。至少我是这样理解工作的。
是的。如果函数在此之后并不意味着它们将是未定义的,但是您可以非常自由地从 JavaScript 修改 DOM。