wade3po的博客

菜鸟的学习笔记

Underscore链式调用

在分享之前,先分享一个$通过id的链式调用: function Fn(elId) { this.el = document.getElementById(elId); return this } Fn.prototype.css = function (prop, val)...

2019-04-18 15:53:36

阅读数 1

评论数 0

递归尾调用优化

之前分享过递归,其中有一个优化就是尾调用。 先明确尾调用的概念: 尾调用(Tail Call)是函数式编程的一个重要概念,就是指某个函数的最后一步是return调用另一个函数。 function fn() { return gn() } 下面几种不是尾调用: function fn(...

2019-04-16 17:14:56

阅读数 2

评论数 0

阮一峰快速排序

本打算学一波快速排序,查了查资料,吓一大跳,说阮一峰大神的快排是不对的,以此开始了一大波大神针对这个问题的各种观点。感兴趣的可以看看知乎这篇帖子: https://www.zhihu.com/question/276746146/answer/390729075 不管对还是错,阮一峰大神的快排思路...

2019-04-15 09:16:40

阅读数 4

评论数 0

严格模式use strict

JavaScript是一个弱类型语言,这其实跟JavaScript创建之初有关系。当时JavaScript的作者只是随便写一个语言来临时使用,鬼知道JavaScript会在今天这么有地位。 有业界大牛说JavaScript是现在开发语言里面最差的,不可否认,越是约束少的语言,真正面对大型项目的时候...

2019-04-15 09:15:50

阅读数 2

评论数 0

jQuery链式调用this

jQuery在JavaScript库中的一哥地位是不可撼动的,虽然随着这几年框架的崛起和一些大平台移除了jQuery的依赖,但不可否认jQuery还是前端开发必须掌握的技能。 jQuery的好处很多很多,其中链式调用是其中之一。网上很多说jQuery的链式调用是返回this对象,其实原理是这样的,...

2019-04-11 10:45:00

阅读数 14

评论数 0

css几个居中的方法

页面布局,居中是绝对少不了的,居中的方法有很多,今天分享几个。 Margin 0 auto、text-align:center、line-height这几个就不用多说了,适合文字、图片和块元素水平居中。如果知道容器高度或者是内容高度,很容易就能实现简单的居中。 Flex布局: 弹性布局,会使用的绝...

2019-04-10 17:28:58

阅读数 15

评论数 0

toString()和valueOf()函数调用和优先级

最近水群的时候看见了一个题目: add(2)(3)(4); 简单了说就是链式调用,链式调用的方法有很多,jQuery的,underscore的和lodash这三个库采用了不同的方式。而上面这个就简单多了: function add(x) { var sum = x; var tmp...

2019-04-03 09:42:42

阅读数 1951

评论数 0

JavaScript递归

递归的定义很简单,就是在函数体内调用本函数。递归对于解决一些算法问题有很大的优势,但是递归必须慎重使用,递归函数如果判断条件无法终止,很容易造成内存溢出,报错stack overflow,使程序崩溃。 递归最经典例子,阶乘: 阶乘就是12345… 计算阶乘的函数factorial: functio...

2019-04-03 09:41:54

阅读数 31

评论数 0

JavaScript之调用栈

很早之前写过栈和堆的结构,非常简单的介绍了一下,主要是为了明白深拷贝和浅拷贝。最近突然发现了调用栈这个概念,理解这个概念对于一些函数的执行能更清晰的理解,比如递归。 栈(stack)是计算机中特殊的一个数据列表,栈有一个特点就是先进后出。我们可以把栈当做乒乓球的盒子,先放进去的最后才拿出来。今天只...

2019-04-03 09:41:04

阅读数 32

评论数 0

数组去重的几个方法

数组去重很简单,大都运用数组的属性和方法,有很简单的,有复杂的,今天分享几个数组去重的方法。 原理就是创建一个临时数组,循环有重复的数组,判断这个临时数组是否有这个元素,没有就push进去,有就不要。 var arr = ['a', 8, 10, 'd', 20, 'f', 'd', 10, 'a...

2019-03-27 09:20:06

阅读数 59

评论数 0

时间复杂度O(n)和空间复杂度

算法对于敲代码的应该都听过,不管是复杂的还是简单的,衡量算法效率的两个重要指标就是时间复杂度和空间复杂度。 时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。空间复杂度:评估执行程序所需的存储空间。可以估算出程序对计算机内存的使用程度。 空间复杂度:对一个算法在运行过程中临时占...

2019-03-27 09:15:34

阅读数 114

评论数 0

ES6之数组的扩展

ES6在数组方面增加了一些方法和原型属性,有些还是蛮有用的。 扩展运算符:把数组或者类数组转成用逗号隔开的参数: 把类数组转成数组,有限制(类数组就是有长度的变量): var str = 'wade'; console.log([...str]);//["w", "a...

2019-03-22 15:31:34

阅读数 36

评论数 0

webpack简单搭建localhost访问静态资源

前端开发过程中,静态页面直接双击HTML文件就能在浏览器打开,有时候我们很希望可以用localhost启动,在局域网内可以直接用手机或者是别的电脑访问。 如果你用的是框架脚手架或者你是webpack大神就不用往下看了。今天分享的只是最简便用webpack-dev-server快速localhost...

2019-03-21 09:17:27

阅读数 68

评论数 0

JavaScript宏任务和微任务

最近问了大佬一个问题,监听和定时器两个性能的问题,大佬给我普及了宏任务和微任务的概念,于是网上找见了这样一段代码: console.log('script start'); setTimeout(function() { console.log('setTimeout'); }, 0...

2019-03-18 16:40:11

阅读数 87

评论数 0

JavaScript之内存溢出和内存泄漏

内存溢出: 程序运行出现的错误,就像水杯,满了之后再加水就溢出了。同理,内存溢出就是程序运行所需的内存大于可用内存,就出现内存溢出错误。 最简单的就是写一个千万级别的循环,然后用浏览器打开,浏览器会非常卡,甚至直接报错内存不足,崩溃了。不同浏览器会有不同的表现。 内存溢出一般是内存泄漏造成的,占用...

2019-03-15 09:25:01

阅读数 2274

评论数 0

重新认识原型和原型链三

知道了显式原型prototype和隐式原型__proto__,我们就能很好的知道原型链是什么东西了。 说原型链之前再理几个概念: 实例隐式原型__proto__指向创建实例的构造函数的显示原型prototype。 实例可以通过__proto__调用在__proto__下的所有属性和方法。 所以,原...

2019-03-14 10:25:52

阅读数 30

评论数 0

重新认识原型和原型链二

知道了prototype这个原型(也叫原型属性、原型对象,不要搞混了,原型、原型属性、原型对象都是同一个东西),我们还需要知道__proto__和constructor两个属性。 先说说constructor属性,这个属性是函数独有的,而且是存在于原型prototype中,constructor指...

2019-03-13 15:37:29

阅读数 30

评论数 0

重新认识原型和原型链一

之前分享过原型和原型链,那时候觉得理解的还行,最近重新理了一遍原型和原型链,发现当时理解的好粗浅。于是又重新学了一遍。可能这次学习的还是不到位,只是分享一些新的体会。 先明确几个概念: function Fn() {}var time = new Date(); JavaScript里面有一句话说...

2019-03-12 14:36:09

阅读数 70

评论数 0

Location对象

Location对象是window对象的一部分,应该百分之百的前端开发用过这个对象,但几乎所有人也都是仅仅使用location.href。但是location对象上面有好几个属性和方法对开发很有帮助。 属性:location.href 可读可写,设置或返回当前的URL地址。 属性:location...

2019-03-12 14:34:50

阅读数 26

评论数 0

Webpack之before快速创建接口(框架快速使用)

上次分享了用webpack的express模块快速启动一个服务接口,其实webpack还有HTTP模块也可以快速创建接口,有兴趣的可以去查查。今天要分享的也是基于express,但是是通过webpack的decServer创建的,不存在跨域问题。 devServer的before在服务内部的所有其...

2019-03-06 16:20:52

阅读数 59

评论数 0

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