是什么让javascript变得危险?使用javascript可以用作什么?

时间:2009-06-30 14:04:40

标签: javascript

我一直在玩javascript以获得乐趣。我一直想知道为什么有些人不喜欢javascript,因为它很容易被滥用或写得不好。然后有一些人喜欢javascript,因为它是一种强大的语言,对各种用途非常有用。

5 个答案:

答案 0 :(得分:6)

Douglas Crockford有一系列讲座,指出了JavaScript的优点和远离什么:

因此,使JavaScript成为优秀语言的一些事情包括:

  • 它受到Lisp的强烈影响,并且具有闭包和其他一流功能。
  • 它具有文字对象和列表符号,使得以声明方式指定数据结构变得非常容易。
  • 基本上每个浏览器都可以使用它,没有任何插件。
  • 鸭子打字。
  • 原型继承。

一些不好的事情包括:

  • 语句终止的可选分号,导致很难发现错误。
  • 自动类型强制导致难以发现错误。
  • 为页面运行的所有脚本共享的单个全局命名空间,可以使重用和维护变成一场噩梦。
  • 当局部变量声明不正确时,在单一全局命名空间中自动创建/生成名称。
  • 使用原型继承的一种棘手的方法,当您忘记使用new时会导致奇怪的错误。
  • 领先实施之间的不兼容。

...但patterns可以帮助解决命名空间问题,compilers可以帮助您避免一些鼓励内容的错误,frameworks可以帮助您避免不相容的东西。

小心谨慎,您可以坚持使用JavaScript,使其成为一种强大而愉快的语言。

答案 1 :(得分:3)

从网络作者的角度来看:

如果第三方可以将JavaScript注入您的网站,他们可以让用户的浏览器执行用户可以执行的任何操作。这包括向网站发送垃圾邮件,向第三方发送用户名/密码/信用卡详细信息以及离开网站查看色情内容。

从最终用户的角度来看:

JavaScript可以做一些微不足道的烦恼(比如设置一个无限循环的window.alert消息,它会堵塞浏览器)。令人高兴的是,在这些后Geocities时代,我并没有遇到过这么多。

浏览器中的很大一部分安全漏洞与JS引擎有关。作为引入病毒的攻击媒介,JavaScript漏洞已经非常流行。 (这些是浏览器的错误,而不是JS本身的错误。)

答案 2 :(得分:1)

Javascript可用于跨站点脚本攻击,它将恶意代码注入网站。 See this Wikipedia Article

答案 3 :(得分:1)

Javascript本身并不危险。事实上,就语言而言,它相对“安全”。你不能用它来丢弃某人的计算机,你甚至无法锁定计算机。

然而,javascript也是安全问题的持续来源。这不是(通常)因为javascript开发人员编写错误代码,但是因为运行代码的浏览器存在细微的错误。

一般来说,javascript和编程一样安全,它几乎可以对任何网站产生影响。不要担心你的javascript代码是危险的9当然,你希望它是这样的; - )。

答案 4 :(得分:0)

我认为没有使用像jQuery或MooTools这样的框架的人会讨厌JavaScript,因为编写好,调试并在所有流行的浏览器中工作非常困难。

我知道这一点,因为在我发现jQuery之前,这正是我的感受 - 现在JavaScript很高兴写作。