js由来
 
     95年那时,绝大多数因特网用户都使用速度仅为28.8kbit/s 的“猫”(调制解调器)上网,但网页的大小和复杂性却不断增加。为完成简单的表单验证而频繁地与服务器交换数据只会加重用户的负担。想象一下:用户填写完一个表单,单击“提交”按钮,然后等待30秒钟,最终服务器返回消息说有一个必填字段没有填好......当时走在技术革新最前沿的 Netscape(网景)公司,决定着手开发一种客户端语言,用来处理这种简单的验证。
 
 与Java并无关系
     JavaScript与Java并没有关系,是网景公司在第一版发布之前为了搭上媒体热炒 Java 的顺风车,临时把 LiveScript 改名为 JavaScript。
 
 IE发布克隆版引发标准问题
     JavaScript 1.0 获得成功,网景预备发布1.1 版,恰巧那个时候微软决定进军浏览器,发布了 IE 3.0 并搭载了一个 JavaScript 的克隆版,叫做 JScript(这样命名是为了避免与网景潜在的许可纠纷)。微软步入 Web 浏览器领域的这重要一步虽然令其声名狼藉,但也成为 JavaScript 语言发展过程中的重要一步。
 
     在微软进入后,有 3 种不同的 JavaScript 版本同时存在:Netscape Navigator 3.0 中的 JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。与 C 和其他编程语言不同的是,JavaScript 并没有一个标准来统一其语法或特性,而这 3 种不同的版本恰恰突出了这个问题。
 
     标准制定
     1997 年,以 JavaScript 1.1 为蓝本的建议被提交给了欧洲计算机制造商协会。该协会指定 39 号技术委员会,由来自 Netscape、Sun、微软、Borland 及其他关注脚本语言发展的公司的程序员组成,经过数月完成了 ECMA-262——定义一种名为 ECMAScript的新脚本语言的标准。 第二年,国标标准化组织和国际电工委员会也采用了 ECMAScript 作为标准。 自此以后,浏览器开发商就开始致力于将 ECMAScript 作为各自 JavaScript 实现的基础,也在不同程度 上取得了成功。
 
 
BOM注释:
 
     XMLHttpRequest 对象用于在后台与服务器交换数据。
    activeXObject 微软扩展,打开微软应用程序,例Excel,word等
 
 
JS引用方式:
 
          推荐将<script>放置在<body>页面内容的后面,或</body>标签之后的原因:
 
按照传统的做法,所有<script>元素都应该放在页面的<head>元素中,意味着必须等到全部JS代码都被下载、 解析和执行完成以后,才能开始呈现页面的内容(浏览器在遇到<body>标签时才开始呈现内容)。所以对于需要很多JS代码的页面来说,无疑会导致浏览器在呈现页面时出现明显的延迟,延迟期间的浏览器窗口中将是一片空白。为了避免这个问题,现在一般都把全部JS的引用放在<body>元素中页面内容的后面。
 
 
JS代码标准:
 
语句必须以分号作为结束符,不要忽略分号的原因:
 
var sum = a + b  // 即使没有分号也是有效的语句——不推荐
var sum = a - b;  // 有效的语句——推荐
 
虽然语句结尾的分号不是必需的,但建议任何时候都不要省略它。因为加上分号可以避免很多错误(例如不完整的输入),开发人员也可以放心地通过删除多余的空格来压缩JS代码(代码行结尾处没有分号会导致压缩错误)。另外,加上分号也会在某些情况下增进代码的性能,因为这样解析器就不必再花时间推测应该在哪里插入分号了。
     
 
函数参数:
     
          与其他程序语言不同,ECMAScript不会验证传递给函数的参数个数,是否等于函数定义的参数个数,并且不会引发任何错误,因为ECMAScript中的参数在内部是用数组来表示的,函数接受到的始终是这个数组,而不关心数组中包含哪些参数,任何遗漏的参数都会以 undefined传递给函数,多余的参数函数也会忽略。

关于JS历史的更多相关文章

  1. Node.js 历史

    Node.js 是在 2009年5月份创建的,是属于典型的 Git 和 GitHub 时代最初孕育的项目.另外需要先说明一点,那就是回顾 Node.js 的历史,并不是仅仅为了给大家回味,而是想找到在 ...

  2. js 历史

    原文http://javascript.ruanyifeng.com/introduction/history.html JavaScript的诞生 JavaScript 因为互联网而生,紧随着浏览器 ...

  3. JS历史

    JavaScript伴随着互联网的发展一起发展.互联网周边技术的快速发展,刺激和推动了JavaScript语言的发展. 2006年,jQuery函数库诞生,作者为John Resig.jQuery为操 ...

  4. 关于JS历史拓展

      js由来        95年那时,绝大多数因特网用户都使用速度仅为28.8kbit/s 的“猫”(调制解调器)上网,但网页的大小和复杂性却不断增加.为完成简单的表单验证而频繁地与服务器交换数据只 ...

  5. 我的JS历史知识

    话说在那long long ago的1995以前,绝大多数因特网用户都使用速度仅28.8kbit/s的猫(调制调解器)上网,人们注册成为某个网站的用户时,填写好资料,发送给服务器去验证,如果某一资料填 ...

  6. Backbone.js 历史&文档

    历史: 0.1.0版本产生于  ‘— Oct 13, 2010 — Docs’ 文档: https://www.html.cn/doc/backbone/#changelog

  7. wex5 实战 wex5与js的组件关系与执行顺序(父子与先后)

    初学wex5,先理理让人容易混淆的三个概念: 一 基本概念: 1 wex5组件,顾名思义,在编辑窗口右侧的组件集合里的,都是wex5基于开源自创的组件,并封装了一套自已的方法.目的是为了方便.相关方法 ...

  8. Node.js 安装配置介绍

    Node.js 安装配置 本章节我们将向大家介绍在window和Linux上安装Node.js的方法. 本安装教程以Node.js v6.10.1 LTS(长期支持版本)版本为例. Node.js安装 ...

  9. 深入学习JS执行--单线程的JS

    一.介绍 随着js不断学习,你可能会慢慢的好奇,用了这么久的js,却不知道这js在浏览器怎么被执行的,很尴尬.所以,我查阅很多资料来总结JS的执行过程,也分享出来,和大家一起学习. 本篇主要讲单线程的 ...

随机推荐

  1. java jdbc->mycat->oracle SqlException异常中文信息乱码解决

    mycat字符集gbk oracle字符集gbk 原jdbc连接串: base.jdbc.url=jdbc:mysql://127.0.0.1:3306/XXX?useUnicode=true& ...

  2. Vue 中的动画特效

    Vue 中的动画特效 CSS 实现标签显隐 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  3. 利用JQuery Mobile开发web app

    什么是web app web app 是基于web的应用程序,是针对移动设备优化后的web站点,它具有 开发成本低——采用web开发技术,不需要考虑跨平台以及底层适配问题: 升级简单——不需要通知用户 ...

  4. Python函数的作用域规则和闭包

    作用域规则 命名空间是从名称到对象的映射,Python中主要是通过字典实现的,主要有以下几个命名空间: 内置命名空间,包含一些内置函数和内置异常的名称,在Python解释器启动时创建,一直保存到解释器 ...

  5. orm查询存在价格为空问题

    明明写的没错还是查不到 打印一下sql语句: 解决办法: 把数字变成字符串格式 所以涉及金融计算,涉及小数啊,要求特别精确的,我们用字符串存储.

  6. Install jdk on Ubuntu16

    wikiHow to Install Oracle Java JDK on Ubuntu Linux This tutorial will cover the installation of 32-b ...

  7. 利用Selenium自动化测试android wap页

    http://blogs.360.cn/360qtest/2014/04/01/%E5%88%A9%E7%94%A8selenium%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5% ...

  8. topcoder srm 440 div1

    problem1 link 二分答案,然后计算总时间.跟$T$比较确定要增大答案还是减小答案. problem2 link 可以看作是以‘*’所在位置为根的树.所以每个非根节点都有一个父节点. 那么每 ...

  9. JWT、OAUTH2与SSO资料补充

    JWT: 阮一峰:http://www.ruanyifeng.com/blog/2018/07/json_web_token-tutorial.html https://blog.csdn.net/q ...

  10. What is event bubbling and capturing?

    What is event bubbling and capturing? 答案1 Event bubbling and capturing are two ways of event propaga ...