我的JS历史知识
话说在那long long ago的1995以前,绝大多数因特网用户都使用速度仅28.8kbit/s的猫(调制调解器)上网,人们注册成为某个网站的用户时,填写好资料,发送给服务器去验证,如果某一资料填写不合格,比如邮箱格式不对或用户名已被占用,就得又全部重新填写一遍,然后经过慢长的等待,祈祷上帝,不要再出错。人们就这样被网络慢、重复填写资料操蛋着。
于是伟大的Netscape公司决定为 Netscape Navigator 2开发出一种名叫LiveScript的脚本语言来处理这种简单的验证。Netscape为了在搭上媒体热炒Java的顺风车,临时把LiveScript改名为JavaScript,级JavaScript 1.0。
由于JavaScript1.0获得巨大的成功,Netscape公司趁热打铁的,随即在Netscape Navigator 3中发布JavaScript 1.1。也获得巨大的成功,用户关注度屡创新高的。与此同时,另一个历史主角————微软的IE 3 也登场了。微软它为它的IE 3 加入名为JScript的JavaScript脚本语言(命名为JScript是为了避免Netscape公司的有关授权问题)。
此时我们可以看到两个不同的JavaScript版本:Netscape Navigator的JavaScript和IE中的JScript。与C及其它语言不同,当时还没有标准规定JavaScript的语法和特性。两个并存的的局面完全暴露出了这个问题。随着业界的担忧,JavaScript的标准化被提了日程。
1997年以Netscape Navigator 3中的JavaScript 1.1版本为蓝本建议被提交给了ECMA 39号技术委员会。经过他们的数月的各种撕逼,终于定义一种ECMAScript的新脚本语言标准。自此以后,浏览器开发们商以ECMAScript为基础实现各自的JavaScript。
读《JavaScript高级程序设计第三版》笔记。
未完待续……
我的JS历史知识的更多相关文章
- [JS复习] JS 基础知识
项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display :inline or bloc ...
- HTML+CSS+JS基础知识
HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...
- Node.js基础知识
Node.js入门 Node.js Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...
- 网站开发进阶(十五)JS基础知识充电站
JS基础知识充电站 1.javascript alert弹出对话框时确定和取消两个按钮返回值? 用的不是alert对话框,是confirm confirm(str); 参数str:你要说的话或问题: ...
- NodeJs>------->>第三章:Node.js基础知识
第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info 方法 console.log(" node app1.js 1> ...
- JS底层知识理解之执行上下文篇
JS底层知识理解之执行上下文篇 一.什么是执行上下文(Execution Context) 执行上下文可以理解为当前代码的执行环境,它会形成一个作用域. 二.JavaScript引擎会以什么方式去处理 ...
- 零散的JS和node.js小知识
JS的连续赋值和曾经出现的怪异情况 let a=1; let b=a=3; 如上的真实赋值过程 => a=1 => a=3 => b=3 => 一般来说,等号是从右向左赋值的 ...
- Node.js 历史
Node.js 是在 2009年5月份创建的,是属于典型的 Git 和 GitHub 时代最初孕育的项目.另外需要先说明一点,那就是回顾 Node.js 的历史,并不是仅仅为了给大家回味,而是想找到在 ...
- 前端学习:JS面向对象知识学习(图解)
前端学习:JS面向对象知识学习(图解) 前端学习:JS(面向对象)代码笔记 JS面向对象图解知识全览 创建类和对象 方式1:使用Object()函数 方式2:使用自变量 方式3:使用工厂函数 创建多个 ...
随机推荐
- 1.TypeError: must be str, not bytes
1.TypeError: must be str, not bytes错误: 解答: 写文件处 open(filename, 'w').write 应该写为 open(filename, 'wb'). ...
- MYSQL数据库的日志文件
日志文件:用来记录MySQL实例对某种条件做出响应时写入的文件.如错误日志文件.二进制日志文件.慢查询日志文件.查询日志文件等. 错误日志 show variables like 'log_error ...
- mysql经典查询
建立数据库 1.建立一个数据库 create database work; 2.进入数据库work use work; 3.数据库默认编码可能不支持中文,可以在这里设置下 set names gbk; ...
- Linux Directory Structure
Note: Files are grouped according to purpose. Ex: commands, data files, documentation. Parts of a Un ...
- 八段代码彻底掌握 Promise
1.Promise的立即执行性 var p = new Promise(function(resolve, reject){ console.log("create a promise&qu ...
- python——高级特性(2)
迭代 在python中迭代是通过for ....in...完成的,只要是可迭代对象都可以迭代 #!usr/bin/python #-*- coding:UTF-8 -*- #tuple迭代 t=[(1 ...
- 分享一个好用的dns
- MySQL---1、介绍
一.MySQL简介 1.MySQL简介 MySQL是一个轻量级关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.目前MySQL被广泛地应用在Internet上的中小型网站 ...
- [转] 如何应用设计模式设计你的足球引擎(一和二)----Design Football Game(Part I and II)
原文地址: http://www.codeproject.com/KB/architecture/applyingpatterns.aspx 作者:An 'OOP' Madhusudanan 译者:赖 ...
- http_proxy_module 模块(proxy_pass 指令)
1. proxy_pass 指令介绍 该指令属于 http_proxy_module, http_proxy_module 模块可以将请求转发到另一台服务器. 在 nginx 反向代理是,会通过 lo ...