什么是javascript?并说明它的使用目的及基本特点。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是javascript?并说明它的使用目的及基本特点。相关的知识,希望对你有一定的参考价值。

什么是javascript
JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言。你可以利用JavaScript轻易的做出亲切的欢迎讯息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间。让这些特殊效果提高网页的可观性。

javascript使用目的
JavaScript的目的在于为网站增加可用性,而不是破坏用户的隐私和安全。因此JavaScript不允许读写用户的文件(cookies除外),采取同源策略,只允许来自相同域的交互。不允许读取历史记录,不能为上传文件的表单设置值,由JavaScript控制的窗口关闭需经用户确认,由JavaScript打开的窗口不能小于100×100的窗口,不能移出屏幕之外。

JavaScript基本特点
一、简单性
  JavaScript是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。它的变量类型是采用弱类型,并未使用严格的数据类型。
  二、动态性
  JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(Home Page)中执行了某种操作所产生的动作,就称为“事件”(Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。
  三、跨平台性
  JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”的梦想。
  四、安全性
  JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。从而有效地防止数据的丢失。
参考技术A 是一种基于对象的脚本语言,可以在前端制作动态页面效果,实现人机交互。(现在后台可以用node.js)还可以使用它和html,css,制作手机的本地app应用或者web app。还可以利用游戏引擎编写网络游戏。安全简洁,运行速度快,学习简单,拥有众多强大的库,比如jq。现在js已经成为一种基础的编程普及语言。学习他,会在众多方面有所运用。

JavaScript 中 eval 的预期目的是啥? [复制]

【中文标题】JavaScript 中 eval 的预期目的是啥? [复制]【英文标题】:What is the intended purpose of eval in JavaScript? [duplicate]JavaScript 中 eval 的预期目的是什么? [复制] 【发布时间】:2010-12-08 07:38:45 【问题描述】:

可能重复:When is JavaScript’s eval() not evil?

我知道,通常使用eval() 是不好的做法。

但它存在的目的是什么?

eval() 的正确用途是什么?

在什么情况下使用eval()比较好?

【问题讨论】:

en.wikipedia.org/wiki/Eval#JavaScript 只是拼错了evil()。不要使用它。 rollseyes eval 不一定是邪恶的,这完全取决于你打算用它做什么,有时真的没有其他办法。 ***.com/questions/197769/… @Andy E. 感谢您的指出。 【参考方案1】:

我最近在尝试使用 eval() 命令,同时尝试为新项目提出新约定。

我想要的是:我喜欢拥有 privatepublicprivileged 方法的想法,唉。 Doug Crockford's article,但我希望能够在我的类的顶部而不是像往常那样在底部公开公共方法/变量。

考虑一下:

var Singleton = function() 
    // Private
    function _one() 
        // code...
    

    function _two() 
        // code...
    

    // Public
    return 
        one: _one,
        two: _two
    ;
();

通过三个eval()(两个嵌套在主要的内部)我能够拥有这样的语法:

var Singleton = function() 
    // Public
    var $interface = 
        one: $forward,
        two: $forward
    ;

    // Private
    function _one() 
        // code...
    

    function _two() 
        // code...
    

    // This does the magic
    return eval($init);
('Singleton');

而且它确实奏效了。 (请注意,我还想要一种调试命名空间的方法,这就是为什么您可以看到传递给单例的字符串。$init 也处理了这个问题。)

无论如何,我想输入所有这些内容的意义在于,eval() 不一定是 JavaScript 垃圾的病态残缺,应该不惜一切代价避免,并且可以以更多方式使用,而不仅仅是 (可信!)从服务器发送的代码和 JSON 反序列化。

(尽管在我的情况下,它最终成为了一种心理锻炼,因为我已经说服自己毕竟不要打扰私有方法/变量,而只是使用严格的命名空间约定。)

【讨论】:

【参考方案2】:

我认为将其用作危险并没有那么糟糕。人们说不要使用eval,因为它会为滥用打开漏洞。如果您的输入是安全的,则可以使用它。它用于Doug Crockford's JSON parser,例如,在使用正则表达式检查输入以确保没有“危险”内容之后。

人们告诉你不要使用它的另一个原因是,如果你使用 eval 过多,人们会开始称你为 Eval Knievel。

【讨论】:

【参考方案3】:

eval

计算一串 JavaScript 代码 不参考特定的 对象。

如果将算术表达式构造为字符串,则可以在以后使用 eval 对其进行计算。例如,假设您有一个变量 x。您可以通过将表达式的字符串值(例如“3 * x + 2”)分配给变量,然后在脚本中稍后调用 eval 来推迟对涉及 x 的表达式的求值。

使用 eval 时要小心

eval() 是一个危险的函数,它以调用者的权限执行它传递的代码。如果您使用可能受到恶意方影响的字符串运行 eval(),您最终可能会在具有您网页/扩展程序权限的用户计算机上运行恶意代码。

【讨论】:

+1 这个答案对我来说似乎没问题,所以我投了赞成票。投反对票的人应该解释原因。 是否反对“不要使用 eval”? 我不知道,但对答案有一个奇怪的反对意见。现在好像没了。 我没有投反对票,但我认为选民可能不喜欢不必要地强调不使用 eval。 ***.com/questions/197769/… 我不喜欢“不要使用 eval!”这样的绝对。 eval 是一个工具。当您需要该特定工具时使用它,不要在其他时间使用它。诀窍是了解“需要”的正确定义。【参考方案4】:

eval() 提供对 JavaScript 编译器的访问,这最终允许稍后执行代码。传递给函数的参数将传递给 JavaScript 编译器,然后执行代码。

开发人员争论eval() 的安全性。它不太安全,但如果你绝对确定你的输入在传递之前已经过净化,那么它应该不是问题。

另外,eval() 的结果通常较慢,因为代码尚未编译或缓存。使用该函数显然会对性能造成影响。

调试使用eval() 产生的代码也很困难,因为关于最终执行的代码几乎没有上下文信息(想想行号)。

在 Web 开发方面,eval() 目前最流行的用途之一是在 Ajax 应用程序的上下文中通常反序列化 JSON 字符串;但是,这并不是说没有很多其他用途。

【讨论】:

我最喜欢这个答案 - 没有废话,只是一个聪明的书面答案:)【参考方案5】:

您可能想查看this article,下面是该页面的直接引用,它总结了 eval 的力量。

JavaScript EVAL 命令可以是 使用动态时非常强大 基于 Web 的应用程序中的内容。 EVAL 可以减少代码并简化 与未知数据的交互 在加载时,但有缺点 考虑到。

这个命令的真正威力在于它 处理数据的能力 在加载时已知——例如, 用户输入的数据。正如我所拥有的 提到,EVAL 接受任何字符串 您提供并执行它返回 结果,如果适用的话。你 可以使用它来执行 JavaScript 你被问到的地方 在加载时执行是未知的。为了 例如,如果我们有一个计算 采用提供的等式的脚本 由用户返回结果,你 可以使用 EVAL 来执行 计算。

【讨论】:

这是eval,而不是EVAL 哦,真的吗?!这是一个报价。将您的投诉发送给作者。 我知道这是一个引用,但您选择在回答中引用它。我敢肯定,在这个问题的上下文中,没有人真的会对大写感到困惑,但是用函数名称区分大小写的语言来表示函数名称是一种奇怪的方式。

以上是关于什么是javascript?并说明它的使用目的及基本特点。的主要内容,如果未能解决你的问题,请参考以下文章

你应该知道的JavaScript是什么?

你应该知道的JavaScript是什么?

什么叫JS

Hybrid App开发之JavaScript基础

JavaScript基础细讲

用于 phppgadmin 报告数据库?