lwf的博客

前端点滴

等间距布局

html: <ul class="clearfix"> <li>1</li> &a...

2018-06-28 11:46:43

阅读数 144

评论数 0

圣杯布局和双飞翼布局

圣杯布局与双飞翼布局 圣杯和双飞翼布局都是左右两边固定中间自适应,都是负margin的应用。 圣杯布局 html: <div class="header"></div&amp...

2018-06-28 11:24:31

阅读数 134

评论数 0

观察者模式(发布-订阅者模式)

观察者模式定义了一种依赖关系,解决了主体对象和观察者之间功能的耦合,主要应用于大型项目的模块化开发中,解决团队开发中模块之间的通信问题,利用观察者模式还可以实现自定义事件。 //观察者 var Observer=(function(){ var _messages={}; return{ ...

2018-06-17 11:55:55

阅读数 151

评论数 0

数组的扁平化方法总结

数组的扁平化:将一个嵌套多层的数组转换为一个只有一层的数组 比如有一个数组扁平化的方法flatten var arr=[1,[2,[3,4]]]; flatten(arr);//[1,2,3,4] 实现数组扁平化的方法: (1)循环+递归 function flatten(arr){ ...

2018-06-16 11:25:14

阅读数 692

评论数 0

display:none 与 visibility:hidden opacity:0的区别

我们知道,我们可以用display:none 与 visibility:hidden opacity:0 等方法隐藏元素,那么他们有什么区别呢? (1)是否占据空间 display:none 不再占据空间,会引起重排和重绘 visibility:hidden 占据空间,仅引起重绘 opaci...

2018-06-15 14:00:26

阅读数 206

评论数 0

JavaScript内存泄漏及常见方式

一 内存管理 程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。对于JavaScript来说,有栈内存(stack)和堆内存(heap)。 对于持续运行的服务进程(daemon),必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则...

2018-06-14 21:42:52

阅读数 54

评论数 0

伪类与伪元素的区别

W3C定义 伪类:用于向某些选择器添加特殊的效果。 伪元素:将特殊的效果添加到某些选择器上。 明确两点: 1 都与选择器相关 2 特殊效果,这两者描述了其他css无法描述的东西 种类 伪类: :active、:focus、:hover、:link、:visited、:fir...

2018-06-14 10:23:15

阅读数 192

评论数 0

JavaScript与C、C++、Java这几类语言的不同

从静态类型还是动态类型来看 静态类型,编译的时候就能够知道每个变量的类型,编程的时候也需要给定类型,如Java中的整型int,浮点型float等。C、C++、Java都属于静态类型语言。 动态类型,运行的时候才知道每个变量的类型,编程的时候无需显示指定类型,如JavaScript中的var、P...

2018-06-13 15:42:34

阅读数 1453

评论数 0

JavaScript引擎

什么是JavaScript引擎? JavaScript引擎是一个专门处理JavaScript脚本的虚拟机,一般会附带在网页浏览器之中。 什么是虚拟机呢? 虚拟机(英语:virtual machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用...

2018-06-13 14:02:21

阅读数 753

评论数 0

从js运行机制看setTimeout与setInterval

setTimeout:超时调用; setInterval:间歇调用 调用时,代码是在全局环境中执行的,里面的this在正常模式下指向window,严格模式下指向undefined。 参数: 第一个参数为字符串或者函数(建议使用函数,传递字符串可能导致性能损失) 第二个参数为以毫秒表示的时...

2018-06-12 21:02:40

阅读数 128

评论数 0

事件循环进阶:macrotask与microtask的应用

题目: setTimeout(()=>{ console.log(0) },1000); new Promise((resolve,reject)=>{ console.log(1); resolve(); ...

2018-06-12 19:57:18

阅读数 513

评论数 0

javascript中call和apply的模拟实现

call() call() 方法调用一个函数, 其具有一个指定的this值和分别地提供的参数(参数的列表)。 语法:fun.call(thisArg, arg1, arg2, ...) 实例: var name="lee"; var obj=...

2018-06-05 15:40:45

阅读数 348

评论数 0

javascript中new的模拟实现

new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。 语法:new constructor[([arguments])] 那么什么是构造函数呢? 构造函数 constructor 是用于创建和初始化类中创建的一个对象的一种特殊方法。 (1)我们来看...

2018-06-05 14:27:26

阅读数 806

评论数 0

javascript中的深浅拷贝(非构造函数的继承)

首先,我们应该明确深浅拷贝是针对Array、Object这样的复杂类型的。 一 常见的深浅拷贝的方法 (1)数组和对象的浅拷贝 如果是数组,我们可以利用数组的一些方法比如:slice、concat 返回一个新数组的特性来实现拷贝。 //新旧数组都改变,对象指向同一块地址 var arr...

2018-06-04 21:32:45

阅读数 121

评论数 0

javascript中的动态集合——NodeList、HTMLCollection、NamedNodeMap

一、NodeList、HTMLCollection、NamedNodeMap的相同点与不同点 (1)相同点 1. 三者都是类数组对象 2. 都有item()方法 (2)不同点 1. NodeList是节点(12种)的集合、HTMLCollection是元素节点的集合、NamedNo...

2018-06-03 14:14:24

阅读数 185

评论数 0

牛客网_检查重复字符串

解答: 1、正则表达式的方向引用 function containsRepeatingLetter(str) { return /([a-zA-Z])\1/.test(str); } \1涉及正则表达式中反向引用的概念,参考:正则表达式中的反向引用 2、字符串方法 fun...

2018-05-27 18:18:15

阅读数 99

评论数 0

牛客网_返回对象

我的答案: function createModule(str1, str2) { /*var obj={ greeting:str1, name:str2, sayIt :function(){ retur...

2018-05-26 21:04:48

阅读数 49

评论数 0

牛客网_使用闭包

function makeClosures(arr, fn) { var result=[]; arr.forEach(function(item){ result.push(function(){ return fn(item); ...

2018-05-23 21:42:16

阅读数 52

评论数 0

牛客网_返回函数

function functionFunction(str) { return function(str1){ return str+", "+str1; }; } console.log(functionFu...

2018-05-23 21:20:05

阅读数 68

评论数 0

牛客网_函数传参

解决: 1、ES5:使用apply function argsAsArray(fn, arr) { return fn.apply(this,arr); } 2、ES6:使用扩展运算符... function argsAsArray(fn, arr) { return fn...

2018-05-23 20:51:17

阅读数 98

评论数 0

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