js基础
Haley_Guo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
js原型链和继承
一,原型链 在使用New方法初始化函数的时候(详细点击查看new的深度理解)得到的新对象的proto属性会指向函数对象的原型对象,而函数对象的原型对象又继承至原始对象。所以呈现以下结构: function fn(){}; var test = new fn(); 把这个有proto串起来的直到Object.prototype.proto为null的链叫做原型链。原型链实际上就是js中...原创 2018-04-24 11:03:01 · 178 阅读 · 0 评论 -
JavaScript深入之bind的模拟实现
JavaScript深入之bind的模拟实现 一句话介绍 bind: bind() 方法会创建一个新函数。当这个新函数被调用时,bind() 的第一个参数将作为它运行时的 this,之后的一序列参数将会在传递的实参前传入作为它的参数。(来自于 MDN ) 由此我们可以首先得出 bind 函数的两个特点: 返回一个函数 可以传入参数 返回函数的模拟实现 从第一个特点开始,我们举个例子...转载 2018-05-08 20:29:01 · 230 阅读 · 0 评论 -
用原生js实现一个new方法
首先写一个父类方法(包含参数name,age): function Person(name,age){ this.name = name; this.age = age; } new一个Person的实例p1做研究对比 var p1 = new Person("Richard", 22); //此时p1包含name、age属性,同时p1的__proto__指向Pers...转载 2018-04-26 21:47:42 · 1035 阅读 · 0 评论 -
LRU缓存的js实现
LRU缓存原理: LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 实现 最常见的实现是使用一个链表保存缓存数据,详细算法实现如下: 新数据插入到链表头部; 每当缓存命中(即缓存数据被访问),则将数据移到链表头部; 当链表满的时候,将链表尾部的数据丢弃。 ...转载 2018-05-11 16:22:04 · 4443 阅读 · 0 评论 -
js闭包及垃圾回收机制和引起内存泄漏的操作
JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“进入环境”。当变量离开环境时,则将其标记为“离开环境”。标记“离开环境”的就回收内存。 工作流程: 垃圾回收器,在运行的时候会给存储在内存中的所有变量都加上标记。 去掉环境中的变量以及被环境中的变量引...转载 2018-05-18 12:02:06 · 1898 阅读 · 0 评论 -
js实现拖拽
分析: 1.鼠标按下,拖拽开始;鼠标移动,拖拽进行;鼠标抬起,拖拽结束(三个事件) 2.被拖动元素与鼠标之间的位置在拖动过程中始终不变,利用这个原理,被拖动元素的位置(?,?)就是鼠标的左(上)点坐标-鼠标与被拖动元素顶点之间的相对距离 如图: 注意:onmousemove应该是在onmousedown发生时进行,不然不需要点击也能拖动了。被拖动元素能被拖放,它必须是绝对定位。 用户...原创 2018-04-28 16:26:10 · 316 阅读 · 0 评论 -
js数组和对象的拷贝方法
数组的复制 浅拷贝 1.使用=进行浅拷贝 var arr=[1,2,3]; var arr1=arr; console.log(arr);//[1, 2, 3] console.log(arr1);//[1, 2, 3] arr[1]=4; console.log(arr);//[1, 4, 3] console.log(arr1);//[1, 4, 3] 复制的是引用,两个数组指向同一个...原创 2018-05-15 11:15:17 · 432 阅读 · 0 评论 -
JS原生拖拽和input联想和自动补全
js原生实现拖拽,并改变容器的背景色 //var _origin = {x: div1.offsetLeft, y:div1.offsetTop} var _newele = document.createElement('div') var div1Style = getComputedStyle(div1) var dropFlag = 0, dragFlag = 0 div1.a...转载 2018-05-23 21:11:15 · 913 阅读 · 0 评论 -
js原生实现getElementsByClassName()
前言:document.getElementsByClassName这个方法只能在ie8以上的浏览器使用,也就是说getElementsByClassName是在支持html5的浏览器下才能执行。 为了让ie9以下的浏览器能够支持这个方法于是自己写了个getElementsByClassName脚本方法让浏览器也能够像jquery那样拿到Class就能获取对象。 function getE...转载 2018-06-01 16:46:32 · 3322 阅读 · 0 评论
分享