JS语言概述

JS语言简史

  1. JS语言的起源

网景(Netscape Communication Corperation),1994年,推出第一款商用浏览器,网景浏览器(Netscape Navigator)

1995年,网景公司决定在浏览器中加入一门语言,可以作交互效果,提高用户体验。

最终决定独立开发一门新的语言,聘请Brendan Eich,10天后,新的语言诞生

LiveScript -> JavaScript (JS)

JS语言之父:Brendan Eich

  1. 第一次浏览器大战

网景公司打算在浏览器中加入网络操作系统,影响到微软的利益,引起了微软的注意

1995年,微软发布IE浏览器。

JS语言推出之后,网景获得极大的竞争优势。

微软对JS语言反编译,借鉴JS语言,退出了JScript、VBScript

第一次浏览器大战是标准之争

1997,网景公司将javascript1.1版本提交给ECMA(欧洲计算机制造协会)

IE3发布,并绑定windows操作系统。

1998年,网景公司,被收购。

ECMA收录了JavaScript,并提交给ISO,经过修改,成为了第一个JS的标准版本,成为ECMAScript,简称ES

  1. 第二次浏览器大战

IE4、IE5、IE6(windows xp)

微软决定解散浏览器团队。

Brendan Eich,带领团队成立Mozilla基金会,并决定,将网景浏览器开源。

长时间内,世界的技术爱好者,对网景浏览器,进行维护和打补丁

2002,Mozilla推出firefox浏览器。

2008,谷歌推出chrome浏览器,苹果推出safari,ASA公司推出opera

chrome浏览器搭载JS执行引擎V8(V8引擎,可以将JS代码直接转换为字节码,理论上,JS代码的执行速度已经接近汇编语言)

于是,JS具备了编写大型应用程序的能力,甚至服务器应用

Ryan Dahl 准备写一个服务器端的框架,直接利用V8引擎完成了该框架,该框架,称为nodejs

V8,将JS的执行推向了一个新的台阶

  1. ES标准的发展

ES1,1997年 ES2,1998年 ES3,1999年 ES5,2009年,习惯上,不再区分 javascript (JS) 和 ECMAScript (ES) ES6,2015年,ECMA宣布,从ES6开始,使用年号作为版本号,ES6的真正称呼为:ES2015 ES7,2016年,ES2016

非常重要:ES制定语言标准,不涉及语言的运行环境。正是因为ES避免了运行环境,就让ES有机会在各种环境中执行。ES称为了通用编程语言

本课程学习的是,ES的通用语法、浏览器环境为其注入的新功能

通常,把ES运行的环境称之为,宿主环境

JS语言特性

  • 解释型语言

编译型语言:C语言、C++、java语言、C#语言

编译型语言会经过一个翻译的过程,负责翻译的叫做编译器,翻译的结果,叫做编译结果。

优点:执行速度快 缺点:某个编译结果,难以适用于各种环境(跨平台障碍);部署繁琐;

解释型语言:js、php

解释型语言没有编译结果

优点:跨平台;部署简单; 缺点:执行速度稍慢

  • 弱类型语言

弱类型:存放的数据类型可变。优点:灵活、易上手; 缺点:不严谨

强类型:存放的数据类型不可变。优点:严谨;缺点:不灵活、不易上手

通常,将弱类型的解释型语言,称为脚本语言

  • 单线程

同步现象:上一件事情没有做完,下一件事情必须等待。

  • 异步

提高单线程的执行效率。

js语言简介的更多相关文章

  1. JavaScript学习01 语言简介、基本使用和变量声明

    JavaScript语言简介.基本使用和变量声明 JavaScript是网景(Netscape)公司开发的一种基于客户端浏览器.面向对象.事件驱动式的网页脚本语言. JavaScript的前身叫Liv ...

  2. Node.js 原理简介

    Node.js 的官方文档中有一段对 Node.js 的简介,如下. Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript ...

  3. GO 语言简介(网摘)

    GO 语言简介 原文出处:[陈皓 coolshell] Hello World 文件名 HELLO.GO package main //声明本文件的package名 import "fmt& ...

  4. Kotlin新语言简介和快速入门知识点

    Kotlin新语言简介和快速入门知识点 简介:Kotlin是最近由JetBrains发布的一种基于JVM的编程语言,已经被Google宣布为开发Android App的一级语言Kotlin有着与Jav ...

  5. Go 语言简介(下)— 特性

    希望你看到这篇文章的时候还是在公交车和地铁上正在上下班的时间,我希望我的这篇文章可以让你利用这段时间了解一门语言.当然,希望你不会因为看我的文章而错过站.呵呵. 如果你还不了解Go语言的语法,还请你移 ...

  6. js json简介(json的本质也是字符串)(用于服务器和客户端通信)

    js json简介(json的本质也是字符串)(用于服务器和客户端通信) 一.总结 1.json的语法和js的语法非常像,只是json的键和值都是双引号,因为json的本质也是字符串 2.json是一 ...

  7. 01. Go 语言简介

    Go语言简介 引用原文地址:http://m.biancheng.net/golang/ Go语言也称 Golang,兼具效率.性能.安全.健壮等特性.这套Go语言教程(Golang教程)通俗易懂,深 ...

  8. 《Java从入门到失业》第一章:计算机基础知识(三):程序语言简介

    1.3程序语言简介 我们经常会听到一些名词:低级语言.高级语言.编译型.解释型.面向过程.面向对象等.这些到底是啥意思呢?在正式进入Java世界前,笔者也尝试简单的聊一聊这块东西. 1.3.1低级语言 ...

  9. 第一章.C语言简介

    C语言第一章 C语言简介   目录 一.C语言介绍 二.C语言特点 三.Hello World 四.转义符 五.占位符 六.俄罗斯方块游戏 七.文件下载 一.C语言介绍 C是一种通用的编程语言,广泛用 ...

随机推荐

  1. 转载:polyphase filter

    http://www.ws.binghamton.edu/fowler/fowler%20personal%20page/ee521.htm http://www.ws.binghamton.edu/ ...

  2. ASP.NET MVC 给Action的参数赋值的方式

    Action指的是Controller类中的方法,如上文中的Index. Action参数的三种常见类型:Model类型.普通参数.FormCollection Model类型 我们可以直接在地址栏后 ...

  3. 在vue中使用elementUI饿了么框架使用el-tabs,切换Tab如何实现实时加载,以及el-table表格使用总结

    当我们在开发中遇到tab切换,这时候用el的el-tabs感觉很方便 但当我在把代码都写完后,发现一个问题就是页面打开时 虽然我们只能看见当前一个tab页,但是vue会帮你把你写的所有tab页的内容都 ...

  4. python3练习100题——032

    链接:http://www.runoob.com/python/python-exercise-example32.html 题目:按相反的顺序输出列表的值. 我的代码: for i in li[:: ...

  5. 55.ORM外键:引用同app下的不同模型,引用不同app下的模型,引用模型自身使用详解

    外键和表关系 外键是属于数据库级别的,在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam.如果使用的是InnoDB引擎,是支持外键约束的.外键的存在使得ORM框架在处理表关系的时 ...

  6. 题解 【洛谷P1115】最大子段和

    这是一道枚举经典题. 本题有三种做法,各位需要根据每个题的数据范围来决定自己用哪种方法. 本题解中统一设最大和为Max. 方法一. 枚举子序列,从起点到终点求和.时间复杂度:O(n^3) 我们可以枚举 ...

  7. PP: Overviewing evolution patterns of egocentric networks by interactive construction of spatial layouts

    Problem: get an overall picture of how ego-networks evolve is a common challenging task. Existing te ...

  8. [POI2007] OSI-Axes of Symmetry

    Description Luogu3454 BZOJ1100 Solution 把边和角顺次放入一个数组里,如果一个点为中心的回文串的半径大于\(n\),那就一定是一个对称轴.跑一遍manacher就 ...

  9. js基础 之 引用类型

    引用类型的值(对象)是引用类型的一个实例.引用类型是一种数据结构,用于将数据和功能组织在一起 对象是某个特定引用类型的实例.新对象是使用new操作符后跟一个构造函数来创建的.构造函数本身就是一个函数, ...

  10. HTML文字标签

    <h1>标题标签,总共六个等级,不能创造标签,只有预定义好的标签才可以被浏览器解析 <br>换行标签,没有内容可以修饰也称为空标签 <p>段落标签</p> ...