百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

什么是 JavaScript?

zhezhongyun 2024-12-09 19:00 40 浏览

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!

作者|慕课网精英讲师 然冬

JavaScript ( JS ) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。(MDN)

JavaScript 是一种编程语言,主要参与构建 Web 前端应用。

1. JavaScript 的由来

早期的浏览器是不具备与用户交互能力的,可以想象一下,在那个电话拨号上网的年代,带宽只有 56Kbps,也就是意味着标准最高下载速率只有 8KB/s。

在这个速度下,表单提交就是噩梦般的存在。

例如报名考试,就需要填写非常多内容,当用户花了十几分钟找各种资料填写表单后,点击提交就要等待十几秒甚至更多。

假如这时表单信息出错,如身份证没核对仔细少了一位,整个页面就会做刷新操作,表单需要重新填写。

这是一个比较典型的场景。当时最火的浏览器 Navigator 的开发公司 netscape 就因这些问题,急需一个浏览器使用的脚本语言,让运行在浏览器上的网页可以做一些交互。

netscape 因为有这个需求,招聘了 Brendan EichBrendan Eich 进公司后就开始研究使用 Scheme 语言作为在网页中使用的脚本语言的可能性。

但是由于当时 Java 爆火,netscape 又在于开发了 Java 的 Sun 公司合作,就想让这个脚本语言要足够像 Java,但是又要比 Java 简单。

然后 Brendan Eich 就被指定开发这个“简易 Java”。

Brendan Eich

一段时间之后 JavaScript 也就诞生了。

后续 netscapeJavaScript 交给了 ECMA 组织进行标准化,编号为 262,也就是说现在的 JavaScript 实际上是 ECMA-262 标准的实现。

2. 与 Java 的区别

通过JavaScript的由来可以知道,两个语言本质上没有太大的关系,仅仅只为了让他们像,才让 JavaScript 的名字中有了 Java ,才让他的内部的一些设计机制像 Java

事实上 JavaScript 上在设计上还融合了C语言的语法,Self语言的原型设计等。

3. JavaScript 的主要应用

以下列举的各个场景不仅仅是需要掌握 JavaScript ,还需要很多知识点与技术栈来共同协作完成,但是 JavaScript 是必不可少的技术栈。

3.1 网页开发

网页开发的基本三大件为 HTML、CSS、JavaScript,如果将 HTML 比作骨架,CSS 比作皮肤,那 JavaScript 就是可以让骨架动起来,改变皮肤性状的存在。

现代的前端应用离不开 JavaScript ,随着浏览器的性能越来越好,产品交互越来越复杂,JavaScript 的地位也越来越高。

表单验证、动画效果甚至 3D 应用,均可以由 JavaScript 来完成。

使用 WebGL 制作的 3D 应用,可以直接运行在现代浏览器

3.2 服务端应用开发

2009 年发布 Node.js 的发布,意味着前端程序员可以用较低的成本跨入服务端开发。

Node.js 提供了开发服务端所需要的特性,如 HTTP 服务、本地文件读写操作等。

开发者可以使用 JavaScript 语言开发 Node.js 应用。

Node.js

3.3 桌面应用开发

Electron 是由 Github 开发的,可以使用 HTML、CSS、JavaScript 来构建桌面应用的开源库。

使用Electron就可以让前端开发者进行桌面端应用的开发。

Visual Studio CodeAtomSkype 等应用都是使用 Electron 开发的。

Electron

3.4 移动端应用开发

移动端应用也可以使用 JavaScript 进行开发,如 React Native 或者 Weex 等框架。

欢迎关注「慕课网」,发现更多IT圈优质内容,分享干货知识,帮助你成为更好的程序员!

相关推荐

EU Said to Accept a 10% U.S. Universal Tariff while Seeking Exemptions for Key Sectors

TMTPOST--TheEuropeanUnionmaymakeconcessionstosecureexemptionsfromtariffsonkeysectors...

抖音品质建设 - iOS启动优化《实战篇》

前言启动是App给用户的第一印象,启动越慢,用户流失的概率就越高,良好的启动速度是用户体验不可缺少的一环。启动优化涉及到的知识点非常多,面也很广,一篇文章难以包含全部,所以拆分成两部分:原理和实战...

荷兰引进美国诗人阿曼达·戈尔曼诗作,因译者肤色遭抵制

记者|刘亚光阿曼达在拜登就职典礼上朗诵诗歌。图源:PatrickSemansky/AssociatedPress阿曼达·戈尔曼(AmandaGorman)出生于1998年,自小患有语言障碍,...

EU and U.S. Upbeat on Trade Deal Ahead of July Deadline

TMTPOST--TheEuropeanUnionandtheUnitedStatesseemupbeatontheirtradeagreementtoavoidtr...

“过期食品”英文怎么说?(过期食品)

在购买食品时,我们都会特别留意一下食物的保质期有多久,是否新鲜,以免买到过期的商品。TheafternoonteaspreadatThePeninsulaBoutiqueandCaf...

世界首富撩妹露骨短信遭曝光 网友评论亮了

原标题:世界首富如何撩妹?亚马逊创始人贝索斯给情妇的露骨短信曝光这周最大的一个瓜,可能就是亚马逊首席执行官杰夫·贝佐斯(JeffBezos)与妻子麦肯齐(MacKenzie)离婚的惊人消息。紧接...

征收熊孩子“尖叫费”不合理?店主回怼网友

爱尔兰一家很受欢迎的咖啡馆要收“孩童尖叫费”,网友们。。。爱尔兰一咖啡店店主5月4日在脸书发帖,表示要向带有吵闹孩童的顾客多收15%的额外费用,引发了大批网友的议论。原贴内容如下:图viaFaceb...

Rationality, objectivity and pragmatism win the day in Geneva to benefit of all

ApressbriefingisheldbytheChinesesidefollowingtheChina-UShigh-levelmeetingoneconomica...

Dify「模板转换」节点终极指南:动态文本生成进阶技巧(附代码)Jinja2引擎解析|6大应用场景实战

这篇文章是关于Dify「模板转换」节点的终极指南,解析了基于Jinja2模板引擎的动态文本生成技巧,涵盖多源文本整合、知识检索结构化、动态API构建及个性化内容生成等六大应用场景,助力开发者高效利用模...

微软 Edge 浏览器 96.0.4664.93 稳定版发布:修复大量安全问题

IT之家12月12日消息,据外媒mspoweruser消息,微软12月11日为Edge浏览器推出了96.0.4664.93稳定版。该版本没有增加新功能,而是修复了大量漏洞,...

HarmonyOS NEXT仓颉开发语言实战案例:健身App

各位好,今日分享一个健身app的首页:这个页面看起比之前的案例要稍微复杂一些,主要在于顶部部分,有重叠的背景,还有偏移的部分。重叠布局可以使用Stack容器实现,超出容器范围的偏移可以使用负数间距来实...

如果使用vue3.0实现一个modal,你会怎么设计?

这是个很好的问题!设计一个Vue3.0Modal时,我建议按照可复用、高扩展、简洁的原则来实现。下面我给你一个清晰的设计思路,涵盖组件拆分、使用方式以及Vue3中特性(如Telepor...

在进行APP切图的前,我们需要做什么?

切图是个技术活,小伙伴们千万不能忽视切图的重要性噢,前文介绍了设计的七大元素,那么我们现在来看看在切图之前,我们需要做什么呢?。1、和客户端的技术沟通好用不同的框架来实现的时候,图会有不一样的切法。...

独立开发问题记录-margin塌陷(独立提出历史问题)

一、概述往事如风,一周就过去了。上周在Figma里指点江山,这周在前端代码里卑微搬砖。回想上周,在Figma中排列组合,并且精确到1像素。每设计出一个页面,成就感就蹭蹭往上涨。没想到还没沾沾自喜多久,...

循序渐进Vue+Element 前端应用开发(8)—树列表组件的使用

在我前面随笔《循序渐进VUE+Element前端应用开发(6)---常规Element界面组件的使用》里面曾经介绍过一些常规的界面组件的处理,主要介绍到单文本输入框、多文本框、下拉列表,以及按钮...