自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 30 seconds of code - array 中文简要说明

allconst all = (arr, fn = Boolean) => arr.every(fn)函数封装了every函数,判断条件默认为元素默认转为boolean值,如果都为true,则返回true。否则,返回false。allEuqualconst allEqual = arr => arr.every(val => val === arr[0])如all函...

2019-05-02 21:31:11 568

转载 每日JavaScript-31 一些小技巧

https://juejin.im/post/5cc55eb5e51d456e577f93f0在掘金看到这篇文章,里面有很多“邪门歪道”的JavaScript的技巧,对于我这种菜鸡还是挺有趣的。创建过去七天的数组// 创建过去七天的数组[...Array(7).keys()].map(days => new Date(Date.now() - 86400000 * days))把...

2019-05-01 19:46:02 489

原创 每日JavaScript-30 十进制转二进制及位运算

先写了一个生成连续正整数的函数,调用JavaScript自带的toString(2)就可以实现十进制转换为二进制。注意的是,调用toSrtring()会将number类型隐式转换为string类型。function to2(start, end) { return Array.from({length : end - start + 1}).map((value, index) => v...

2019-04-29 21:39:17 576

原创 每日JavaScript-29 逻辑运算符,位运算符undefined和null

// nullconsole.log(undefined || null)// 0console.log(undefined & null)

2019-04-28 21:19:31 355

原创 每日JavaScript-28 对sort()简单使用

sort()是JavaScript的内置排序实现,据说对于长度少于10的数组采用插入排序,超过10采用快排。等到我技术水平更高点,就去看V8源码吧(笑)平常对手数字,是这样使用sort()let r1 = [1, 2, 3, 0, -1].sort((a,b) => b - a)let r2 = [1, 2, 3, 0, -1].sort((a,b) => a - b)// 降...

2019-04-28 15:54:48 93

转载 每日JavaScript-27 检查数组的方法

看到有人说、可以判断数组arr.constructor === Array这种方法存在问题,constructor属性可以改变的let arr = [0,1]arr.constructor = '123'console.log(arr === Array)这种检查方法就失效了...

2019-04-28 10:09:57 112

原创 每日JavaScript-26 运算符的优先级 箭头函数注意点

运算符的优先级应该属于编程语言的微小细节。以前不太重视,知道看到别人扁平数组的代码const deepFlatten = arr => [].concat(...arr.map(v => (Array.isArray(v) ? deepFlatten(v) : v)))经过测试显示,逗号运算符.是优先于扩展运算符…。let test = [1, 2, 2, 3]// 2 4 ...

2019-04-28 09:06:12 359

原创 每日JavaScript-25 Infinity关键字

将数组扁平化并去除其中重复数据,最终得到一个升序且不重复的数组?这道题有一个完美简洁的答案Array.from(new Set(arr.flat(Infinity))).sort((a,b)=>{ return a-b})其中涉及到 Infinity关键字,之前我还不知道呢。在阮老师的ES6中有提及,数组操作flat()。这个用了es6新特性,简化了代码arr.flat(Infi...

2019-04-27 21:10:34 573

原创 每日JavaScript-24 数组交集问题

「给定两个数组,写一个方法来计算它们的交集。// 例如:给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2]。」我第一版的代码但当测试let nums1 = [1, 2, 2, 1]let nums2 = [2, 1, 2]就会出现交集是[1, 2, 2, 1]的错误其实每次清除arr2中已经遍历过的元素就可以避免这个问题很久没更...

2019-04-27 20:05:34 150

转载 每日JavaScript -23 new的简单模拟

var newObj = function(func){ var t = {} t.prototype = func.prototype var o = t var k =func.call(o); if(typeof k === 'object'){ return k; }else{ return o; ...

2018-12-16 22:52:09 110

转载 github上前端面试知识整理之CSS部分

github仓库链接:https://github.com/markyun/My-blog/tree/master/Front-end-Developer-Questions/Questions-and-Answers介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种, IE 盒子模型、W3C 盒子模型; (2)盒模型: 内容(content)、填充(p...

2018-12-16 22:07:38 122

原创 每日JavaScript - 22(编程细节)

阅读《高程》第24章,发觉自己代码有听过不规范处。js更改cssJavaScript与css交互时,通过添加或者class进行交会,从而提高代码可读性。element.className = "edit"尊重对象所有权不要为实例或者原型添加属性不要为实例或原型添加方法不要重定义已经存在的方法避免全局量避免:let name = 'Nicholas'function sayN...

2018-12-11 15:30:56 147

原创 每周阅读文章(week2)

一个将知识深入浅出讲解的工程师专栏https://www.zhihu.com/people/li-yin-cheng-24/posts?page=2生成云朵的css代码跟之前生成Microsoft图标的原理相同https://www.jb51.net/css/639834.html...

2018-12-06 06:41:24 130

原创 每日JavaScript - 22(待整理的代码)

const arr = Array(n).fill().map((_,i)=>i+1); //初始化一个 1~n 的数组const arr =[...Array(n).keys()];const arr =Array.from(Array(n).keys());Array(n).fill()创建密数组简单实现加法function bitAdd(m, n) { while ...

2018-12-06 06:26:11 109

原创 每日JavaScript -21(声明对象)

声明单个对象,不用说let obj = {}let object = new Object()但声明多个对象就要一定技巧了参考文章:https://github.com/mqyqingfeng/Blog/issues/15工厂模式function createPerson(name) { var o = new Object(); o.name = name; ...

2018-12-05 12:57:40 160

原创 每日JavaScript -20 (闭包Closure)

闭包是学习JavaScript的一大难题。所以觉得系列第20篇就来讨论闭包。https://github.com/mqyqingfeng/Blog/issues/9

2018-11-30 01:32:28 142

原创 每日JavaScript - 19 (this,js内存引用)

看到一道关于this的题目,挺简单的https://juejin.im/post/5bfe8fc5e51d4514e0515b90#commentvar num = 1;var myObject = { num: 2, add: function() { this.num = 3; (function() { conso...

2018-11-29 17:49:22 244

原创 每日JavaScript -16 (简单排序和快速排序)

我总结并写一下简单的排序算法的JavaScript实现,应该写到快速排序就结束了。参考文章(其实没怎么看)https://www.jianshu.com/p/1b4068ccd505冒泡排序const bubbleSort = (arr) => { const len = arr.length for (let i = len - 1; i > 0; i --) { ...

2018-11-29 00:41:13 100

原创 每日JavaScript之模块加载

参考文章:http://es6.ruanyifeng.com/#docs/module-loaderhttps://juejin.im/post/5bea425751882508851b45d6https://www.jianshu.com/p/b7db6224a4aa首先,JavaScript一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来...

2018-11-28 15:10:35 477

原创 每日JavaScript - 18(作用域,NaN等题目)

以下为我阅读红宝书作用域链和变量对象的笔记:执行上下文(执行环境)分为全局和局部,在浏览器端全局是window对象,在node全局是global对象。每个函数都有自己的执行环境,每个执行环境中都有一个与之关联的变量对象,环境中定义的所有变量和函数都保留在这个对象中。当代码在一个环境中执行时,会创建变量对象的一个作用域链。作用域链的用途是保证对执行环境有权访问的所有变量和函数的有序访问,作用域链...

2018-11-28 01:02:29 247

原创 每周阅读文章(week 1)

这是我新开的系列,用来记载我所阅读的技术文章,按周来更新,方便我日后再来查阅。chrome开发者工具的使用https://www.zcfy.cc/article/mastering-chrome-developer-tools-next-level-front-end-development-techniques-3722.html?t=selectionchrome开发者工具的使用(补充加...

2018-11-27 23:24:15 140

原创 每日JavaScript之垃圾收集

被好友问到这个问题,突然发现自己知之甚少JavaScript具有自动垃圾收集机制,为此垃圾收集器会按照固定的时间间隔,周期性地执行这一操作。垃圾收集器有两种方法:标记清除和引用计数标记清除的简单原理:在运行时给存储在内存中的所有变量都加上标记,然后,它会去掉环境中的变量以及被环境中的变量引用的变量标记。而在此之后再被加上标记的变量会被视为准备删除的变量,原因是环境中的变量已经无法访问到这些变...

2018-11-27 13:53:34 114

原创 每日JavaScript -17

原以为对JS有所熟悉,谁不知道还远远不够。在数组开头添加元素,方法有二arr.unshift('start')['start', ...arr]自己手写的原生ajax请求const xhr = new XMLhttpRequest()xhr.open('get','example.php', true)xhr.onreadystatechange = function (suces...

2018-11-27 12:58:52 76

原创 每日JavaScrip - 15(简单算法)

给定一个数组,能组成三角形返回最大周长,否则返回0(不可重复取值)const arr = [2, 3, 4, 5, 10]function solve(arr) { const len = arr.length let tri_len let longest let rest_len let result = 0 for (let i = 0; i < len; i++) ...

2018-11-26 02:43:58 103

原创 每日JavaScrip - 14

构建一个简单的express服务器首先要具备node环境,然后npm initnpm i express --save然后在文件夹中新建一个server.js,写入如下代码const express = require('express')const app = express()// 默认将index.html当作访问页面app.use(express.static(__dir...

2018-11-21 12:46:07 79

转载 每日JavaScript之数组全排列

我想了很久这道题目,也写不出代码,看到别人的代码才恍然大悟。https://blog.csdn.net/K346K346/article/details/51154786果然,自己对算法一窍不通。let test = [1,2,3]function swap(arr, i, j) { [arr[i], arr[j]] = [arr[j], arr[i]]}function ful...

2018-11-20 02:49:03 275

原创 每日JavaScript之socket.io实现聊天室

首先感谢作者windlany,能够写出简单易懂的文章,能将代码(注释也非常详细)共享出来供我学习。 https://juejin.im/post/5a73ddcff265da4e81237429所用的技术node + express + socket.io + jQuerysocket.io是实现websocket的库,websocket不同http是一个双向通信的协议,所以非常适合用在...

2018-11-14 22:31:49 305

原创 每日JavaScript之webpack4.0处理css

消失多日,因为身体不好,曾经的学习之情也消失了不少,不过我会坚持的。今天来总结一下,webpack处理css。https://godbmw.com/passage/36 这是本文参考学习的文章,非常实用。首先,选个你喜欢的目录,打开CMD。npm init一路回车,然后cd进你创建的project name,我的叫做wepack-demo然后将package.json改为{ "...

2018-11-14 01:06:29 198

转载 每日JavaScript之JSONP

JSONP是前端最常用来处理跨域请求的方法。JSONP是JSON with padding。JSONP由两部分组成:回调函数和数据。原理是利用<script>标签没有跨域限制。缺点是只支持GET请求,可能夹带恶意的代码和难以确定JSONP请求是否失败。https://gaoupon.github.io/2016/09/05/前端跨域请求原理及实践/ 贴上一篇比较浅显的博文这是使...

2018-11-11 19:23:23 175

原创 git小坑

windows使用git回退上一版本git reset --hard HEAD^会不停冒出more?more?最后报错这是因为cmd控制台中换行符默认是,而不是 ,所以它的more?的意思是问你下一行是否需要再输入,而 符号就被当做换行符而被git命令忽略掉了。可以使用git bash和powershell,就不会出现这种问题。解决方法git reset --hard "HEAD^"...

2018-11-08 19:31:28 111

原创 每日JavaScript - 13

这是关于客户端存储的文章。离线检测HTML5定义了一个navigator.onLine属性,true为设备能上网,false为设备离线。但存在兼容性问题。状态改变时,会在window对象中触发online和offline事件。应用缓存<html mainfest="/offline.manifese>核心API是applicationCache对象,有一个status属性表...

2018-11-08 13:53:22 109

原创 每日JavaScript - 12

今天要说说Ajax。(自己对这方面不了解,为了避免误人子弟,只作个人浏览) xhr.open("get", "example.php", false)这段代码会启动一个针对example.php的GET请求,第三个Boolean为是否异步的意思在调用open()方法之后而且调用send()方法之前调用setRequestHeader()可以自定义请求头部信息xhr.open('POST...

2018-11-08 01:59:17 79

原创 每日JavaScript - 11 十种数组去重方法,寻找最长子串的长度

题目1给定一个字符串,找出不含有重复字符的最长子串长度如 ‘abcabcbb’ 输出3,子串为abc‘pwwkew’ 输出3,子串为wke‘bbbbbb’ 输出1, 字串为b感觉自己以前做过这题,也是非常基础的题目let test1 = 'abcabcbb'let test2 = 'pwwkew'let test3 = 'bbbbbbb'function findLen(str)...

2018-11-07 21:13:04 247

原创 每日JavaScript -10(class)

之前说过ES6引入class(类)这个概念,那我们赶快来学习一番吧。http://es6.ruanyifeng.com/#docs/class 这是阮一峰老师的ES6入门书,我觉得是学习ES6必看的书,而且它在网络开源,非常了不起,给阮一峰老师点赞。这篇文章就是阅读上面文章的简单笔记,话不多说开始。怎么使用class?//定义类class Point { constructor(x...

2018-11-06 22:28:49 580

原创 每日JavaScript - 9

大家学习期间一定要弄清楚细节。首先从面试题开始吧。题目来源 https://juejin.im/post/5aba6cff6fb9a028c14a7df1题目一alert(a)a();var a = 3;var a = function() { alert(10)} alert(a)a = 6;a(); 请问输出什么?这个我一看就知道靠的是变量提升,而这时牢记...

2018-11-06 19:40:33 121

原创 有趣的css -1

最近频繁的更博客和学习有点儿疲惫了,正在浏览到一个不错的css仓库。选了一个比较有趣的打字效果实现介绍一下。css仓库:https://lhammer.cn/You-need-to-know-css/代码实现:https://codepen.io/tcap99/pen/yQNqaJ解析HTML<main class="main"> <span>You-ne...

2018-11-06 16:52:08 146

原创 每日JavaScript - 8

面向对象都有类的概念,而通过类可以创建多个具有相同属性和方法的对象。对于Java来说,就是一门彻底面向对象的语言,有着官方的类封装。但在ES6之前,JavaScript是没有官方提供的类库。下面我们来创建一个对象let animal = { name: "animal", // 注意不能使用箭头函数,它的this指向的window // eat: () => console...

2018-11-06 15:53:16 117

原创 每日JavaScript - 7 (随机数和数组乱序)

今天要聊一个学编程以来很感兴趣的话题:计算机的”随机“是真正的随机码?暂时将这个大问题放下,先来解决一个问题:数组乱序这很简单啊,例如在网上广为流传的代码function shuffle(arr) { return arr.sort(function() { return Math.random() - 0.5; });}https://75team.com/post/arra...

2018-11-06 00:25:45 475

原创 每日JavaScript - 6

上一篇文章大多是引用别人的答案,觉得有点惭愧。下面就拿一道题热身吧。在逛博客时看到 coordinate_blog的https://blog.csdn.net/qq_17550379/article/details/83048534 一道来自leetcode的题目。比较简单leetcode 922给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 ...

2018-11-05 22:52:56 142

转载 每日JavaScript - 5

上文的GitHub仓库所有简单题目已经做完,余下的数据结构题目等我有时间再整理写出来。今天在掘金看到FEWT的文章 https://juejin.im/post/5bd697cfe51d454c791cd1d5这些题目都是关于Promise的知识,其中一道红绿灯在我之前博文有提到。const promise = new Promise((resolve, reject) => { ...

2018-11-05 00:34:34 138

空空如也

空空如也

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

TA关注的人

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