自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

弱智de克星

欢迎指正

  • 博客(11)
  • 资源 (7)
  • 收藏
  • 关注

原创 JavaScript原型——对象关联

检查“类”关系在Java这些面向类的语言中,检查一个实例的继承祖先叫做反射。在JavaScript里面,怎么检查对象的委托关联呢?function Foo() { //...}var a =new Foo();如何通过反射找出a的祖先(委托关联)呢?a instanceof Foo; //true instanceof回答的问题是:在a的整条[[Prototype]]链中是否有指向

2017-10-29 22:10:49 255

原创 JavaScript原型——继承

像Java这样面向类的语言,继承就是子类与母类的关系,动物类下面有猫类、狗类等等,每个类都有自己的特性。但是,JavaScript没有类(至少在ES6之前),采用原型继承:

2017-10-28 21:51:30 179

原创 JavaScript原型——构造函数

没有构造函数,只有对函数的构造调用。构造函数是在类中的知识,很多人以为JavaScript中也有构造函数是因为这样的代码:function Foo() { //...}var a = new Foo();认为Foo是一个类的原因是看到了关键字new,在面向类中的语言中(比如Java)实例化对象的时候也会用到。Foo()的调用方式类似初始化类的时候类的构造函数的调用方式。其实,Foo

2017-10-26 22:25:02 205

原创 JavaScript原型——属性设置和屏蔽

给一个对象设置属性,这是对象的知识点,但是由于涉及到了原型链,就放在原型里了。预备知识Getter和Settergetter和setter都是隐藏函数,getter会在获取属性值时调用,setter会在设置属性值时调用。当你给一个属性定义getter、setter或者两者都有,那这个属性就被定义为"访问描述符"。对于访问描述符,JavaScript会忽略它们的value和writable特性,

2017-10-24 10:08:00 819

原创 JavaScript对象——遍历

JavaScript中的数据结构有四种:数组(也是对象)对象Map(ES6新增)Set(ES6新增)数组和对象大家应该很熟悉了,下面介绍一下Map和Set。Map学过Java的同学应该很清楚(我怎么感觉JavaScript越来越像Java了。。。) 定义一个Map:var map = new Map([["a",1],["b",2]]); //二维数组map.set("c",3)

2017-10-19 22:51:46 210

原创 JavaScript对象——不变性

当我们希望属性或者对象是不可改变的,可以通过多种方法实现,但是,创建的不变都是浅不变性,只会影响目标对象和它的直接属性。对象常量通过writable: false和configurable: false就可以创建一个真正的常量属性(不可修改、重定义、删除):var obj = {};Object.defineProperty(obj,"a",{ value: 2, writable

2017-10-17 22:45:01 238

原创 JavaScript对象——属性描述符

定义对象有两种方式:var obj = {"a":1,"b":2}或者var obj = new Object();obj.a = 1;obj.b = 2;我们一般都会用第一种方式吧?第二个还要逐个添加呢,太麻烦了。 有没有想过定义一个属性a,难道这个a就是光杆司令,只有一个值吗? 其实吧,每一个属性都有一群小兵呢,它们叫做属性描述符,就是详细描述这个属性的。看代码:var obj = {"

2017-10-16 22:28:37 352

原创 三种Webpack打包方式

准备工作mkdir webpack_demo && cd webpack_demo #新建文件夹npm init #创建package.json文件npm install --save-dev webpack #安装依赖(非全局安装)mkdir app && mkdir public #新建app和public文件夹cd app && cd.>Greeter.js && cd

2017-10-11 14:44:12 7061

原创 前端代码重构

重构指的是在不改变代码外部行为的情况下进行源代码修改。 重构的目的主要是提高代码的可维护性、可读性和性能。 重构之前需要考虑的是重构后如何才能保证外部行为不改变。重构的过程主要分为如下几个步骤:1、删除无用代码,精简代码修改的过程需要注意,不停地查看函数和变量在上下文的调用关系,以免删错代码。2、前端代码规范化将css代码放到独立的文件中调整代码的层次缩进格式,不同层级按照4个空

2017-10-09 21:31:21 2490 1

原创 零宽断言

看到这个标题是不是虎躯一震,啥玩意啊?别着急,别看这个名词生僻,下面的…更加生僻哈哈哈。 言归正传,不管它叫啥,我们会用就行了。零宽嘛,就是没有宽度,只匹配位置,不匹配内容,是不是想起来了,对的,就是类似于^、$、\b这种。零宽度正预测先行断言(?=exp),断言自身出现的位置的后面能匹配表达式exp。例如,我需要匹配以ing结尾的每个单词。"hello sing dancing".match(/

2017-10-09 12:27:35 325

原创 正则表达式:后向引用

预备知识replace()方法大家一定很熟悉了吧,stringObject.replace(regexp/substr,replacement)w3school里面有一段话相信大家也看过了: 注意:ECMAScript v3 规定,replace() 方法的参数 replacement可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数

2017-10-07 16:42:25 1778 1

Node与Express开发.pdf

个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!

2017-10-23

JavaScript设计模式 (中文版).pdf

个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!

2017-10-23

高性能JavaScript.pdf

个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!

2017-10-23

锋利的jQuery

jquery技术,锋利的jQuery.pdf

2017-05-21

空空如也

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

TA关注的人

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