ECMAScript

Nodejs基础 深刻理解浏览器 环境变量 基础语法

自作多情 提交于 2021-01-09 08:58:01
Nodejs第一天 1.什么是Nodejs ​ Nodejs是一个可以运行(解析)ECMAScript的环境; ​ ECMAScript是规定了一些列的语法 ,这些语法想要解析的执行就需要放在某个环境中真个环境叫做 宿主环境 ​ 在浏览器中执行 叫做JavaScript ​ 在Flash中运行 叫做 ActionScript ​ 在Nodejs中运行 叫做 Nodejs 2.深刻理解浏览器 ​ 浏览器是一个运行ECMAScript的环境 ​ Chorme浏览器不只是运行ECMAScript 还通过渲染引擎 (Webkit) 另外在配合一个专门解析ECMASctipt的引擎(V8) 3.环境变量 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。 当在命令行窗口输入某个命令要求系统运行一个程序而没有告诉它程序所在的完整路径时,操作系统会优先当前目录下面查找此程序,找到则执行,找不到会到环境变量path中去找。 一般情况下安装Nodejs时,会自动设置path环境变量,所以安装完成立即执行node -v就能被执行,但是也有各别情况环境变量不能自动被添加,这时就需要手动添加。 步骤 计算机 右键 属性 高级系统设置 环境变量 设置变量path的值 (用户的只对该用户生效 系统的对所有用户生效) 3.Nodejs基础语法

免费送书 | 《JavaScript忍者秘籍(第2版)》

耗尽温柔 提交于 2021-01-08 03:54:56
2021年第一个送书日, 送出这本书 📚 —— 《JavaScript忍者秘籍(第2版)》 本书将帮你掌握隐秘而又强大的 JavaScript 现代技术。 特别提醒:近期疫情反复,各位同学注意做好防护,保重身体。💗 《JavaScript忍者秘籍(第2版)》简介 内容简介 JavaScript语言非常重要,相关的技术图书也很多,但至今市面没有一本对JavaScript语言的最重要部分(函数、闭包和原型)进行深入、全面介绍的图书,也没有一本讲述跨浏览器代码编写的图书。而本书弥补了这一空缺,是由jQuery库创始人编写的一本深入剖析JavaScript语言的书。 本书共分4个部分,从不同层次讲述了逐步成为JavaScript高手所需的知识。本书从JavaScript语言及最重要的特性谈起,由浅入深地探讨了函数、作用域、闭包、生成器函数、对象、数组、模块化、JavaScript与Web页面的交互以及事件等主题,引导读者更加深入地了解JavaScript的方方面面,充分展示了JavaScript语言的各种特性。本书结合ECMAScript 6和7的相关概念,涵盖了流行的JavaScript框架所使用的技术。 本书适合具备一定JavaScript基础知识的读者阅读,也适合从事程序设计工作并想要深入探索JavaScript语言的读者阅读。 作者介绍 John Resig 是可汗学院(Khan

ES6之Map对象

五迷三道 提交于 2021-01-06 17:26:55
Map 对象保存键值对,并且能够记住键的原始 插入顺序 。 任何值 (对象或者 原始值 ) 都可以作为 一个键或一个值 。 一个Map对象在迭代时会根据对象中元素的插入顺序来进行 — 一个 for...of 循环在每次迭代后会返回一个形式为[key,value]的数组。 键的比较是基于 sameValueZero 算法: NaN 是与 NaN 相等的(虽然 NaN !== NaN ),剩下所有其它的值是根据 === 运算符的结果判断是否相等。 在目前的ECMAScript规范中, -0 和 +0 被认为是相等的,尽管这在早期的草案中并不是这样。有关详细信息,请参阅 浏览器兼容性 表中的“Value equality for -0 and 0”。 Map与普通对象的区别 : Map Object 意外的键 Map 默认情况不包含任何键。只包含显式插入的键。 const func = () => null ; const object = {}; const array = []; const bool = false ; const map = new Map (); map . set ( func , 'value1' ); map . set ( object , 'value2' ); map . set ( array , 'value3' ); map . set (

详解es6 class语法糖中constructor方法和super的作用

寵の児 提交于 2020-12-28 03:13:17
大多数面向对象的编程语言都支持类和类继承的特性,而JS却不支持这些特性,只能通过其他方法定义并关联多个相似的对象,这种状态一直延续到了ES5。由于类似的库层出不穷,最终还是在ECMAScript 6中引入了类的特性。本文将详细介绍ES6中的类,ES6 的 class 属于一种“语法糖”,所以只是写法更加优雅,更加像面对对象的编程,其思想和 ES5 是一致的。 function Point(x, y) { this .x = x; this .y = y; } Point.prototype.toString = function() { return ' ( ' + this .x + ' , ' + this .y + ' ) ' ; } 等同于 class Point { constructor(x, y) { this.x = x; this.y = y; } toString() { return '(' + this.x + ',' + this.y + ')'; } } 其中 constructor 方法是类的构造函数,是一个默认方法,通过 new 命令创建对象实例时,自动调用该方法。一个类必须有 constructor 方法,如果没有显式定义,一个默认的 consructor 方法会被默认添加。所以即使你没有添加构造函数,也是会有一个默认的构造函数的。一般

vue2.0实现倒计时15分钟

那年仲夏 提交于 2020-12-27 00:28:49
<template> <div> <p>{{minute}}:{{second}}</p> </div> </template> <script type="text/ecmascript-6"> export default { data () { return { goodsObj: [ { name: '大胖的店' , checked: false , list: [ { name: '麻辣二胖' , price: 23.00 , realStock: 10 , fare: 1.5 , num: 1 , checked: false }, { name: '香辣二胖' , price: 21.00 , realStock: 2 , fare: 1.5 , num: 2 , checked: false }, { name: '红烧二胖' , price: 88.00 , realStock: 8 , fare: 1.5 , num: 4 , checked: false } ] } ], minutes: 15 , seconds: 0 } }, mounted () { this .add() }, methods: { num: function (n) { return n < 10 ? '0' + n : '' + n }, add: function () {

常用的ES6语法

时光怂恿深爱的人放手 提交于 2020-12-25 14:03:29
什么是ES6?   ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了。Mozilla公司将在这个标准的基础上,推出JavaScript 2.0。   ECMAScript和JavaScript到底是什么关系?很多初学者会感到困惑,简单来说,ECMAScript是JavaScript语言的国际标准,JavaScript是ECMAScript的实现。 一、let和const 在JavaScript中咱们以前主要用关键var来定义变量,ES6之后,新增了定义变量的两个关键字,分别是let和const。 对于变量来说,在ES5中var定义的变量会提升到作用域中所有的函数与语句前面,而ES6中let定义的变量则不会,let声明的变量会在其相应的代码块中建立一个暂时性死区,直至变量被声明。 let和const都能够声明块级作用域,用法和var是类似的,let的特点是不会变量提升,而是被锁在当前块中。 一个非常简单的例子: function test() { if(true) { console.log(a)//TDZ,俗称临时死区,用来描述变量不提升的现象 let a = 1 } } test() // a is not defined function test() { if(true) { let a = 1 }

JavaScript(JS)基本语法(一)

别等时光非礼了梦想. 提交于 2020-12-22 06:36:31
https://www.cnblogs.com/haiyan123/p/7577598.html 一、 JavaScript 的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator 2.0产品中开发出一套livescript的脚本语言.Sun和Netscape共同完成.后改名叫Javascript 微软随后模仿在其IE3.0的产品中搭载了一个JavaScript的克隆版叫Jscript. 为了统一三家,ECMA(欧洲计算机制造协会)定义了ECMA-262规范.国际标准化组织及国际电工委员会(ISO/IEC)也采纳 ECMAScript 作为标准(ISO/IEC-16262)。从此,Web 浏览器就开始努力(虽然有着不同的程度的成功和失败)将 ECMAScript 作为 JavaScript 实现的基础。EcmaScript是规范. 二、 ECMAScript 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3

ES6 rest参数和扩展运算符... 讲解及示例

假装没事ソ 提交于 2020-12-19 11:22:20
《JavaScript高级程序设计》在讲Function类型时说: 说起来ECMAScript中什么最有意思,我想那莫过于函数了。 其中有意思的地方之一:rest参数。 我们知道,ES6支持类(class)这种写法了: class A { constructor(x, y) { this._x = x; this._y = y; } } 如果是C++,在对象初始化时如果想 指定不同的方式来初始化数据成员 ,可以重载构造函数,然后在定义新对象时,编译器根据实参类型决定使用哪个构造函数。 而JavaScript没有函数重载,如何实现支持 多种初始化方式 呢? 首先,JS函数的参数与大多数其他语言中函数的参数有所不同,即便刚开始只定义了两个参数,在调用时也未必一定要传两个,可以传一个或者三个。 在函数体内,它可以通过一个对象来获取所有参数,这个对象是:arguments。比如: function sayHi() { alert("hello " + arguments[0] + "," + arguments[1]); } 到了ES6,又引入了 rest参数 ,形式为:...变量名。arguments对象不是数组,只是可以下标访问而已,而rest参数是一个真正的数组。 使用rest参数,上面的构造函数可以这样写: class A { constructor(...args) { if

JavaScript函数的默认参数(default parameter)

人盡茶涼 提交于 2020-12-19 04:46:41
JavaScript函数的默认参数(default parameter) js函数参数的默认值都是 undefined , ES5 里,不支持直接在形参里写默认值。所以,要设置默认值,就要检测参数是否为 undefined ,按需求赋值。 function multiply(a, b) { b = typeof b !== 'undefined' ? b : 1; return a*b; } multiply(5); // 5 multiply(5, 0); // 0 上面是 MDN 的相关例子,是比较严谨的写法。不推荐下面的写法: function multiply(a, b) { b = b ? b : 1; // b = b || 1; return a*b; } multiply(5); // 5 multiply(5, 0); // 5 因为,在布尔类型环境中** undefined **, 0 , "" , NaN , ** null **会被转换成 false 。 进一步,还可以先利用arguments对象,再设置默认值 : function multiply(a) { var b = typeof arguments[1] !== 'undefined' ? arguments[1] : 1; return a*b; } multiply(5); // 5

web前端小知识点

大城市里の小女人 提交于 2020-12-18 02:17:07
写在前面:   该篇是个人平时对web前端小知识点的总结,会不定时更新......   如有错误,敬请批评指正。 正文:   1、WWW是World Wide Web的缩写。   2、HTML(Hyper Text Markup Language)是用于描述网页文档的超文档标记性语言。   3、Web主要包括超文本传输协议(HTTP)、统一资源定位符(URL)以及超文本标记语言HTML组成。   4、HTTP是客户端和服务器端信息交互的网络协议。   5、URL是网络上的资源的唯一标识符,俗称网址。   6、文本、图像、超级链接是网页的3种基本元素。   7、HTML中标签是专门给指定文字添加语义的。   8、网页主要由三部分组成:结构、标签、行为;对应的标准也分三个方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准语言主要包括对象模型(W3C、DOM等)、ECMAScript等。 原文出处:https://www.cnblogs.com/CurryLi/p/11374391.html 来源: oschina 链接: https://my.oschina.net/u/4382953/blog/3255981