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

什么让javascript变得危险?javascript可以用作什么用途?,javascript,Javascript,为了好玩,我一直在尝试javascript。我一直想知道为什么有些人不喜欢javascript,因为它很容易被滥用或写得很糟糕。还有一些人喜欢javascript,因为它是一种功能强大的语言,对各种用途都非常有用。我认为没有使用jQuery或MooTools这样的框架的人会讨厌javascript,因为它很难在所有流行的浏览器上编写、调试和使用 我知道这一点,因为这正是我发现jQuery之前的感受——现在编写JavaScript是一种乐趣。JavaScript可用于跨站点脚本攻击,这会将恶意代码

为了好玩,我一直在尝试javascript。我一直想知道为什么有些人不喜欢javascript,因为它很容易被滥用或写得很糟糕。还有一些人喜欢javascript,因为它是一种功能强大的语言,对各种用途都非常有用。

我认为没有使用jQuery或MooTools这样的框架的人会讨厌javascript,因为它很难在所有流行的浏览器上编写、调试和使用


我知道这一点,因为这正是我发现jQuery之前的感受——现在编写JavaScript是一种乐趣。

JavaScript可用于跨站点脚本攻击,这会将恶意代码注入网站

有一系列讲座,向您介绍JavaScript的优点以及应该避免的内容:

因此,使JavaScript成为一种好语言的一些因素包括:

  • 它受到Lisp的强烈影响,并具有闭包和其他一流函数的优点
  • 它有文字对象和列表表示法,使得以声明方式指定数据结构非常容易
  • 它基本上可以在没有任何插件的任何浏览器中使用
  • 鸭子打字
  • 原型遗传
一些不好的事情包括:

  • 用于语句终止的可选分号会导致难以找到的bug
  • 自动类型强制,导致难以找到的bug
  • 为一个页面运行的所有脚本共享一个全局名称空间,这会使重用和维护成为一场噩梦
  • 当局部变量声明不正确时,自动在单一全局命名空间中创建/实现名称
  • 使用原型继承的一种扭曲方式,当您忘记使用
    new
    时,可能会导致奇怪的错误
  • 领先实现之间的不兼容性
。。。但是有一些可以帮助解决名称空间问题,有一些可以帮助您避免一些鼓励bug的东西,还有一些可以帮助您避免不兼容的东西


您可以谨慎地使用JavaScript的某些部分,使其成为一种功能强大、令人愉悦的语言。JavaScript本身并不危险。事实上,就语言而言,它是相对“安全”的。你不能用它来破坏别人的电脑,你甚至会在锁定电脑时遇到麻烦

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


一般来说,javascript几乎和编程一样安全,它几乎可以改变任何网站。不要担心javascript代码是危险的,当然,除非您希望它是;-)

从网络作者的角度来看:

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

从最终用户的角度来看:

JavaScript可以做一些琐碎的麻烦事(例如设置一个无休止的window.alert消息循环,阻塞浏览器)。幸运的是,在这些后地理城市时代,我并没有经常遇到它们


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

只要你不在午夜后编写任何Javascript,它是完全安全的。你被警告了!没错,但javascript本身通常不是罪魁祸首——糟糕的设计和缺乏服务器端数据验证更为常见(通常是由于javascript太多而引入的)。@jwoolard;绝对正确,但如果没有什么东西可以利用这些安全漏洞,这些安全漏洞就不会是安全漏洞。请查看Douglas Crockford和其他人在JavaScript上制作的一系列精彩视频//Douglas Crockford-JavaScript编程语言//Douglas Crockford-高级JavaScript上述两个视频描述了JavaScript的优点、缺点和丑陋之处。跨浏览器问题与JavaScript语言没有多大关系。DOM才是最大的问题。没错,但谁不为浏览器编写JavaScript呢?