首页 > 编程语言 >【10.0】JavaScript之引入

【10.0】JavaScript之引入

时间:2024-02-27 09:05:16浏览次数:32  
标签:10.0 JavaScript js 标准 ECMAScript 版本 引入 JS

【一】JavaScript介绍

【1】什么是js

  • js也是一门编程语言,他可以写后端代码

【2】什么是node.js

  • 前端由于非常受制于后端,所以有一些人异想天开想要通过js来编写后端代码一统江湖
  • 由此开发了一个叫nodejs的工具(支持js跑在后端服务器上)
  • 但是并不能完美的实现

【3】JavaScript和JAVA的关系

  • JavaScript和Java一毛钱关系都没有,纯粹是为了蹭Java的热度

【4】JS是不完善的语言

  • JS最初由一个程序员花了七天时间开发的 里面存在很多bug

  • 为了解决这些bug一直在编写相应的补丁

  • 补丁本身又有bug

  • 最后导致了js中有很多不符合逻辑的地方(成了大家墨守成规的东西)

【5】JavaScript与ECMAScript的关系

(1)历史

  • 1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。
  • 次年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版。

(2)ECMAScript为什么不叫JavaScript

  • 该标准(ECMAScript)从一开始就是针对 JavaScript 语言制定的,但是之所以不叫 JavaScript,有两个原因。
  • 一是商标,Java 是 Sun 公司的商标,根据授权协议,只有 Netscape 公司可以合法地使用 JavaScript 这个名字,且 JavaScript 本身也已经被 Netscape 公司注册为商标。
  • 二是想体现这门语言的制定者是 ECMA,不是 Netscape,这样有利于保证这门语言的开放性和中立性。

(3)总结

  • ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。
  • 日常场合,这两个词是可以互换的。

【6】ES语言的版本

  • ECMAScript已经发布了六个主要版本:ECMAScript 1、ECMAScript 2、ECMAScript 3、ECMAScript 5、ECMAScript 6(也称为ES6或ES2015)以及最新的ECMAScript 2017

【7】ES6 与 ECMAScript 2015 的关系

(1)起因

  • 2011 年,ECMAScript 5.1 版发布后,就开始制定 6.0 版了。
  • 因此,ES6 这个词的原意,就是指 JavaScript 语言的下一个版本。

(2)变故

  • 但是,因为这个版本引入的语法功能太多,而且制定过程当中,还有很多组织和个人不断提交新功能。
  • 事情很快就变得清楚了,不可能在一个版本里面包括所有将要引入的功能。
  • 常规的做法是先发布 6.0 版,过一段时间再发 6.1 版,然后是 6.2 版、6.3 版等等。

(3)突发奇想

  • 但是,标准的制定者不想这样做。
  • 他们想让标准的升级成为常规流程:任何人在任何时候,都可以向标准委员会提交新语法的提案,然后标准委员会每个月开一次会,评估这些提案是否可以接受,需要哪些改进。
  • 如果经过多次会议以后,一个提案足够成熟了,就可以正式进入标准了。
  • 这就是说,标准的版本升级成为了一个不断滚动的流程,每个月都会有变动。

(4)标准委员会

  • 标准委员会最终决定,标准在每年的 6 月份正式发布一次,作为当年的正式版本。
  • 接下来的时间,就在这个版本的基础上做改动,直到下一年的 6 月份,草案就自然变成了新一年的版本。
  • 这样一来,就不需要以前的版本号了,只要用年份标记就可以了。

(5)ES6诞生

  • ES6 的第一个版本,就这样在 2015 年 6 月发布了,正式名称就是《ECMAScript 2015 标准》(简称 ES2015)。
  • 2016 年 6 月,小幅修订的《ECMAScript 2016 标准》(简称 ES2016)如期发布,这个版本可以看作是 ES6.1 版,因为两者的差异非常小(只新增了数组实例的includes方法和指数运算符),基本上是同一个标准。根据计划,2017 年 6 月发布 ES2017 标准。

(6)总结

  • 因此,ES6 既是一个历史名词,也是一个泛指,含义是 5.1 版以后的 JavaScript 的下一代标准,涵盖了 ES2015、ES2016、ES2017 等等,而 ES2015 则是正式名称,特指该年发布的正式版本的语言标准。
  • 提到 ES6 的地方,一般是指 ES2015 标准,但有时也是泛指“下一代 JavaScript 语言”。

【8】总结

  • JS是由ECMAScript、DOM、BOM组成
  • JS是运行在浏览器脚本的语言

【二】注释语法

【1】单行注释

// 单行注释

【2】多行注释

/*
多行注释
多行注释
*/

【三】引入方式

【1】script标签内部直接书写js代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>// 可以在这里写JS代码</script>
</head>
<body>


</body>
<script>
    <!-- 可以在这里写JS代码   -->
</script>
</html>

【2】script标签src属性引入外部js代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="外部JS代码位置"></script>
</head>
<body>


</body>
</html>

【四】语法结构

  • js是以分号座位语句的结束
  • 但是如果不写分号,问题不大能正常运行,但是是相当于没有结束符
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


</body>
<script>
    // 正确代码书写过程中应该带有 ; 结尾
    // 但是没有 ; 号 并不会影响程序运行
    console.log("Hello World!");
</script>
</html>

【五】如何学习JS

【1】JS书写位置

  • pycharm提供的js文件
  • 浏览器提供的js环境(学习阶段推荐)

【2】JS学习路线

  • 变量
  • 数据类型
  • 流程控制
  • 函数
  • 对象
  • 内置方法/模块

标签:10.0,JavaScript,js,标准,ECMAScript,版本,引入,JS
From: https://www.cnblogs.com/dream-ze/p/18036072

相关文章

  • 【李宏毅机器学习2021】(一)引入机器学习和深度学习
    引入机器学习MachineLearning概括来说就是LookingforFunction,即让机器具备找一个函数的能力这些函数显然非常复杂,要依靠机器自动找出该函数。随着要找的函数不同,机器学习有不同的类别:Regression,回归:函数输出的是数值。Classification,分类:函数从给定选项(类别)中选择一个......
  • JavaScript中的包装类型详解
    JavaScript中的包装类型详解在JavaScript中,我们有基本类型和对象类型两种数据类型。基本类型包括String,Number,Boolean,null,undefined和Symbol。然而,当我们需要在这些基本类型上调用方法时,就需要用到JavaScript的包装类型。什么是包装类型?包装类型是JavaScript中的......
  • FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memo
    <---JSstacktrace--->====JSstacktrace=========================================Securitycontext:000000A526FA5891<JSObject>1:fromString(akafromString)[buffer.js:314][bytecode=0000010AE305A149offset=164](this=00000347695822D1&......
  • DVWA-Javascript
    Javascript漏洞指的是通过某种方式绕过前端的javascript逻辑进行服务器访问。 --low级别:服务器端代码:提交token无效的结果如下:因为这里要求是在文本框中提交success内容,并且获取到最新token信息,才能提交成功。因此,先在文本框中输入success,然后再console控制台中,手动调用g......
  • Android Studio 引入 OpenCV 之后 出现 Plugin was not found in any of the followin
    网上看了各种方法,什么设置代理啊,清缓存啊,重启啊之类的都试过了,都不行,后来看到帖子说OpenCV的包用的是Groovy的,即build.gradle文件而不是Kotlin的build.gradle.kts文件,然后我改了还是会报错后来我发现我遗漏了一个重点!!!要将项目根目录下的setting.gradl......
  • JavaScript语法-字符串模板
    [TOC]##JavaScript模板字符串###代码以下是index.js的部分代码:```onShareAppMessage({const{toName,mainText,fromName}=this.data;debugger;return{title:'叮,您收到一张贺卡~',path:'pages/index/index?toname=${toName}&mai......
  • javascript前端过略
    则关闭javascriptF12+F1然后:127.0.0.1;ls/发现无法注册,可以想到如果能注册就好了,然后联想到javascript前端(打开javascript[f12+f1)......
  • Javascript/DOM:如何删除 DOM 对象的所有事件侦听器
    Javascript/DOM:如何删除DOM对象的所有事件侦听器一、重写重写EventTarget添加监听事件方法addEventListenerif(EventTarget.prototype.original_addEventListener==null){EventTarget.prototype.original_addEventListener=EventTarget.prototype.addEventList......
  • Vue 中引入 axios 后报错
    vue报错:Moduleparsefailed:Unexpectedtoken(5:2)Youmayneedanappropriateloadertohandlethis具体错误信息如下:Moduleparsefailed:Unexpectedtoken(5:2)Youmayneedanappropriateloadertohandlethisfiletype.||exportdefault{|...utils,|......
  • python调用Javascript实践
    一、背景知识1、Node.jsjavacript的运行环境有两个:浏览器、node.jsNode.js是一个开源与跨平台的JavaScript运行时环境。它是一个可用于几乎任何项目的流行工具!Node.js在浏览器外运行V8JavaScript引擎(GoogleChrome的内核)。这使Node.js表现得非常出色。运行js的命......