重複の可能性:
感嘆符は関数の前に何をしますか?
このページから来ているように見える「ツイート」ボタンで既存のサイトを維持しています
ここの同僚は素晴らしい質問を提起しました:なぜこのスクリプトタグundefined
はこの自己呼び出し関数の(returnステートメントなしで)値を逆にするのですか?(読みやすさのためにかなり精巧で、オリジナルはリンクにあります)
<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
全体がtrueと評価されるようになります。<script>
価値があるのは、それは私にとってまったく異質な考えです(その<script>
タグには式の値があります)。
私の期待は、<script>
タグのブール値(そう、それを入力しても気が狂う)が重要な特定のブラウザーがあることです。
したがって、基本的な質問は次のとおりです。aは、<script>
知っているブラウザにとって意味のある「式」の値を持っていますか?この場合、真と偽の暗黙の意味は何ですか?