ECMAScript

JS全解

此生再无相见时 提交于 2019-12-18 00:21:11
javascript的历史回顾 javascript 因为互联网而生,紧随着浏览器的出现而问世。 1990年,欧洲的 Tim Berners-lee(伯纳斯 李)在互联网的基础上发明了互联网。 1992年,NCSA开发出一个独立的浏览器,叫做Mosaic。 1994年,navigator发布了1.0版,却发现有些操作不宜在服务端操作,比如表单验证。 1995年,Brendan Eich(布兰登 奇)发明了javascript最初为了验证表单。 1996年,navigator 2.0浏览器正式内置了javascript脚本语言。 javascript的版本 1997年,ECMAscript 1.0 发布。 1998年,ECMAscript 2.0 发布。 1999年,ECMAscript 3.0 发布。 2008年,ECMAscript 5 发布。 2015年,ECMAscript 6 发布。 javascript能做什么 和服务器交互。 页面特效。 移动端。 服务器。 数据库。 javascript:语言特点 javascript 是一种解释性脚本语言。 javascript 是一种基于对象的脚本语言。 javascript 简单。 javascript动态性。 javascript 跨平台(移出编写,到处运行)。 javascript 安全。 JS四种输出方式 alert ();

时光毁灭记忆、已成空白 提交于 2019-12-17 05:55:08
javaScript历史回顾 JavaScript 因为互联网而生,紧随着浏览器的出现而问世。回顾它的历史,就要从浏览器的历史讲起。 1990年,欧洲的Tim Berners-Lee(伯纳斯·李)在互联网基础上发明了万维网,可以在网页上浏览器网页文件。最早的网页只能在操作系统的终端里浏览,也就是只能用命名行的方式,网页在字符窗口里显示,非常的不方便。 1992年,NCSA开始开发一个独立的浏览器,叫做Mosaic。Mosaic:互联网历史上第一个获普遍使用和能够显示图片的网页浏览器 1994年12月,navigator发布了1.0版,市场份额一举超过90%。 Netscape 公司很快发现,Navigator浏览器需要一种可以嵌入网页的脚本语言,用来控制浏览器行为。当时,网速很慢而且上网费很贵,有些操作不宜在服务器端完成。比如,如果用户忘记填写“用户名”,就点了“发送”按钮,到服务器再发现这一点就有点太晚了,最好能在用户发出数据之前,就告诉用户“请填写用户名”。这就需要在网页中嵌入小程序,让浏览器检查每一栏是否都填写了。 1995年5月,Brendan Eich只用了10天,就设计完成了这种语言的第一版。最初名字叫做 Mocha,1995年9月改为LiveScript。12月改名叫做JavaScript当时的意图是将 JavaScript 作为 Java 的补充,用来操作网页。

全栈-day01

落爺英雄遲暮 提交于 2019-12-17 04:05:39
javascript 1990年,欧洲的伯纳斯·李 发明了浏览器,不可以浏览图片。 1992年,NCSA开始开发一个独立的浏览器,叫做Mosaic,可以浏览图片。 1994年12月,navigator发布了1.0版 1995年5月,Brendan Eich只用了10天,就设计完成了这种语言的第一版。最初名字叫做 Mocha,1995年9月改为LiveScript。12月改名叫做JavaScript当时的意图是将 JavaScript 作为 Java 的补充,用来操作网页。 1996年3月,Navigator 2.0 浏览器正式内置了 JavaScript 脚本语言。 1996年8月,微软模仿JavaScript开发了一种相近的语言,取名为JScript(JavaScript是Netscape的注册商标,微软不能用),首先内置于IE 3.0。Netscape公司面临丧失浏览器脚本语言的主导权的局面。 1996年11月,Netscape公司决定将JavaScript提交给国际标准化组织ECMA。目前共25个人。该委员会定期开会,所有的邮件讨论和会议记录,都是公开的。 JAVAScirpt版本 1997年7月,ECMA组织发布ECMAScript 1.0版。ECMAScript只用来标准化JavaScript这种语言的基本语法结构 1998年6月,ECMAScript 2.0版发布。

JavaScript简介

纵饮孤独 提交于 2019-12-16 17:31:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 工作中JavaScript用到的比较多,打算把JavaScript基础知识好好梳理一下,大家互相探讨学习。 本篇博客希望可以从JavaScript的技术的背景、原理和设计出发,把知识的内容呈现出来。这种形式适用于有体系和源流的知识,比较适合系统学习和理解。 JavaScript诞生与1995年,当时的主要目的之一是处理以前由服务器端语言(如Perl)负责的一些验证操作。在JavaScript之前,必须把表单数据发送到服务器端才能确定用户是否没有填写某个必填域,Netscape Navigator希望通过JavaScript来解决这个问题。 想要全面理解和掌握JavaScript,关键在于弄清楚他的本质、历史和局限性。 ————《JavaScript高级程序设计(第三版)》 JavaScript简史 在Web日益流行的同时,人们对客户端脚本语言的需求也越来越强烈,当时就职于Netscape公司的Bredan Erich开始着手计划于 1995年2月 发布的NetscapeNavigator 2开发一种名为LiveScript的脚本语言————该语言将同时在浏览器和服务器中使用(它在服务器上的名字是liveWire),Netscape和Sun公司建立了一个开发联盟,在发布前夕

前端基础之JavaScript

非 Y 不嫁゛ 提交于 2019-12-16 15:24:41
JavaScript概述 1、ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。二是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 2、ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 ECMAScript 5.1 版本变更 2015 ECMAScript 6

如何创建一个包含1…N的数组

痴心易碎 提交于 2019-12-14 15:31:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我正在寻找以下所有替代方案,以创建一个包含1到N的JavaScript数组,其中N仅在运行时才知道。 var foo = []; for (var i = 1; i <= N; i++) { foo.push(i); } 在我看来,应该有一种没有循环的方法。 #1楼 如果您碰巧像我 一样 在您的应用程序中使用 d3.js ,D3提供了一个帮助程序功能来帮助您执行此操作。 因此,要获得一个从0到4的数组,就像这样简单: d3.range(5) [0, 1, 2, 3, 4] 并按照您的要求从1到5获得一个数组: d3.range(1, 5+1) [1, 2, 3, 4, 5] 查看 本教程 以获取更多信息。 #2楼 这可能是生成数字数组的最快方法 最短的 var a=[],b=N;while(b--)a[b]=b+1; 排队 var arr=(function(a,b){while(a--)b[a]=a;return b})(10,[]); //arr=[0,1,2,3,4,5,6,7,8,9] 如果要从1开始 var arr=(function(a,b){while(a--)b[a]=a+1;return b})(10,[]); //arr=[1,2,3,4,5,6,7,8,9,10] 需要功能吗?

解决异步编程的方法—promise与await

青春壹個敷衍的年華 提交于 2019-12-12 11:52:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> promise是什么? Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。简单来说,promise的作用就是将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。 promise的特点 ① 对象的状态不受外界影响:promise异步操作有三种状态:进行中,已成功,已失败。只有异步操作才能改变这个状态。 ②一变则不变:promise状态一旦改变,就不会再发生变化,promise对象改变的两种可能,进行中—>已成功,进行中—>已失败。 promise的基本用法 promise对象是一个构造函数,用来生成promise实例 例子: const promise = new Promise(function(resolve, reject) { // ... some code if (/* 异步操作成功 */){ resolve(value); } else { reject(error); } }); 其中接受的参数是resolve和reject两个函数 resolve的作用:将promise对象的状态由进行中—>已完成

ECMAScript 6入门

我们两清 提交于 2019-12-11 04:10:28
一、ECMAScript 6 简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。 1、ECMAScript 和 JavaScript 的关系 要讲清楚这个问题,需要回顾历史。1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。次年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版。 因此,ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 Jscript 和 ActionScript) 2、ES6 与 ECMAScript 2015 的关系 2011 年,ECMAScript 5.1 版发布后,就开始制定 6.0 版了。因此,ES6 这个词的原意,就是指 JavaScript 语言的下一个版本。 ES6 的第一个版本,在 2015 年 6 月发布,正式名称是《ECMAScript 2015 标准》

Java 脚本引擎入门

天大地大妈咪最大 提交于 2019-12-10 05:04:43
Java Script Engine Java 脚本引擎可以将脚本嵌入Java代码中,可以自定义和扩展Java应用程序,自JDK1.6被引入,基于Rhino引擎,JDK1.8后使用Nashorn引擎,支持ECMAScript 5,但后期还可能会换。 脚本引擎包位于javax.script中,各个类名及描述如下 接口 Bindings 键值对映射,所有key都为String Compilable 由具体的脚本引擎实现,用于将脚本进行编译,可重复使用。 Invocable 由具体的脚本引擎实现,其允许调用先前已执行的脚本 ScriptContext 脚本引擎上下文,用于将应用程序与脚本引擎进行绑定 ScriptEngine 由具体的脚本引擎实现,定义了执行脚本的方法、键值对映射关系、脚本引擎上下文 ScriptEngineFactory 脚本引擎工厂,每一个ScriptEngine都有一个对应的工厂。ScriptEngineManager会从ClassLoader中获取所有的ScriptEngineFactories实例 类 AbstractScriptEngine ScriptEngine的抽象实现类,提供了ScriptEngine的标准实现 CompiledScript 由存储编译结果的类扩展。可以以Java类、Java类文件或者脚本操作码的形式存储,可以重复执行无需重新解析

在哪里可以找到有关在JavaScript中格式化日期的文档? [关闭]

非 Y 不嫁゛ 提交于 2019-12-09 12:15:43
我注意到JavaScript的 new Date() 函数非常聪明,可以接受多种格式的日期。 Xmas95 = new Date("25 Dec, 1995 23:15:00") Xmas95 = new Date("2009 06 12,12:52:39") Xmas95 = new Date("20 09 2006,12:52:39") 在调用 new Date() 函数时,找不到任何显示所有有效字符串格式的文档。 这是用于将字符串转换为日期。 如果我们从相反的角度来看,也就是将日期对象转换为字符串,直到现在,我仍然觉得JavaScript没有内置的API将日期对象格式化为字符串。 编者按: 以下方法是提问者的企图是工作在一个特定的浏览器,但一般 不 工作; 请参阅本页上的答案 以查看一些实际解决方案。 今天,我在date对象上使用 toString() 方法,令人惊讶的是,它用于将日期格式化为字符串的目的。 var d1 = new Date(); d1.toString('yyyy-MM-dd'); //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome d1.toString('dddd, MMMM ,yyyy') //Returns "Monday, June 29,2009" in