从0开始学JavaScript(一) 之什么是JavaScript

今天是2022年的第一天,也算是给自己开个好头,说来自己从大二开始接触JavaScript到现在也有三年多的时间了,还从没有完完整整的看过一本JavaScript的书。这次也算是给自己补补课,从头开始再学一遍。好记性不如烂笔头,也是在CSDN记录一下,也是给自己一个坚持下去的理由,也希望看到的好兄弟能学到一点是一点。

同时也要感谢《JavaScript权威指南》的著作者和翻译者。

在这里插入图片描述
好了,让我们言归正传。

一.JavaScript的起源

在距今大概28年前,当时的网景公司(Netscape)凭借Navigator浏览器成为了当年Web时代开启者,现在的浏览器也可以通过Navigator来查询浏览器的基本信息,也不知道算不算一种历史的沉淀。
最早版的浏览器根本没有我们现在这些功能齐全花样繁多的界面,也没有与用户交互的能力,整个浏览器都是静态的,也就是用纯HTMLCSS写的,甚至连动态效果都没有,比如像轮播、悬浮提示都没有,想象一下你现在用的浏览器就跟书本一样,只有一个个字和一些图片组成的页面。但是,这个时候一个将被称为JavaScript之父的人出现了,布兰登·艾奇,用了不到10天的时间,就设计出能在网页上实现动态效果的编程语言。

他的设计思路是这样的:
(1)借鉴C语言的基本语法;
(2)借鉴Java语言的数据类型和内存管理;
(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位;
(4)借鉴Self语言,使用基于原型(prototype)的继承机制。

在我看来,这些也让JavaScript成为了一种更加包容的语言,更加的简单易学,从现在各个榜单的排行榜上来看,JavaScript已然是最容易学的一种语言之一了。但是也因此,让JavaScript拥有了更多地用户和更丰富的社区环境。
说了一些自己的看法,继续回到JavaScript的起源。JavaScript被发明出来之后,并没有引起太多的关注,而且严格来讲,JavaScript是经SunMicrosystems(现Oracle)授权使用的一个注册商标,用来描述最初这门语言的实现。也是因此,才诞生了ECMAScript这个名字来作为JavaScript的标准版。这也是JavaScriptECMAScript的关系。引用知乎一个回答的解释:链接地址

ECMAScript其实并不等同于JavaScript,它只是JavaScript的核心标准(语法、类型、语句、关键字、保留字、操作符、对象),而JavaScript还包括文档对象模型(DOM)和浏览器对象模型(BOM)等。其中各主流浏览器对ECMAScript的支持都还不错,但对DOM的支持相差较大,对于BOM一直没有相关标准。最后再简单总结一下就是:ECMAScript是一种语言标准,JavaScript是对ECMAScript的一种实现。

二.探索JavaScript

JavaScript作为一种专为Web编程所开发的语言,浏览器是JavaScript最早的宿主环境,浏览器允许JavaScript代码从用户那里获取输入,也允许其在通过HTMLCSS向用户显示输出。与当年其他编程语言不同的是,JavaScript是一门高级、动态、解释性编程语言,因此也是非常适合面向对象和函数式编程风格。
在这里插入图片描述

但是在2010年之后,JavaScript又有了一个新的宿主环境----NodeNode给予了JavaScript访问整个操作系统的权限。因为Node的成功,也意味着JavaScript几乎是最常用的编程语言。Node的话后面会单独拎出来一个章节,以便更好的了解这个让JavaScript从一门小众语言走向大众化的进阶之路。

三.ECMAScript

还是2010年,几乎所有的浏览器都支持ECMAScript第五版,也就是我们上面提到的JavaScript标准版第五版,简称ES5,基本上第五版之前的几乎已经没有人再讨论, 现在来讲的话,基本上都是以ECMAScript6(后面简称为ES6)来进行学习的,之前的基本上没太大必要去进行费心费力的学习了。
ES6发布于2015年,增加了很多新特性,并且让JavaScript从一门脚本语言转变为一门可以承接大型软件工程的通用语言。从ES6开始,ECMAScript几乎是每年发布一个新版本,后面也基本上是一年份来标识,由于跟新相对来说不如ES5ES6变化那么大,所以基本上ES6之后的版本都统称为ES6
随着JavaScript的发展,之前挖的一些坑也会一点点的弥补,语言设计者也在尝试纠正(早期ES5)版本中的缺陷,以此来保证在之后的版本能够向下兼容。无论一个特性的问题有多严重,也不能把它删除。但在ES5及之后,程序可以选择切换到JavaScript的严格模式(use strict),在这种模式下呢,一些早期的语言错误会得到纠正,以便我们写出更好的代码。

四.小结一下

总的来说的,JavaScript是一个相对来说容易上手也容易让自己有成就感的一门语言。Java你要去了解Maven,基本上需要写出一个完整项目才能看出这个工程在做什么;C++语法规则多,而且C++更需要操作指针,本身指针就已经够让人头疼的了,再加上泛型编程,简直是难上加难。与此些相比,JavaScript几乎是最贴合新手的一门语言了,你可以在浏览器上直接使用,进入浏览器,按下F12(Ctrl+Shift+I【windows】或Command+Option+I【Mac】),然后选择console(控制台),就可以直接在这里输入JavaScript代码了。如下图(我这里是Chrome浏览器):
一个简单的a + b方法就完成啦--------你可以直接复制粘贴到浏览器试试哦~~~

function add(a, b) {
    return a + b;
}
add(1, 2)

在这里插入图片描述
对我来说JavaScript的意义也是不同的,从一开始的接触学习,觉得好玩,到现在JavaScript成为了自己日常生活的一部分,每天的学习探索也让自己对其更加的了解,也更想去深入的了解。现在从头开始也是对自己的负责,对这么语言的负责,一门语言能走到现在肯定也是无数人千锤百炼的结果,也肯定是值得我们去深入学习研究的。探索学习其实真的很有趣。
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小前端--可笑可笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值