少侠:喂,有人吗?赶紧出来接客了,有没有人啊

帅气的我:来了来了,少侠有何吩咐?

少侠:把你们店里的秘籍呈上来我要学JS

帅气的我:少侠,别这样,我们秘籍是不外传的,祖上传下来的规矩,传人妖不传男女。

少侠:(胯下掏出刀)你看看这个再决定传不传

帅气的我:少侠你要这样的话,那我可要去把秘籍取过来给你了

少侠:赶紧,少说废话

(。。。一刻钟之后)

帅气的我:少侠,来了来了,刚出炉的秘籍你看如何

少侠:(一把夺过,凝神看了一刻钟之后)有点高深啊,喂,你!别跑,以后就由你来给我解读秘籍

帅气的我:(慢慢收回了即将要跨出店门的脚)少侠,别这样啊,我不卖身的

少侠:(拔刀)卖吗?

帅气的我:卖卖卖,以后我就是你的人了,少侠,你让我打狗我绝对不吃鸡,你让我玩荣耀我绝对不打撸啊撸

少侠:谁要你的人,赶紧滚过来,今天先给我说说这个秘籍第一部分,耽误练神功看我不削死你

帅气的我:来了来了,那少侠你听我慢慢道来,这第一招,JS起源:

    JS诞生于1995年,主要目的是处理以前有服务器语言(如Perl)负责的一些输入验证操作,在JS问世之前,必须把表单数据发送到服务器端才能确定用户是否填写了某个必填域,是否输入了无效的值,有了JS之后这种验证操作方便了很多很多。

    在当时用服务端来验证输入操作的时候,走在技术最前端的Netscape公司,决定着手开发一种客户端语言,当时就职于该公司的布兰登.艾奇开发了名为LiveScript的脚本语言---该语言将同时在浏览器和服务器中使用(服务器端的名字叫LiveWire),为了赶在发布日期前完成LiveScript的开发,Netscape和Sun公司进行联手,在发布前夕,为了搭上当时媒体热炒JAVA的顺风车,改名为javaScript,实际上两者类似雷峰塔和雷锋的关系。

    后来javaScript取得了重大成功,但是微软决定在Internet Explorer上和Netscape竞争竞争,所以加入了名为JSscript的javaScript实现。在当时业界还没有标准规定JavaScript的语法和特性,两个版本并存引发了业界的担心,谁也不想一样的功能得写两遍不同的代码吧,所以在1997年,以javaScript1.1为蓝本的建议被提交给了欧洲计算机制造商协会(ECMA),

该协会指定第39号委员会(TC39)负责指定统一的规范,他们经过数月完成了ECMA-262---定义一种名为ECMAScript的新脚本语言的标准。1998年,ISO/IEC(国际标准化组织和国际电工委员会)也采用了ECMAScript作为标准,自此,浏览器开发商就开始致力于将ECMAScript作为各自JavaScript实现的基础。

    虽然javaScript和ECMAScript通常被人们用来表达相同的含义,但JavaScript的含义却比ECMA-262规定的多的多,一个完整的JavaScript实现应该由一下三部分组成

    核心(ECMAScript)  文档对象模型(DOM) 浏览器对象模型(BOM)

    少侠,这就是第一招,你看我能歇会在继续给你讲吗?

少侠:好吧,看你表现还不错,歇会吧!

少侠学代码系列(一)->JS起源的更多相关文章

  1. 少侠学代码系列(二)->JS实现

    少侠:小子,休息好了没,赶紧的 帅气的我:好了好了,嚷什么 少侠:(拔刀)嗯? 帅气的我:少侠,淡定淡定,我们来看秘籍吧,刚刚我们说了JS实现是由三个部分组成的 核心(ECMAScript),文档对象 ...

  2. 从零开始学 Web 系列教程

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新…… github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:http:/ ...

  3. 从零开始学 Web 之 Vue.js(六)Vue的组件

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  4. 从零开始学 Web 之 Vue.js(四)Vue的Ajax请求和跨域

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  5. 从零开始学 Web 之 Vue.js(一)Vue.js概述,基本结构,指令,事件修饰符,样式

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  6. 从零开始学 Web 之 Vue.js(二)过滤器,按键修饰符,自定义指令

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  7. .net基础学java系列(四)Console实操

    上一篇文章 .net基础学java系列(三)徘徊反思 本章节没啥营养,请绕路! 看视频,不实操,对于上了年龄的人来说,是记不住的!我已经看了几遍IDEA的教学视频: https://edu.51cto ...

  8. .net基础学java系列(三)徘徊反思

    .net基础学java系列(三)徘徊反思 上一篇文章:.net基础学java系列(二)IDE 之 插件 这两天晚上看完了IDEA的教学视频:https://edu.51cto.com/course/1 ...

  9. .net基础学java系列(二)IDE 之 插件

    上一篇文章.net基础学java系列(二)IDE "扎实的基础"+"宽广的视野",基本可以帮我们摆脱码畜.码奴.码农的命运! IT领袖:IT大哥:IT精英:IT ...

随机推荐

  1. go 语言的序列化与反序列化

    与c 语言一样, 在网络编程中, go语言同样需要进行序列化与反序列化 在c语言中, 通常需要一块内存缓冲区用来收 发数据.缓冲区一般定义成char *buff类型. 当需要发送 数据时, 直接使用m ...

  2. 我们为什么要搞长沙.NET技术社区(三)

    我们为什么要搞长沙.NET技术社区(三) 万事先从饭局开始是中华民族留下来的一个优秀的传统美德. 昨天晚餐时间,长沙 .net 技术社区的主要发起人员进行了一番小聚,同时也作为一个非正式会议,对社区发 ...

  3. [Swift]LeetCode150. 逆波兰表达式求值 | Evaluate Reverse Polish Notation

    Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...

  4. [Swift]LeetCode216. 组合总和 III | Combination Sum III

    Find all possible combinations of k numbers that add up to a number n, given that only numbers from ...

  5. websocket+rabbitmq实战

    1. websocket+rabbitmq实战 1.1. 前言   接到的需求是后台定向给指定web登录用户推送消息,且可能同一账号会登录多个客户端都要接收到消息 1.2. 遇坑 基于springbo ...

  6. Java数据结构与算法 - 外部存储

    Q: 什么是外部存储? A: 外部存储特指某类磁盘系统,例如在大多数台式电脑或服务器中的硬盘. Q: 如何访问外部存储? A: 我们所学的数据结构都是假设数据存储在内存中,但是,在很多情况下要处理的数 ...

  7. 陕西省网络空间安全技术大赛部分题目writeup

    签到-欢迎来到CSTC2017 10 欢迎来到CSTC2017 ZmxhZ3tXZWlTdW9GeXVfQmllTGFuZ30= Base64解密:flag{WeiSuoFyu_BieLang} 种棵 ...

  8. maven的安装与配置(本地仓库、阿里云镜像设置)

    参考一:https://www.cnblogs.com/sigm/p/6035155.html 参考二:https://blog.csdn.net/AmaniZ/article/details/792 ...

  9. spark调用hdfsAPI

    spark 调用 hdfs API 查询文件名字.删除文件: 获取HDFS上面某个路径下的所有文件的名字 import org.apache.hadoop.conf.Configuration imp ...

  10. python数组并集交集补集

    并集 a = ["a", "b", "c", "d"] b = ["b", "e" ...