基本的に、1回のコマンドでスコープが区切られているので、
"use strict"
と
a = 3
を別々にやると特にエラーが出ずに、
"use strict"; a = 3
でエラーがでるようになります。
また、以下3つではWindowオブジェクトが返りますが
(function() { console.log(this)} )()
'use strict'; console.log(this);
console.log(this)
以下だけ undefined が返ります。
'use strict'; (function() { console.log(this)} )()
これは
(function() { console.log(this)} )()
を理解するのが肝ですね、strict じゃなければ勝手に外側の this を引き継いじゃっている。