技术分享|JavaScript的前世今生

经过数十年的发展和改进,JavaScript已成为有史以来最流行的编程语言之一。而这一切都始于1995年,当时Brendan Eich用了10天的时间创建了JavaScrip,从那时起,它已经迭代了多个版本,不断更新并发展到至今水平。
本篇文章,我们将分享关于JavaScript的基本概念,让大家了解它的前世今生!
一、什么是JavaScript
“JavaScript是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。“
你是否在编写网站的时候会觉得缺少某些内容? 也许是它不够吸引人,或者是没有创造力,究其原因或许是缺少了JavaScript。JavaScript可用于增强网页,应用程序等,以提供更加友好的用户体验。

JavaScript是网络的语言,通过向其添加动作来使网络看起来更生动。更准确地说,它是一种编程语言,可以在网页上实现复杂而美丽的设计。
二、JavaScript的功能
脚本语言而不是Java:实际上,JavaScript与Java无关。那为什么叫“Java”“Script”呢?JavaScript最初发布时称为Mocha,后来被重命名为LiveScript,然后在Netscape(创建JavaScript)和Sun达成许可协议时重命名为JavaScript。
基于对象的脚本语言,支持多态性,封装和某种程度上的继承。
解释语言:不必像需要编译器的Java和C一样进行编译。
JavaScript在浏览器中运行:你可以在Google Chrome,Internet Explorer,Safari等上运行它。JavaScript不仅可以在浏览器中执行,而且可以在服务器和具有JavaScript引擎的任何设备上执行。

三、JavaScript可以做什么
JavaScript主要以创建精美的网页和应用程序而闻名。谷歌地图就是一个例子。如果要浏览特定的地图,只需要做的就是用鼠标单击并拖动。什么样的语言可以做到这一点?你猜对了!是JavaScript。
JavaScript也可以用于智能手表。例如,流行的智能手表制造商Pebble。Pebble创建了Pebble.js,这是一个小的JavaScript框架,允许开发人员使用JavaScript为Pebble系列手表创建应用程序。

最流行的网站,例如国外的Google,Facebook,Netflix,Amazon,国内的淘宝,京东,知乎等,都利用JavaScript来建立他们的网站。
在诸如移动应用程序,数字艺术,Web服务器和服务器应用程序等,JavaScript也用于制作游戏。许多开发人员正在使用JavaScript构建小型游戏和应用程序。
四、JavaScript框架
JavaScript流行的一个主要原因是JavaScript框架。以下是最流行的JavaScript框架的简要介绍:


- AngularJS是Google的网络开发框架,为快速的应用程序开发提供了一组现代开发和设计功能。
- ReactJS是另一个主要由Facebook维护的顶级JavaScript框架,它应用于Facebook和Instagram的用户界面,展示了其在维护这种高流量应用程序方面的效率。
- MeteorJS主要用于提供后端开发。在后端使用JavaScript节省时间并积累专业知识是Meteor的主要思想之一。
- 当你想扩展你的网站并使之更具交互性时,可以使用jQuery。像Google,WordPress和IBM这样的公司都依赖jQuery。
- Vue是一套用于构建用户界面的渐进式JavaScript框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。
五、HTML,CSS和JavaScript
任何熟悉JavaScript的人都知道,它与HTML和CSS有关。但是这三者之间是什么关系呢?让我用一个类比解释一下。

将HTML(超文本标记语言)视为网络的骨架。用于显示网络。
另一方面,CSS就像我们的衣服。我们穿上时髦的衣服,看起来更好看。同样,网络需要时尚化。它使用CSS层叠样式表以进行样式设置。
然后是JavaScript,它将生命带入了网页。就像孩子们使用滑板四处走动一样,网络也在JavaScript的帮助下运动起来。
六、JavaScript的优势
有这么多开发人员喜欢使用JavaScript这是有原因的。使用JavaScript开发Web应用程序有很多好处,例如:
它易于学习且易于实现。 它是一种弱类型编程语言,与Java和C ++等强类型编程语言不同,后者具有严格的编码规则。
在当今世界,这一切都与快速有关,并且因为JavaScript主要是一种客户端编程语言,它之所以非常快速,是因为任何代码都可以立即运行,而不必与服务器联系并等待答案。
诸如AngularJS,ReactJS,VueJS之类的丰富框架可用于构建Web应用程序并执行不同的任务。
构建交互式网站: 可以使用JavaScript设计精美、有吸引力的网站。
JavaScript是一种解释型语言,不需要编译器。你所需要的只是一个浏览器,例如Google Chrome或Internet Explorer,你可以在浏览器中进行各种操作。
JavaScript是独立的平台, 所有主要浏览器(例如Internet Explorer,Google Chrome,Mozilla Firefox,Safari等)都支持JavaScript。
七、HTML+CSS+JS免费实战学习
你是否也想成为一名专业的web开发人员?福利来啦~
大前端开发工程师入门实战——HTML+CSS+JS免费学习
- 20+HTML&CSS实战项目,免费学习+项目源码,
- 部分效果演示
10+原生Javascript实战项目,助你彻底攻克JS,部分效果演示:
项目效果演示
- HTML+CSS还原京东商城
- 项目效果演示

免费学习地址:
前端HTML+CSS实战项目全集(免费学习&提供课程代码)
原生JS入门实战合集(免费学习&提供课程代码)
HTML5+CSS3还原京东商城
想了解更多大前端技术及实战,可扫码关注微信公众号!

技术分享|JavaScript的前世今生的更多相关文章
- 【转发】网易邮箱前端技术分享之javascript编码规范
网易邮箱前端技术分享之javascript编码规范 发布日期:2013-11-26 10:06 来源:网易邮箱前端技术中心 作者:网易邮箱 点击:533 网易邮箱是国内最早使用ajax技术的邮箱.早在 ...
- 好程序员技术分享html5和JavaScript的区别
好程序员技术分享html5和JavaScript的区别,HTML5广义上讲是前端开发学科的代名词,包含HTML5.CSS3及JavaScript三个重要的部分,是运行在浏览器上应用的统称.如PC端网站 ...
- 好程序员技术教程分享JavaScript运动框架
好程序员技术教程分享JavaScript运动框架,有需要的朋友可以参考下. JavaScript的运动,即让某元素的某些属性由一个值变到另一个值的过程.如让div的width属性由200px变到400 ...
- 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践
1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...
- JavaScript的前世今生
和CSS一样,JavaScript在各浏览器下并非完全一致,它所带来的兼容性问题时常困扰着我们,以至于现在“能否处理流行浏览器的兼容性问题”成为了检验一个程序员是否合格的标准之一.了解JavaScri ...
- HTML5学堂 全新的HTML5/前端技术分享平台
HTML5学堂 全新的HTML5/前端技术分享平台 HTML5学堂是做什么的? HTML5学堂~http://www.h5course.com~由多名热爱H5的讲师们组成的一个组织.致力于构建一个前端 ...
- 阿里技术分享:阿里自研金融级数据库OceanBase的艰辛成长之路
本文原始内容由作者“阳振坤”整理发布于OceanBase技术公众号. 1.引言 OceanBase 是蚂蚁金服自研的分布式数据库,在其 9 年的发展历程里,从艰难上线到找不到业务场景濒临解散,最后在双 ...
- 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践
本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...
- 腾讯技术分享:微信小程序音视频技术背后的故事
1.引言 微信小程序自2017年1月9日正式对外公布以来,越来越受到关注和重视,小程序上的各种技术体验也越来越丰富.而音视频作为高速移动网络时代下增长最快的应用形式之一,在微信小程序中也当然不能错过. ...
- 阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处
本文引用了唐小智发表于InfoQ公众号上的“钉钉企业级IM存储架构创新之道”一文的部分内容,收录时有改动,感谢原作者的无私分享. 1.引言 业界的 IM 产品在功能上同质化较高,而企业级的 IM 产品 ...
随机推荐
- 创建AD域之后设置DNS服务访问外网
AD域内需要有DNS服务器,用于解析域内的计算机名,域内的计算解析公网的域名需要设置一个转发器(Forwarder). 一定要设置好自己的默认网关.DNS因为部署在AD服务器上,直接loopback地 ...
- docker mysql数据备份xtrabackup
一.概述 线上有一个mysql,是在docker里面运行的. 关于docker封装mysql镜像,请参考链接:https://www.cnblogs.com/xiao987334176/p/11984 ...
- #progma pack(x)说明
1.字节对齐(内存相关) 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数 ...
- 【小菜学网络】MTU
不同的以太网接入设备,一帧能传输的数据量是有差异的. 普通的以太网卡,一帧最多能够传输 1500 字节的数据:而某些虚拟设备,传输能力要打些折扣.此外,链路层除了以太网还有其他协议,这些协议中数据帧传 ...
- 剑指 Offer 29. 顺时针打印矩阵 + 蛇形矩阵 + 模拟 + 思维题
剑指 Offer 29. 顺时针打印矩阵 Offer_29 题目描述: 题解分析: 题目的初衷是将这道题当做一个简单题处理 这道题一开始想的太复杂了,其实可以参考迷宫广度优先搜索的过程,只不过在选定一 ...
- 在scanf函数中占位符使用错误而产生的一些错误
出现的问题 在做编程题的的时候,遇到了一个很奇怪的错误,出问题的代码如下: 1 #include <cstdio> 2 using namespace std; 3 4 int main( ...
- IDEA 远程调试服务器代码
在 /home/ttx/app/uco-azj/catalina/30017/bin/set_env.sh export CATALINA_OPTS="-Xms1g -Xmx2g -XX:+ ...
- 关闭ubuntu防火墙
1.关闭ubuntu的防火墙 ufw disable 开启防火墙 ufw enable 2.卸载了iptables apt-get remove iptables 3.关闭ubuntu中的防火墙的其余 ...
- IntelliJ-IDEA 打包代码报错
一.问题由来 使用 IntelliJ-IDEA 打包项目一直以来都没问题,可是上周的时候,突然打包就报错了,并且Maven中的pom.xml文件确定是没有改过,打包的配置文件也没有修改过. 报错信息如 ...
- super_curd组件技术点总结
1.基于包的导入的方式实现单例模式 # test1.py class AdminSite(object): def __init__(self): self.registry = {} self.ap ...

