JS是什么?

JavaScript(简称JS)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。

JS前世今生

JS起源

JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

三足鼎立与标准化

随着微软进入并克隆了类似JavaScript的JScript 语言,有 3 种不同的 JavaScript 版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。而JavaScript 并没有一个标准来统一其语法或特性,而这 3 种不同的版本恰恰突出了这个问题。随着业界呼声的不断增加,这个语言的标准化逐步展开。

1997 年,JavaScript 1.1 作为一个草案提交给欧洲计算机制造商协会(ECMA)。

在接下来的几年里,国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。

微软VS网景鹿死谁手

这是一场从一开始就不公平的对决。

微软始终拥有两大优势:
第一,财力雄厚。Netscape 浏览器虽然一度达到 90% 以上的占有率,但网景公司规模不大,加上只有浏览器及相关产品,总收入拍马也赶不上微软。

第二,Windows 早就垄断了操作系统市场。就算 IE 在早期的评价不如 Netscape,微软只要把 IE 和 Windows 捆绑销售,就可以迅速提升市占率。再加上 IE 的免费政策,只要等到 IE 产品功能和 Netscape 差不多了,大多数用户自然会逐渐放弃 Netscape,转向 IE。

JavaScript发展现状

随着JS的不断发展,基于JS的前端框架框架层出不穷,目前市场上的主流前端框架包括:React、jQuery、Angular、Vue.js,其中React占据主导地位,Vue.js作为国人开源的JS框架也日益体现出优势,jQuery与Angular的市场份额正逐渐减小。

根据2020年最新的编程语言排名,JavaScript排名第七位,但是作为前端语言,JavaScript具有显著的优势。现在JS市场中的开发人员待遇正处于行业成熟的中期。 有大公司撑腰、就业需求依然充分。围绕着多个年龄层段的顶尖开发者们,JS生态正处于壮年时期。

JavaScript前景

从目前IT领域对JavaScript的人才需求来看,从JavaScript开发社区的活跃度来看,从使用的流行程度来看,JavaScript都占据着较大的优势。可以说,未来JavaScript的发展将有非常大的空间,使用JavaScript的程序员也将越来越多。

有几个情况可以说明JavaScript的活跃程度,目前Github上JavaScript的开源项目最多,大幅度领先Java的开源项目,这是一个比较令人意外的结果。Node.JS是目前最受程序员欢迎的架构之一,现在招聘Node.JS开发人员的科技公司越来越多。

早期国内的很多程序员是通过Ajax开始接触JavaScript的,JavaScript是前端开发人员必须掌握的内容之一。但是目前JavaScript的应用领域已经得到了很大的扩展,在移动端、后端开发中都逐渐有了JavaScript的身影。可以说,JavaScript的发展是广大程序员共同推进的结果,这像极了当年的Java语言。

从就业的角度来说,掌握JavaScript将显著提高程序员的职场竞争力,JavaScript也被业界认为是未来非常有竞争力的语言,与Python语言一样,JavaScript未来的发展空间非常大。

接下来让我们一起踏入JavaScript世界的学习之旅吧!!!

JavaScript学习之初识JS相关推荐

  1. 小汤学编程之JavaScript学习day01——认识JS、JS基础语法

    一.认识JS 1.JavaScript的组成     2.浏览器执行js简介     3.JavaScript是什么?     4.扩展内容 二.JS基础语法 1.代码书写位置     2.变量    ...

  2. JavaScript学习笔记一 js基础

    总结自http://www.w3school.com.cn 操作 HTML 元素 如需从 JavaScript 访问某个 HTML 元素,您可以使用 document.getElementById(i ...

  3. JavaScript学习第二部-js的基础语法和语句

    文章目录 语法 JavaScript 字面量 JavaScript 变量 JavaScript 操作符 JavaScript 语句 JavaScript 关键字 JavaScript 注释 JavaS ...

  4. JavaScript学习笔记:JS运算符重载

    1.定义   在了解运算符重载之前,先了解一下重载.重载是指可使函数.运算符等处理不同类型数据或者接受不同个数参数的一种方法.   函数重载是指函数名相同,函数参数个数或者参数类型不同,以至于返回类型 ...

  5. JavaScript学习(八十)—请写一段JS程序提取URL中的各个get参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中

    JavaScript学习(八十)-请写一段JS程序提取URL中的各个get参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中 题目: 代码:

  6. JavaScript学习(六十四)—关于JS的浮点数计算精度问题解决方案

    JavaScript学习(六十四)-关于JS的浮点数计算精度问题解决方案 您的语言没有中断,它正在执行浮点数学运算.计算机只能本地存储整数,因此它们需要某种表示十进制数字的方式.此表示并不完全准确.这 ...

  7. JavaScript学习(六十一)—json字符串的解析和JS 对象的序列化

    JavaScript学习(六十一)-json字符串的解析和JS 对象的序列化 一.json字符串的解析:parse方法 将json字符串转换为js对象,我们把这个过程称为json字符串的解析 格式:J ...

  8. JavaScript学习(二十九)—JS常用的事件

    JavaScript学习(二十九)-JS常用的事件 一.页面相关事件 onload事件:当页面中所有的标签都加载完成后厨房该事件,格式:window.onload <body><sc ...

  9. JavaScript学习10 JS数据类型、强制类型转换和对象属性

    JavaScript学习10 JS数据类型.强制类型转换和对象属性 JavaScript数据类型 JavaScript中有五种原始数据类型:Undefined.Null.Boolean.Number以 ...

  10. [js学习] javaScript学习

    JavaScript学习day1 什么是JavaScript JavaScript是一种运行在客户端的脚本语言 脚本语言:不需要编译,运行过程中由js解释器逐行来进行解释并执行 现在也可以基于Node ...

最新文章

  1. inotify结合rsync监控目录的实时变化
  2. 关于Unity中物理检测的准备
  3. oracle9i用expdp导出全库,Linux下Oracle 11g数据库全库自动备份(EXPDP)
  4. Hello,My first blog!
  5. DevPartner Studio Professional Edition 11 内存泄露检测使用
  6. 理解和使用NT驱动程序的执行上下文
  7. java打包-exe文件-最终以setup形式发布的解决之道
  8. websocket报错:java.io.EOFException: null
  9. Oracle 函数大全
  10. Laravel文档阅读笔记-Custom Authentication Login And Registration Using Laravel 8
  11. 适合新手的网站建设方案
  12. MySQL中emoji表情包的存储问题
  13. 语言表达的6c原则是指什么,第二讲 BEC写作的语言、语法、组织和文体
  14. 民办二本计算机专业学生出路何在?
  15. php图片背景平铺,css如何让背景图片平铺?css背景图片平铺四种方式介绍
  16. Java网络编程,一对一聊天
  17. 【历史上的今天】2 月 2 日:公钥密码学发明者诞生;苹果的衰落期;测谎仪首次被使用
  18. Python-int()函数
  19. 元转分金额字符串转换:单位元转成单分
  20. Xdisplay扩展分屏

热门文章

  1. UnsatisfiedDependencyException
  2. edius多机位多轨编辑
  3. tomcat8设置JAVA_HOME路径
  4. 计算判断两条线是否垂直,平行,相交,求相交点坐标
  5. python微信语音转发方法_【高逼格技巧系列】如何在微信中转发语音
  6. perl 5.10.0安装包下载
  7. java嵌入浏览器_Java嵌入浏览器Chrome内核
  8. 软件工程学习笔记(二)~软件需求说明书
  9. android自动计步_自动计步器app下载
  10. wxparse的使用php返回数组输出,小程序应用实践:wxParse多数据循环使用方法