为什么在使用它之前在Javascript中声明变量不是必须的?

Rea*_*ed. 7 javascript variables

在Javascript中,我们不必var在使用它之前使用关键字声明变量.我们可以马上做的事情一样myCount = 12;myStr = "Hello";(其中mycount的,myStr的不是之前声明).任何此类用法,都声明并初始化"全局"范围内的变量.

提供此功能的原因是什么?它是一个很好的标准吗?

更新:我的问题不是'使用变量而不声明'和'声明然后使用'以及它如何影响范围之间的差异.

我的问题是'为什么允许在javascript中直接使用变量而不声明它',因为大多数编程语言都对此进行严格检查.

更新:我看到以下引用文本是此功能的不良影响.那么,为什么要有这个功能呢?

"假设有一个全局声明的变量x(var x="comparison string")我已经不知道了,我打算在我的一个函数中创建我自己的全局'x'初始化一个(x=-1),最后我打破其他功能.

那么,有什么好的理由吗?有这个功能?

Mag*_*nar 13

Javascript用于浏览器中非常简单的脚本.要求变量声明似乎没有必要.

当然,这是语言中的错误.而javascript的制造者知道这一点.他们想改变它.但他们不能.为什么?

因为微软已经反向设计了JavaScript并创建了他们的重复JScript,带有bug和所有.微软否决了任何变更,甚至错误修正,因为他们坚持不破坏任何人的脚本.所以即使他们改变了JavaScript,IE中的JScript也会保持不变.

这不是一个好理由.但这是我们拥有的.

资料来源:我从道格拉斯克罗克福德获得了我的javascript历史课:"JavaScript编程语言",http://video.yahoo.com/watch/111593/1710507这部分故事是在视频的9到11分钟之间.