自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

热带雨林小疯子

热带雨林小疯子的小总结

  • 博客(9)
  • 收藏
  • 关注

原创 Class继承中super

super这个关键字,既可以当作函数使用,也可以当作对象使用。在这两种情况下,它的用法完全不同。1、super作为函数调用super作为函数调用时,代表父类的构造函数。ES6 要求,子类的构造函数必须执行一次super函数。class A {}class B extends A { constructor() { super(); }}上面代码...

2018-05-26 09:00:43 488

原创 对子类的原型要指向父类的实例而不是父类的原型的理解

继承,指一个对象直接使用另一对象的属性和方法。继承机制规定,子类可以拥有超类的所有属性和方法,也可以扩展定义自己特有的属性,增加新方法和重新定义超类的方法。若子类的原型直接要指向父类的的原型,当子类修改或增添原型方法时,也会改变父类的原型方法,因为子类和父类的原型引用是一样的。此时,这些增添的属性方法不是子类所特有的,违背了继承的机制。看下面一个例子:function P(){}function...

2018-05-13 10:16:04 1567 3

原创 js为什么会进行变量提升(词法分析)

js代码是自上而下执行,但是在js代码执行前,会先进行词法分析。所以js自上而下的执行过程分为两个词法分析和执行两个阶段。词法分析主要有三个步骤:分析参数再分析变量的声明分析函数声明具体步骤如下:函数在运行的瞬间,生成一个活动对象(Active Object),简称AO第一步:分析形参:函数接收形式参数,添加到AO的属性,并且这个时候值为undefine,即AO.age=undefine接收实参,...

2018-05-04 20:27:46 1461 1

原创 Node模块(CommonJS 规范)

在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Node环境中,一个.js文件就称之为一个模块(module),有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。Node 应用由模...

2018-04-23 19:20:47 839

原创 浏览器加载ES6模块

一、加载方式1.1 同步加载HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。<!-- 页面内嵌的脚本 --><script type="application/javascript"> // code</script><!-- 外部脚本 --><script type="appli

2018-04-22 21:24:17 1470

原创 js跨域方法总结(一)

一、什么是跨域跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,或是a页面为ip地址, b页面为域名地址,所进行的访问行动都是跨域。二、同源策略浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。同ip(或domain),同端口,同协议视为同一个域,一个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源。这种安全...

2018-04-19 20:13:54 313

原创 node加载模块顺序

当require('xxx')一个模块时,优先加载核心模块;以路径形式加载文件模块:如果显示指定文件模块扩展名,则在该路径下查找该模块是否存在; 如果未显示指定文件模块扩展名,则在该路径下,依次查找以.js、.json、.node为扩展名的模块是否存在;既不是核心模块,又不是以路径形式表示的模块:表示该模块一个位于各级node_modules目录的已安装模块(全局安装或局部安装),则首先在当前目录...

2018-04-17 10:20:59 997

原创 Promise、Generator与异步编程

一、异步任务运行执行异步操作的传统方式是调用一个包含回调的函数,例如:let fs = require("fs");fs.readFile("config.json", function(err, contents) {if (err) {throw err;}doSomethingWith(contents);console.log("Done");});   当你拥有数量少而有限...

2018-04-17 09:56:10 205

原创 promise简介

一、 什么是Promise在《你不知道的JavaScript中》有个场景介绍得很形象:    我走到快餐店的柜台,点了一个芝士汉堡。我交给收银员1.47美元。通过下订单并付款,我已经发出了一个对某个值(就是那个汉堡)的请求。我已经启 动了一次交易。    但是,通常我不能马上就得到这个汉堡。收银员会交给我某个东西来代替汉堡:一张带有订单号的收据。订单号就是一个 IOU(I owe you, 我欠你...

2018-04-17 08:35:22 1988 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除