js原生
Mr.Herbert
注意你的想法,它会改变你的命运
展开
-
防抖与节流概念
防抖与节流 //防抖 <body> <input type="text" id="inp"> <script> var oInp = document.getElementById('inp'); function ajax(e) { console.log(e, this.value); } function debounce(handler, delay) {原创 2021-08-07 16:28:20 · 96 阅读 · 0 评论 -
数组去重方法
// 数组去重 Array.prototype.unique = function(){ var temp = {}; var arr = []; var len = this.length; for(var i = 0; i < len; i++){ if(!temp[this[i]]){ temp[this[i]] = 'abc'原创 2021-08-05 15:56:25 · 101 阅读 · 0 评论 -
js深度克隆
// 深度克隆 // 深度克隆 function deepClone(target,origin){ var target = target || {}, toStr = Obejct.prototype.toString, arrStr = '[object Array]'; for(var prop in origin){ if(origin.原创 2021-08-05 13:36:21 · 87 阅读 · 0 评论 -
js圣杯模式
// 圣杯模式 var inherit = function(){ var F = function(){}; return function(target,origin){ F.prototype = origin.prototype; target.prototype = new F(); target.prototype.constructor = target; target.prototype.uber = origin.prototype; }原创 2021-08-05 13:28:48 · 249 阅读 · 0 评论 -
move运动函数
//封装一个运动函数 // Move function getStyle(ele, attr) { if (window.getComputedStyle) { return window.getComputedStyle(ele, null)[attr]; } else { return ele.currentStyle[attr]; } } function startMove(dom, attrObj, callback) {原创 2021-08-05 13:18:45 · 221 阅读 · 0 评论 -
bind方法源码
//bind封装源码 Function.prototype.newBind = function (target) { target = target || window; var self = this; var args = [].slice.call(arguments, 1); var temp = function () {}; var F = function () { var _arg = [].slice.call(arguments,原创 2021-08-05 13:16:51 · 282 阅读 · 0 评论 -
drag方法——>拖拽
drag方法 拖拽 var drag = { init: function (dom) { this.dom = dom; this.bindEvent(); }, bindEvent: function () { this.dom.onmousedown = this.mouseDown.bind(this); }, mouseDown: function (e) { docume原创 2021-08-05 13:01:33 · 383 阅读 · 0 评论