- 1 JavaScript 简介
- 2 JavaScript 发展历程
- 3 商标
- 4 词源
- 5 语言结构
- 6 公共对象
- ▪ 一般特征
- ▪ 一般功能
- ▪ 基本对象
- ▪ 数字和日期
- ▪ 字处理
- ▪ 除此之外
- 7 编程表达式
- ▪ 实施控制
- ▪ 堵塞
- ▪ 休息
- ▪ 继续
- ▪ 空的
- ▪ 声明变量的表达式
- ▪ 函数和类
- ▪ 函数(声明一个函数)
- ▪ function*(声明生成函数)
- ▪ 异步函数
- ▪ 返回
- ▪ 类(声明一个类)
- ▪ 重复循环
- ▪ 除此之外
- 8 表达式和运算符
- ▪ 基本表达
- ▪ 这
- ▪ 函数(函数定义表达式)
- ▪ 类(类定义表达式)
- ▪ function*(生成的函数定义表达式)
- ▪ 屈服
- ▪ 屈服*
- ▪ 异步函数*(定义异步函数的表达式)
- ▪ 等待
- ▪
- ▪ {}
- ▪ /ab+c/我
- ▪ ()
- ▪ 定语表达
- ▪ 访问功能
- ▪ 新的
- ▪ 新目标
- ▪ 极好的
- ▪ 发布参数 (...obj)
- ▪ 增加和减少系数
- ▪ 单边交易
- ▪ 数学交易
- ▪ 相对系数
- ▪ 在
- ▪ 实例
- ▪ 比较系数
- ▪ 平等系数
- ▪ 二元交易
- ▪ 逻辑运算符
- ▪ 三重条件运算符
- ▪ 归因交易
- ▪ 解构归因
- ▪ 逗号运算符
- 9 JavaScript 规则
- 10 在浏览器内使用
- 11 在浏览器外部使用
JavaScript 简介
编辑JavaScript,俗称“JS”,是一种高级编程语言,主要用于网络浏览器中以创建更具交互性的页面。它目前由 ECMA 标准组织管理的 TC39 委员会开发,开始用作面向业余和非专业程序员的编程语言。然而,在它添加了新技术之后,人们对它的兴趣增加了,并吸引了专业程序员的注意,例如AJAX技术的传播,这导致服务器和客户端之间的交互速度更快。JavaScript语言用于开发交互式网页。和网络应用程序,包括游戏,大多数网站都使用它,几乎所有浏览器都支持它,无需外部加载项。
JavaScript 发展历程
编辑1993 年,伊利诺伊大学厄巴纳-香槟分校下属的国家超级计算应用中心 (NCSA) 发布了第一个流行的图形 Web 浏览器 NCSA Mosaic,该浏览器在扩大新兴万维网的发展中发挥了重要作用。网络超越了 NeXTSTEP 利基市场,三年前该网络形成了蜘蛛侠。 1994 年,一家名为 Mosaic Communications 的公司在加利福尼亚州山景城成立,并聘请了许多最初的 NCSA Mosaic 作者来创建 Mosaic Netscape。然而,我故意不与 NCSA Mosaic 共享代码。该公司浏览器的内部代号是Mozilla,即“马赛克和哥斯拉”的代号。 Web 浏览器的第一个版本 Mosaic Netscape 0.9 于 1994 年底发布。四个月内,它已经占领了浏览器市场的四分之三,并成为 20 世纪 90 年代的主要 Web 浏览器。为了避免 NCSA 的商标所有权问题,该浏览器于同年更名为 Netscape Navigator,公司更名为 Netscape Communications。 Netscape Communications 意识到 Web 需要变得更加动态。该公司的创始人 Marc Andreessen 认为 HTML 需要一种“粘性语言”,易于网页设计师和兼职程序员使用来组装图像和插件等组件,并且可以将代码直接写入网页标记中页。
商标
编辑“JavaScript”名称是 Oracle Corporation 在美国拥有并注册的商标。
词源
编辑最初,这种语言以 Mocha 的名称开发,并于 1995 年在 Netscape Navigator 2.0 Beta 浏览器版本中测试时正式称为 LiveScript。但后来由于增加了对 Java 语言的支持,更名为 JavaScript这种变化的名称会引起歧义和误解,暗示 Java 和 JavaScript 是相关或相似的。确实,它们都具有类似于 C 语言的形式,但是两种语言之间的差异很大:
- Java需要转换为字节码。而 JavaScript 程序被视为源文本。
- Java 中的变量是静态的,而 JavaScript 中的变量是动态的。这意味着当你在Java中定义一个变量时,你必须指定它的类型并且不能被改变。例如,如果将变量“age”定义为数字并为其指定值“7”,则无法将该数字更改为其他类型(例如单词“seven”)。在 JavaScript 中你可以做到这一点。
- Java直到第八个版本开始才支持命令式编程。而JavaScript从一开始就得到了支持。
语言结构
编辑过去,JavaScript 语言仅限于 Web 浏览器,但近年来 JavaScript 的领域已经扩展,除了可以在非 Web 环境中使用它们之外,还包括创建处理数据库的服务器端 Web 应用程序。相关环境如文字处理器和PDF软件,它还可以用来编写桌面应用程序、移动应用程序,甚至游戏开发。JavaScript引擎有很多,并且每一个都遵循ECMAScript规范(尽管它们在不同方面有所不同)。他们支持的版本)。在本文档每页的末尾都有一个标题为“浏览器支持”的部分,其中我们提到了哪些浏览器支持上述功能。JavaScript 语言的基础由编程语言的常见功能组成,这些功能使我们能够:
- 将值存储在变量中,
- 对文本字符串执行操作,
- 根据事件的发生执行某些操作。
我们应该感兴趣的是为 JavaScript 语言添加功能的编程接口,这些编程接口称为 API(即应用程序编程接口),它允许开发人员使用 JavaScript 语言来处理 Web 浏览器领域的许多事情。我们可以使用 JavaScript 来处理 DOM,使用 Geolocation API,通过 Canvas 和 WebGL 创建 2D 和 3D 图形,控制视频和音频等媒体。 JavaScript 也可以在服务器端使用,例如更多信息请参见 Node.js 中的 JavaScript 代码,方法有两种:
- 在 HTML 文档中嵌入代码
- 使用外部文件
JavaScript 代码可以嵌入文档中的任何位置,但建议将其放置在 <body> 元素的结束标记之前。代码添加到 <script> 元素内,如下所示: <script> // JavaScript 代码</script>但是,如果 JavaScript 代码位于外部文件中(使其名称为 script.js),则可以使用<script> 元素也是如此,但使用了 src 属性,如下所示:<script src="script.js"></script>。
公共对象
编辑本节包含 JavaScript 中内置的所有公共对象,以及它们的所有属性和函数。
一般特征
这些全局属性返回一个简单的值;它们不是对象的函数或属性。
一般功能
这些全局函数(即在全局范围内而不是在特定对象上调用的函数)将其结果返回到调用它们的表达式。 eval()isFinite()isNaN()parseFloat()parseInt()decodeURI()解码URIComponent()encodeURI()encodeURIComponent())escape()unescape()
基本对象
这些是构建其他对象的基本对象,它们包括可以表示全局对象、函数和错误的对象。ObjectFunctionBooleanSymbolErrorEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIError
数字和日期
这些是表示数字、日期和数学运算的基本对象。NumberMathDate
字处理
这些对象表示文本字符串以及操作和修改它们的方法。
除此之外
- 参数
编程表达式
编辑在本节中,介绍了 JavaScript 语言中的所有表达式。
实施控制
堵塞
块部分用于将多个代码表达式组合在一起,并由两对大括号 {} 定义。
休息
开关或标签表达式终止当前循环,并将程序的执行移至终止表达式后面的表达式。
继续
在当前迭代或命名迭代循环(通过标志)中跳过当前迭代中的语句执行,循环将从下一次迭代开始继续执行。
空的
用于避免提供 JavaScript 需要至少一个表达式的表达式。if...else 条件表达式 用于在条件为真时执行给定的表达式,如果条件不为真,则执行另一个表达式。switch 用于匹配值将表达式与 case 语句结合起来,然后执行关联的表达式。 throw 抛出用户定义的异常。 try...catch 用于尝试一段语句,并指定抛出异常时的处理方式。
声明变量的表达式
var 表达式变量声明一个变量,其初始值可以选择性地初始化。 let 声明块分区的局部变量,其初始值可以选择性地初始化。
函数和类
函数(声明一个函数)
函数声明定义具有某些参数的函数。有关函数定义的比较,请参阅 JavaScript 中的函数页面。
function*(声明生成函数)
声明生成的函数。有关函数定义的比较,请参阅 JavaScript 中的函数页面。
异步函数
声明一个异步函数。有关函数定义的比较,请参阅 JavaScript 中的函数页面。
返回
结束函数的执行并指定函数的值以返回到调用它的表达式。
类(声明一个类)
类声明创建一个具有特定名称的新类,该类通过原型链使用继承。
重复循环
do...while 创建一个循环,执行一个表达式,直到条件为 false 执行该表达式后将检查条件,导致该表达式至少执行一次。for 创建一个由三个表达式组成的循环,Optional 包含在其中。括号并用分号分隔,后跟将在循环的每次迭代中执行的语句(通常是块语句)。for...in 创建一个循环遍历对象的可枚举属性的循环。传递可迭代对象,包括 Array、Map、Set、String、TypedArray 和 Arguments,并对这些对象的每个属性的值执行特定的编程表达式。while 创建一个循环,只要条件满足,该循环就会执行特定的编程表达式满足(true),并且在执行表达式之前将检查条件。
除此之外
调试器 激活可用的调试功能,例如断点的开始;但是,如果没有可用的调试器或调试功能,则在创建 JavaScript 模块时可以使用此表达式从模块导出函数、对象或原始值,以便在程序中使用它们。另一个使用 import.import 表达式,用于导入从另一个模块导出的内容,它可以与 break 或 continue 表达式一起使用,以添加可以引用的标签。到。
表达式和运算符
编辑本节介绍 JavaScript 中的表达式和运算符。
基本表达
它们包括 JavaScript 中的表达式和全局保留字。
这
该保留字的值由函数调用方式决定。
函数(函数定义表达式)
function 保留关键字用于定义表达式中的函数。有关函数定义的比较,请参阅 JavaScript 中的函数页面。
类(类定义表达式)
保留字class是指类的定义表达式。
function*(生成的函数定义表达式)
function* 保留关键字用于定义表达式中的生成函数。有关函数定义的比较,请参阅 JavaScript 中的函数页面。
屈服
Yield 关键字用于暂停和恢复生成的函数 (function*) 的执行。
屈服*
表达式yield* 用于将执行委托给另一个生成器函数或可迭代对象。
异步函数*(定义异步函数的表达式)
async function 保留关键字用于在表达式中定义异步函数。有关函数定义的比较,请参阅 JavaScript 中的函数页面。
等待
它用于等待 Promise(Promise 对象),并且只能在异步函数内使用。
定义数组的缩写形式。
{}
用于初始化对象的缩写形式。
/ab+c/我
正则表达式的简短形式定义。
()
聚类系数。
定语表达
访问功能
属性访问方法使用点或括号方法提供对对象属性的访问。
新的
创建用户定义对象或具有构造函数的 JavaScript 内置对象类型之一的实例。
新目标
它允许您知道您是否使用 new 参数调用了常规函数或构造函数。
极好的
用于访问和调用父对象中的对象。
发布参数 (...obj)
扩展运算符允许在 JavaScript 需要零个或多个参数(在函数调用中)或零个或多个元素(在数组中)的地方扩展可迭代对象,例如数组表达式或字符串,或者在 JavaScript 需要零个的地方发布对象。或更多与它们关联的键和值对(在声明对象时)。
增加和减少系数
包括归属前的增加(或减少)和归属后的增加(或减少)。
- A++
- A -
- ++答
- - A
单边交易
这些交易仅针对一个值进行操作。
- 删除:从对象中删除属性。
- void:计算给定表达式并返回未定义。
- typeof:返回一个字符串,指示其后面的值的类型。
- + 和 -:与数值一起使用的加号和减号。
- ~:二元非运算符。
- !:逻辑非运算符。
数学交易
数学运算符获取数值,对其执行运算,然后返回单个值。
- +:加法运算符。
- -:减法系数。
- /:除法系数。
- *:乘法系数。
- %:余数系数
- **:数字的幂系数。
相对系数
这些运算符对值进行运算,并根据比较结果的值返回布尔值。
在
如果指定的属性存在于对象或其原型链中,则返回 true。
实例
测试构造函数的原型属性是否出现在对象原型链中的任何位置。
比较系数
- >:小于。
- <:大于。
- =>:小于或等于。
- =<:大于或等于。
平等系数
这些运算符根据测试两个值彼此相等的结果返回一个布尔值。
- ==:平等因子。
- =!: 不平等系数。
- ===:匹配系数。
- ==!:不匹配因素。
二元交易
二进制操作数将值视为一组 32 位(零和一)并返回普通数值。
- <<:左移参数。
- <<:向右移动因子。
- <<<:无符号右移。
- &:二元与运算符。
- |:二元或运算符。
- ^:二元异或运算符。
逻辑运算符
布尔运算符通常与布尔值一起使用,并且它们也返回布尔值。
- &&:逻辑与运算符。
- ||:逻辑或运算符。
三重条件运算符
它是 JavaScript 中唯一需要三个值进行操作的参数,通常用作 if 表达式的缩写。
归因交易
这些运算符根据操作数右侧的值将值分配给操作数左侧。
- =:赋值运算符。
- =*:赋值和乘法运算符。
- =/:赋值和除法运算符。
- =%:分配因子并计算余数。
- =+:赋值和加法运算符。
- =-:赋值和减法运算符。
- =>>:赋值参数并左移。
- =<<:赋值参数并右移。
- =<<<:赋值参数并右移,不保留符号。
- =&:赋值运算符,执行二元与运算。
- =^:赋值运算符和二元异或运算。
- =|:赋值运算符和二元或运算。
解构归因
解构赋值允许将对象的数组或属性中的值分解为独立变量。
- [a,b] = [1,2]
- {a,b} = {a:1,b:2}
逗号运算符
它估计正在操作的值(从左到右)并返回最后一个值的值。
JavaScript 规则
编辑Bernard Eich 描述 JavaScript 语法时说:JavaScript 的大部分语法借用自 Java,但它也继承自 Oak 和 Perl。受到 Salif 语言的一些间接影响。“Hello World”程序的示例:window.alert("Hello World")
在浏览器内使用
编辑浏览器加载用 JavaScript 编写的程序,该程序嵌入 HTML 页面或从外部文件加载。所有操作都在用户的设备上执行 - 即在他的浏览器中创建交互功能。这是许多网站和页面(例如 Facebook 和 YouTube)所使用的内容。这是一个嵌入 HTML 的程序页面的简单示例,当单击“愿您平安”按钮时,该页面会显示“愿您平安”的消息: <html > <head><title>示例</title></head> <body dir="rtl"> <script type="text/javascript"> function salam(){alert("愿你平安"); } </script> <button onclick="salam();">愿你平安</button> </body></html>
在浏览器外部使用
编辑尽管这种语言是为了完全在浏览器中运行而创建的,但现在可以用来生成在浏览器外部运行的程序(独立),这要归功于以下软件:
- Node.js,使用 JavaScript 创建命令行界面应用程序
- 用于脚本编写的嵌入式语言,例如,Adobe After Effects 程序中使用 JavaScript 来帮助通过 After Effects 表达式语言应用复杂的效果。编写脚本来帮助执行某些任务... Google Apps 脚本名称下的 Google 服务。
- Node-Webkit 或 nwjs 是 Chrome 浏览器和 node.js 的组合,该程序允许使用 Web 技术创建图形程序:JavaScript、HTML 和级联样式表 (CSS)。
- PhoneGap 或 Cordova,允许使用 Web 技术为多个平台(例如 Android)创建移动应用程序。
- 此外,随着 Windows 8 的推出,开发人员可以使用 Web 技术对 Metro Style 应用程序进行编程。
- 在便携式文档格式文件内。 (PDF)
百科词条作者:小小编,如若转载,请注明出处:https://glopedia.cn/262314/