gpt4 book ai didi

javascript - 为什么这个 Twitter 脚本标签尝试评估为真?有关系吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:49:06 24 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
What does the exclamation mark do before the function?

我正在维护一个带有“tweet”按钮的现有网站,该按钮似乎来自 this page

这里的一位同事提出了一个很好的问题:为什么这个脚本标签会反转这个自调用函数的(undefined 通过没有返回语句)值? (为便于阅读而漂亮,原文在链接中)

<script>
!function(d,s,id) {
//^--- that
var js,fjs=d.getElementsByTagName(s)[0];
if(!d.getElementById(id)) {
js=d.createElement(s);
js.id=id;
js.src="https://platform.twitter.com/widgets.js";
fjs.parentNode.insertBefore(js,fjs);
}
}(document,"script","twitter-wjs");
</script>

在我非 JS 专业人士看来,这似乎是在翻转 undefined 的 bool 值。 ,从而允许整个 <script>标签评估为真。对于它的值(value),这对我来说是一个完全陌生的想法(<script> 标签有一个表达式值)。

我的期望是有一些特定的浏览器可以使用 <script>标签的 bool 值(是的,我什至觉得输入那个值很疯狂)很重要。

所以基本问题是:Does a <script>对您知道的任何浏览器都有有意义的“表达”值?在这种情况下,真与假的隐含含义是什么?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com