我来重新学习js 的面向对象(part 5)

2018-10-14
阅读 8 分钟
1.2k
这是最后的最后了,我会顺便总结一下各种继承方式的学习和理解。(老板要求什么的,管他呢) 一、继承-组合继承、伪经典继承 图片来自:[链接] 这是一种将原型链和借用构造函数的技术结合起来的一种继承模式。不是假合体,是真合体! 核心思想是: 使用原型链实现对原型属性和方法的继承。 通过借用改造函数来实现对实例...

我来重新学习js的面向对象(part 4)

2018-10-13
阅读 7 分钟
1.2k
续上一篇,随着业务越来越大,要考虑一些继承的玩意了,大千世界,各种东西我们要认识和甄别是需要靠大智慧去分门别类,生物学中把动植物按界、门、纲、目、科、属、种进行分类的方法可能是最有代表的实例之一.........

我来重新学习 javascript 的面向对象(part 3)

2018-08-26
阅读 3 分钟
1.1k
续上一集内容,有一些数据不需要共享的时候,但是又想实现共享数据处理,鱼与熊掌,都要兼得(老板就是这么霸气),那么经过工程师们的智慧交流,他们发现现实并非那么残酷,还有一些办法可取的,也就是组合使用构造函数模式和原型模式 和 动态原型模式

我来重新学习 javascript 的面向对象(part 2)

2018-08-22
阅读 7 分钟
1.5k
续上一集内容,通过构造函数的方式,成功地更新了生产技术,老板笑呵呵,工人少奔波,只是问题总比办法多,又遇到一个新问题,就是会造成一些资源的重复和浪费,那么经过工程师们的智慧交流,他们产生了一个新技术,原型模式。

我来重新学习 javascript 的面向对象(part 1)

2018-08-22
阅读 3 分钟
1.1k
很多job 的描述都说要求精通 javascript 面向对象编程,但是根据一般的套路,写精通其实就是熟练,写熟练其实就是一般,写一般其实就是懵逼!

关于ajax学习笔记

2018-08-19
阅读 17 分钟
2k
ajax全称Asynchronous JavaScript and XML(异步的javascript和XML),为什么会有这么一种技术的出现呢,因为前端时常会有这样的需求,我们只要局部刷新,不需要整一个刷新的时候,便催生了这样的技术。

jsonp-反向代理-CORS解决JS跨域问题的个人总结(更新 v2.0)

2018-08-18
阅读 8 分钟
3.1k
网上说了很多很多,但是看完之后还是很混乱,所以我自己重新总结一下。 解决 js 跨域问题一共有8种方法: jsonp(只支持 get) 反向代理 CORS document.domain + iframe 跨域 window.name + iframe 跨域 window.postMessage location.hash + iframe web sockets 各个方法都有各自的优缺点,但是目前前端开发方面比较常用...

一道js闭包面试题的学习

2018-08-18
阅读 4 分钟
2.5k
最近看到一条有意思的闭包面试题,但是看到原文的解析,我自己觉得有点迷糊,所以自己重新做一下这条题目。 闭包面试题原题 {代码...} 一、关于这个函数的执行过程 先大致说一下这个函数的执行过程: ① 初始化一个具名函数,具名函数就是有名字的函数,名字叫 fun。 ② 第一个 fun 具名函数执行之后会返回一个对象字面量...

更新版-梳理前端开发使用eslint和prettier来检查和格式化代码问题

2018-06-09
阅读 6 分钟
5.6k
在团队的项目开发过程中,代码维护所占的时间比重往往大于新功能的开发。因此编写符合团队编码规范的代码是至关重要的,这样做不仅可以很大程度地避免基本语法错误,也保证了代码的可读性。

梳理前端开发使用eslint-prettier检查和格式化代码

2018-05-07
阅读 7 分钟
9.8k
在团队的项目开发过程中,代码维护所占的时间比重往往大于新功能的开发。因此编写符合团队编码规范的代码是至关重要的,这样做不仅可以很大程度地避免基本语法错误,也保证了代码的可读性。

ES6零基础教学_解析彩票项目-学习笔记(一)

2018-01-17
阅读 1 分钟
3.5k
彩票项目实战学习记录(一) 完整走了一遍课程,觉得还不错。 总结: es6的知识点说得还算清楚,主要是为了了解和使用,不是深究,所以浅尝即止即可,所以觉得还不错。 完整还原了项目开发的代码设计和开发过程。 不过依然有一些不明所以的说明,也会有一些说错的地方,另外作者的英文发音有点点硬伤,但瑕不掩瑜。 多做...

split,formatDate,store,util组件

2017-05-08
阅读 4 分钟
2.9k
split组件(vue)的代码 split组件因为常使用,所以单独独立出来,并且结构相当简单. {代码...} formatDate.js组件 {代码...} {代码...} formatDate.js是一个自定义的js组件,不是vue组件,目录位于:src/common/js,这种写法是为了练习js的模块化编程 将单独的一个函数写成一个模块 通过export导出函数 通过import导入函数 {代...

es6学习笔记-函数扩展_v1.0_byKL

2017-03-21
阅读 4 分钟
1.7k
一旦设置了参数的默认值,函数进行声明初始化时,参数会形成一个单独的作用域(context)。等到初始化结束,这个作用域就会消失。这种语法行为,在不设置参数默认值时,是不会出现的。

es6学习笔记-Symbol_v1.0_byKL

2017-03-20
阅读 9 分钟
2.5k
它是JavaScript语言的第七种数据类型,前六种是:Undefined、Null、布尔值(Boolean)、字符串(String)、数值(Number)、对象(Object)。ES5的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin模式),新方法的名字就有可能与现有方法产生冲突...

练习倒计时例子_v1.0-byKL

2017-03-20
阅读 2 分钟
1.5k
练习倒计时例子 倒计时就是时间一秒秒的倒数,一般都是目标时间跟现在时间进行比较 html部分 {代码...} js部分 Date对象的使用 Date 对象基于1970年1月1日(世界标准时间)起的毫秒数,返回的是毫秒数 传入的参数dateString表示日期的字符串值。该字符串应该能被 Date.parse() 方法识别的才能够解析为毫秒数 通过解析时间...

练习视差滚动例子_byKL

2017-03-18
阅读 4 分钟
5.1k
指网页滚动过程中,多层次的元素进行不同程度的移动,视觉上形成立体运动效果的网页展示技术。通过前景与背景在场景移动时产生不同的视差,从而达到简单的立体效果

es6学习笔记-数值的扩展_V1.0_byKL

2017-03-14
阅读 3 分钟
1.4k
es6学习笔记-数值的扩展 有一些不常用或者还不支持的就没有记录了,总体来说本篇只是一个备忘而已 Number.isFinite(), Number.isNaN() Number.isFinite()用来检查一个数值是否为有限的(finite)。 {代码...} Number.isNaN()用来检查一个值是否为NaN。 {代码...} 两个新方法只对数值有效,非数值一律返回false。 parseInt...

es6学习笔记-字符串模板_v1.0_byKL

2017-03-14
阅读 4 分钟
2.3k
tag函数的第一个参数是一个数组,该数组的成员是模板字符串中那些没有变量替换的部分,也就是说,变量替换只发生在数组的第一个成员与第二个成员之间、第二个成员与第三个成员之间,以此类推。 tag函数的其他参数,都是模板字符串各个变量被替换后的值。由于本例中,模板字符串含有两个变量,因此tag会接受到value1和val...

es6学习笔记-字符串的扩展_v1.0_byKL

2017-03-12
阅读 5 分钟
1.6k
JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必须用双字节形式表示,否则会解析错误。ES6对这一点做出了改进,只要将码点放入大括号,就能正确解读该字符,不受限于4位。例如下面的写法就是合法的,能够被正确解析:

es6学习笔记-变量析构_v1.0_byKL

2017-03-08
阅读 7 分钟
4.6k
扩展运算符( spread )是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列,即把数组或类数组对象展开成一系列用逗号隔开的值,看解释以为是变成了值,其实不然,看输出就知道,其实也是一个数组

es6学习笔记-顶层对象_v1.0_byKL

2017-03-07
阅读 2 分钟
2.5k
es6学习笔记-顶层对象_v1.0 (虽然是笔记,但是基本是抄了一次ruan大师的文章了) 顶层对象 顶层对象,在浏览器环境指的是window对象,在Node指的是global对象。 ES5之中,顶层对象的属性与全局变量是等价的。 ES6为了改变这一点: var命令和function命令声明的全局变量,依旧是顶层对象的属性; let命令、const命令、class...

es6学习笔记-let,const和块级作用域_v1.0_byKL

2017-03-06
阅读 4 分钟
1.6k
es6学习笔记-let,const和块级作用域_v1.0 块级作用域 javascript 原来是没有块级作用域的,只有全局作用域和函数作用域 例子1 因为没有块级作用域,所以每次的i都是一样 {代码...} 例子2 这里可以跟以前在<js高程3>里面有一个闭包的例子一起理解 {代码...} {代码...} 虽然这里是说闭包保存的是整个变量对象,导致了i...

es6学习笔记-箭头函数_v1.0_byKL

2017-03-05
阅读 4 分钟
2.1k
es6学习笔记-箭头函数_v1.0 箭头函数使用方法 {代码...} 一个比较完整的例子: {代码...} 反引号和模板字符串相关资料 箭头函数的this 箭头函数没有自己的this,也就不能用call()、apply()、bind()这些方法去改变this的指向。 箭头函数的this是固定的,都指向函数定义时的作用域,主要是因为他本身并有this,所以要指向外层代...

es6学习笔记-module_v1.0_byKL

2017-03-02
阅读 4 分钟
1.6k
一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。如果你希望外部能够读取模块内部的某个变量,就必须使用 export 关键字输出该变量。

babel6 入门-配置安装使用_byKL

2017-02-24
阅读 5 分钟
6k
因为es6比es5的代码更为适合编写程序,但是因为历史的原因,现在普遍的浏览器并不支持es6代码(普遍支持es5),即如果你写es6代码之后,在浏览器上运行出错,因为浏览器的javascript解析器无法解析es6代码

API数据格式转换方法学习

2017-02-13
阅读 6 分钟
2.9k
API数据格式转换方法学习 将数据转为行列模式,方便使用统一数据格式来循环遍历来输出所有属性,并且能根据需要转换不同的值. 例子实现是用vue来演示的 一般的实现方式 原始数据是外面是items包了一层,是数组格式,然后里面每一个数组元素都是一个对象,代表每一个item,每个item里面分别是属性和值 原始数据: {代码...} 一般...

练习一个日历例子,输出一个日历,显示当前日期为红色

2017-01-22
阅读 3 分钟
3.1k
练习一个日历例子,输出一个日历,显示当前日期为红色主要的理解和掌握点是: 使用Date()函数 根据天数计算日历的长度,主要是行,因为列是固定的,一周只有7天 根据天数计算各天放置的单元格位置 每月第一天的特殊处理 很多时候是从索引0开始计算,例如0-11代表12个月之类 一个包括12个月的天数的数组 效果图: {代码...} 代码:...

js高级程序设计-DOM-阅读笔记

2017-01-17
阅读 7 分钟
1.9k
每个节点都有一个childNodes属性,其中保存着一个NodeList对象,是一个类数组对象(这个对象有length属性,但不属于Array对象)会随着dom结构变化而变化

js高级程序设计-事件处理-阅读笔记

2017-01-15
阅读 9 分钟
2k
事件流 事件流是指从页面接受事件的顺序 一般考虑兼容性问题,会使用冒泡而不适用捕获 事件冒泡event bubbling 事件开始时由具体的元素(嵌套层次最深的元素)接受,然后逐级向上传播到文档document  事件捕获 基本跟事件冒泡相反,事件捕获用于在于事件到达预定目标之前捕获他,document首先接收到事件,然后事件依次向里传...

js高级程序设计-函数表达式-阅读笔记

2017-01-15
阅读 9 分钟
1.9k
关于函数声明 他的一个重要特征就是函数声明提升,就是在执行代码之前会先读取函数声明,这意味着可以把函数声明放到调用他的语句的后面 {代码...} 关于函数表达式 创建一个匿名函数然后赋值给一个变量 {代码...} 可以返回一个匿名函数,返回的函数可以赋值给一个变量,也可以被其他方式调用 {代码...} 递归 {代码...} 不过...