js基础进阶
文章平均质量分 60
牛长犇
享受写东西的过程,记录技术上的成长
展开
-
js基础进阶--函数柯里化carrying
欢迎访问我的个人博客:http://www.xiaolongwu.cn定义函数柯里化就是创建已经设置单个参数或者多个参数的函数,函数变为接受一个参数,返回一个值来个例子 function add(){ // 将传进来的实参转换为数组arr var arr = Array.prototype.slice.call(arguments...原创 2018-05-17 00:26:10 · 316 阅读 · 0 评论 -
js基础进阶--关于setTimeout的思考
欢迎访问我的个人博客:http://www.xiaolongwu.cn先热身看看下面的代码会打印出什么? for (var i = 0; i < 5; i++) { setTimeout(function () { console.log(i); }, 100); }上面的结果是 5 5 5 5 5这里和浏览器的事件队列和事件循环机...原创 2019-02-27 19:39:36 · 2876 阅读 · 0 评论 -
promise和setTimeout执行顺序的问题
欢迎访问我的个人博客:http://www.xiaolongwu.cn前言promise为es6引进的语言标准,为异步编程的一种解决方案;阅读此文的前提是了解promise的基本用法和特性,比如他自执行特性、状态不可逆特性等抛出问题且看下面代码和问题 setTimeout(function(){console.log(1)},0); new Promise(fu...原创 2018-04-23 18:48:41 · 14276 阅读 · 10 评论 -
js基础进阶--从ajax到fetch的理解
欢迎访问我的个人博客:http://www.xiaolongwu.cn基本知识1. Ajax是什么?答:Ajax是一种可以在浏览器和服务器之间使用异步数据传输(HTTP请求)的技术。使用它可以让页面请求少量的数据,而不用刷新整个页面。而传统的页面(不使用Ajax)要刷新部分内容,必须重载整个网页页面。2. Ajax基于什么?答:它基于的是XMLHttpRequest(XHR)。这是一个比...原创 2018-12-26 23:45:54 · 674 阅读 · 0 评论 -
JavaScript设计模式--观察者模式(发布者-订阅者模式)
欢迎访问我的个人博客:http://www.xiaolongwu.cn简单列子下面是实现发布—订阅模式的步骤:1、先要指定好谁充当发布者(比如售楼处)2、然后给发布者添加一个缓存列表,用于存放回调函数以便通知订阅者(售楼处的花名册)3、最后发布消息的时候,发布者会遍历这个缓存列表,依次触发里面存放的订阅者回调函数(遍历花名册,挨个发短信)// 定义订阅发布模式 var publ...原创 2018-11-29 14:39:10 · 917 阅读 · 0 评论 -
RESTful API详解
要弄清楚什么是RESTful API,首先要弄清楚什么是REST。REST – REpresentational State Transfer,英语的直译就是“表现层状态转移”。如果看这个概念,估计没几个人能明白是什么意思。那下面就让我来用一句人话解释一下什么是RESTful:URL定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。  &...转载 2018-09-17 13:10:26 · 549 阅读 · 0 评论 -
javascript设计模式——发布订阅模式
前面的话 发布—订阅模式又叫观察者模式,它定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。在javascript开发中,一般用事件模型来替代传统的发布—订阅模式。本文将详细介绍发布订阅模式 现实事例 不论是在程序世界里还是现实生活中,发布—订阅模式的应用都非常广泛 比如,小明最近看上了一套房子,到了售楼处之后才被告知,该楼盘的房子...转载 2018-06-21 09:48:13 · 270 阅读 · 1 评论 -
js基础进阶--关于Array.prototype.slice.call(arguments) 的思考
欢迎访问我的个人博客:http://www.xiaolongwu.cnArray.prototype.slice.call(arguments)的作用为:强制转化arguments为数组格式,一般出现在框架活插件的源码中如何理解上面的代码等价于[ ].slice.call(arguments)或者随便一个数组调用都行 [1,2,4].slice.call(arguments) ...原创 2018-05-15 20:47:50 · 4212 阅读 · 0 评论 -
js基础进阶--编码实用技巧(二)
接上篇文章 js编码的实用技巧(一)5、合理利用||运算符使用||可以作为参数之外的默认值,当第一个参数返回值为false时,那么第二个值就为默认值。一般在面向对象思想中这么使用。function User(name, age) { this.name = name || "leonWu"; this.age = age || 29;}var user1 ...原创 2018-02-08 00:40:37 · 1046 阅读 · 0 评论 -
js基础进阶--编码实用技巧(一)
js编码的实用技巧(二) 在平时的开发中,编码技巧很重要,会让你少写很多代码,起到事倍功半的效果。下面总结几种简单的技巧,大家共同学习一下1、 利用+、-、/1,*1将字符串转换为整数型这个方法试用于将字符串类型的数字转换为整数型,如果带字母就会返回NaN。var a = "1234", b = "leonWuv";//我们想原创 2018-02-08 00:43:54 · 1805 阅读 · 2 评论 -
es6 -- 默认参数Default,不定参数Rest,扩展运算符Spread详解
欢迎访问我的个人博客:http://www.xiaolongwu.cn前言记录一下在实际开发中,很有用的三个es6的新方法用法详解默认参数function f(x, y=13) { // 如果没有传入y或传入了undefined,y的默认值为13 return x + y;}f(5) // 18不定参数Rest不定参数rest,让我们不再需要arguments,从而避免...原创 2019-02-19 20:52:12 · 746 阅读 · 0 评论