![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端
code_xin~
这个作者很懒,什么都没留下…
展开
-
js 实现链表
js 实现链表function LinkedList() { this.Node = function(item) { this.item = item; this.next = null; } // let node = new Node(); let length = 0; let head = null; this.append = function(item) { var node = new this原创 2021-07-19 18:23:35 · 89 阅读 · 0 评论 -
js 实现二叉搜索树
js 实现二叉搜索树//二叉搜索树function BinaryTree() { let root = null; function Node(key) { this.key = key; this.left = null; this.right = null; } function insertNode (node,newNode) { if(newNode.key < root.k原创 2021-07-19 14:06:44 · 138 阅读 · 0 评论 -
js 实现队列
js 实现队列//创建队列function Queue() { let items = []; this.enqueue = function(item) { items.push(item); } this.dequeue = function() { return items.shift(); } this.front = function() { return items[0]; }原创 2021-07-19 14:00:35 · 72 阅读 · 0 评论 -
js排序算法
js排序算法 // 生成一个长度1000000的有序数组 let array = Array.from({ length: 1000000 }, (_, i) => i); //数组乱序 function fisher_yates_shuffle(arr) { for (let i = 0; i < arr.length - 1; i++) { const j = i + Math.floor(Math.random() * (arr.length - i)原创 2021-06-23 18:15:44 · 41 阅读 · 0 评论 -
js 常见基础算法问题
js 常见基础算法问题后序会继续补充// 数组扁平化const flatten = arr => [].concat(...arr.map(x => Array.isArray(x) ? flatten(x) : x)); // 节流function throttle (func, delay = 60) { let lock = false; return (...arg) => { if (lock) return; func(...arg原创 2021-06-23 18:07:38 · 62 阅读 · 0 评论 -
Vue 响应式原理
Vue 响应式原理<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> body <div id="app"> <div>{{ age }} <p> </p> </div>原创 2021-06-23 17:57:37 · 54 阅读 · 0 评论 -
js 实现HashTable
js 实现HashTable // 解决方法1:改造hash函数 class HashTable { constructor() { this.table = new Array(137); } simpleHash(data) {//简单的散列函数 除留余数法 let total = 0; for (let i = 0; i < data.length; i++) { total += data.charCodeA原创 2021-06-23 17:55:59 · 287 阅读 · 0 评论 -
Node.js 实现一个body-parse中间件
Node.js 实现一个body-parse中间件bodyParse.jsconst fs = require('fs');const querystring = require('querystring');const qs = require('qs');function BodyParser() {}// 解析 application/x-www-form-urlencoded 数据BodyParser.prototype.urlencoded = function (optio原创 2021-06-08 15:56:21 · 210 阅读 · 0 评论 -
JS实现BinaryTree
JS实现BinaryTree<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <tit原创 2021-06-08 15:28:26 · 119 阅读 · 0 评论 -
js实现双人对战五子棋
js实现双人对战五子棋<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>双人对战五子棋 - temptation</title> <style type="text/css"> #center{ text-align:center; } table { border: 1px solid black;原创 2021-03-25 11:16:30 · 991 阅读 · 1 评论 -
js实现时空穿梭效果
js实现时空穿梭效果<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <原创 2021-03-25 11:07:03 · 665 阅读 · 0 评论 -
javascript 自定义事件
javascript 自定义事件 const event = (function() { const events = {}; // 绑定事件 const on = function(type,func) { events.hasOwnProperty(type) ? null : events[type] = []; let arr = events[type]; let i = 0; for (;i < arr.length; i++) { if (f原创 2021-03-08 21:30:02 · 99 阅读 · 0 评论 -
javascript 遍历node节点
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document<原创 2020-12-30 19:30:31 · 759 阅读 · 0 评论 -
javascript 实现拖拽组件
js部分// Function.prototype 实现 function Drag(dom) { this.dom = document.getElementById(dom); this.disX = 0; this.disY = 0; } Drag.prototype.init = function () { this.bindEvent(); } Drag.prototype.bindEvent = function() { this.m原创 2020-12-30 19:05:14 · 498 阅读 · 2 评论 -
javascript 数组方法使用即实现
// var arr = [1,3,5,7,9];// var arr2 = arr.concat(11,13,15);// console.log(arr2);// filter:筛选符合条件的数组并返回,不改变原数组// var arr3 = arr.filter(function(ege){ // return ege > 3;// })// console.log(arr3);// every:判断数组是否符合条件,返回true或者false原创 2020-12-30 18:58:18 · 73 阅读 · 0 评论 -
javascript 异步加载js文件
function loadScript(url,callback) { var script = document.createElement("script"); script.type = "text/javascript"; if(script.readyState) { script.onreadystatechange = function() { if(script.readyState == "complete" || script.readyState == "loaded"原创 2020-12-30 18:54:06 · 105 阅读 · 0 评论 -
javascript 时间版运动框架案例
js部分 var timer = null; var div = document.getElementsByTagName("div"); function getStyle(obj, style) { if(window.getComputedStyle) { return window.getComputedStyle(obj,null)[style]; }else { return obj.currentStyle[style];原创 2020-12-30 18:51:43 · 124 阅读 · 0 评论 -
javascript二叉树
function Node(data, left, right) { this.data = data; this.left = left; this.right = right; } function setTree() { var root = new Node(1, null, null); var node1 = new Node(2, null, null); var node2 = new Node(3, null, null);.原创 2020-12-30 13:47:09 · 72 阅读 · 0 评论 -
javascript之数据去重
javascript数据去重 var arr = [1,5,5,5,6,6,6,3,3,2,2,1,1,9,9,9,"a","a","s","s"]; Array.prototype.unique = function(){ var newArr = []; var len = this.length; var obj = {}; for(var i = 0 ; i < len ; i++){ if(!obj[this[i]]){原创 2020-12-28 19:00:35 · 88 阅读 · 1 评论 -
javascript实现轮播图插件
javascript实现轮播图插件(function($) { function Slider(opt) { var opts = opt || {}; this.wrap = opts.father; this.img = opts.image; this.itemWidth = this.wrap.width(); this.imgNum = this.img.length; thi原创 2020-12-28 18:47:37 · 633 阅读 · 0 评论 -
javascript实现瀑布流
javascript实现瀑布流html、css部分图片部分可自己上网找<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" c原创 2020-12-28 18:40:18 · 58 阅读 · 0 评论 -
jQuery高级应用
jQuery高级应用 $.ptocy() //改变this指向 var name = "xin"; function show(a,b){ console.log(this.name); console.log(a,b) } var person = { name : "qiao" } $.proxy(show,person)(1,2); var obj = { init : function(){ this.bindEvent()原创 2020-12-28 18:27:34 · 102 阅读 · 0 评论 -
javascript tools.js工具函数
鼠标事件封装const MOUSE = { getEvent: function (e) { return e || window.event; }, getTarget: function (e) { return this.getEvent(e).target || this.getEvent(e).srcElement; }, getClientX: function (e) { return this.ge原创 2020-12-28 18:18:38 · 604 阅读 · 0 评论 -
javascript深度克隆
javascript深度克隆 const obj = { name: 'xin', hobby: ['playGames','footBall','swim','travel'], outer: { age: 18, arr: [], inner: { hello: 'world' } } } function deepClone(obj) { let原创 2020-12-28 18:15:32 · 38 阅读 · 0 评论 -
javascript装饰器模式
javascript装饰器模式 function PlaneFactory() { this.decorate_list = []; } //创建对象接口 PlaneFactory.create = function (type, x, y) { //判断prototype上是否存在该类型的子类 if (PlaneFactory.prototype[type] == undefined) { throw 'not this constructor!'原创 2020-12-28 18:12:56 · 41 阅读 · 0 评论 -
javascript职责链模式
javascript职责链模式 function GrandParent (child) { if (child) { this.child = child; } } GrandParent.prototype.work = function (task) { this.child.work(task); } function Parent (child) { if(child) { this.child = chil原创 2020-12-28 18:10:45 · 84 阅读 · 0 评论 -
javascript 单例模式应用
单例模式html部分<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <原创 2020-12-26 20:33:45 · 163 阅读 · 4 评论 -
javascript 代理模式应用
代理模式html、css部分<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge">原创 2020-12-26 20:30:10 · 101 阅读 · 0 评论 -
javascript 严格模式
严格模式严格模式下不允许使用0前缀: var color = 0100;禁止八进制的前缀0表示法。函数不能有重名的参数。eval、arguments 不可用作标识名。禁止扩展的对象不可扩展。只设置了取值器的属性不可写。只读属性不可写。严格模式下,变量都必须先声明,然后再使用。禁止 this 关键字指向全局对象。禁止使用 fn.callee、fn.caller。禁止使用 arguments.callee、arguments.caller。禁止删除变量。禁止使用 with 语句。a原创 2020-12-26 16:38:35 · 124 阅读 · 0 评论 -
对象的继承
对象的继承 function MyArray() {} //声明一个MyArray函数 MyArray.prototype = new Array(); //将MyArray的原型对象赋值为Array的实例 MyArray.prototype.constructor = MyArray; //将MyArray的constructor赋值为MyArray var mine = new MyArray(); //创建MyArray的实例 mine.push(1,2,3); //创建后的实例对象完全原创 2020-12-26 16:20:10 · 59 阅读 · 0 评论