- 博客(23)
- 收藏
- 关注
原创 动态规划 -- 钢条切割问题
给定一段长度为n英寸的钢条和一个价格表p,求切割钢条方案(钢条的长度均为整英寸),使得销售收益r最大。我们可以计算出长度为n英寸的钢条共有2的(n-1)次方种不同的切割方案。为解决规模为n的原问题,我们可以这样考虑。先求解形式完全一样,但规模更小的子问题。我们将钢条左边切割下长度为i的一段(i的取值范围是[1, n]),然后只对右边剩下的长度为n-i的一段继续进行切割(递归求解)。即问题的分...
2020-01-03 17:02:28
658
原创 常见排序算法整理
本文均以数组[5, 1, 3, 9, 8, 2, 7, 6, 4]为例进行说明,排序。冒泡排序(bubble sort)选择排序(selection sort)插入排序(insertion sort)归并排序(merge sort)快速排序(quick sort)堆排序(heap sort)一、冒泡排序其关键在于第n轮排序结束之后,使最大的数字出现在数组的长度 - n索引处,一...
2020-01-02 15:40:10
213
1
原创 五子棋小游戏 - 原生Javascript制作
var config = { piecesArr : null, nextPieces : 1, //下一个棋子 rowNum: 15, columnNum: 15, piecesBox : [], //装棋子的数组,方便悔棋 oChessBoard: document.getElementById('chessboard'), ...
2019-10-16 12:20:39
265
原创 汉诺塔小游戏 - 原生Javascript制作
本次介绍的是汉诺塔游戏的制作:界面非常简单,主要利用CSS3的flex布局,很快就可以完成。接下来主要分享一下js的功能实现// 一些基本配置var config = { minWidth: 50, addWidth: 30, column1: document.getElementsByClassName('column')[0], column2: ...
2019-10-16 12:14:14
1129
原创 JavaScript漂流记(下)__jQuery封装(简易版)
在学习jQuery的过程中,我们不仅需要掌握使用方法,更重要的是理解方法实现原理,在学习过程中,跟着老师整理了jQuery中常用方法的实现(仅仅实现了部分功能),有助于我们更灵活、更全面的掌握jQuery。(function(){ function jQuery(selector){ return new jQuery.prototype.init(selector)...
2019-06-20 23:45:17
304
原创 Javascript漂流记(下)__bind方法使用、bind方法实现及jQuery.proxy()使用
前面我们学习了改变this指向的两个方法:call、apply下面要隆重介绍第三种改变this指向的方法 ——bind首先我们通过非常简单的一小段代码看一下bind的基本使用: var x = 10; function show(){ console.log(this.x);//10 20 } show(); var aO ...
2019-06-20 23:18:37
436
原创 Javascript漂流记(下)__js运动篇
一、匀速运动 function startMove(dom, destination){ clearInterval(timer); var iSpeed = destination - dom.offsetLeft > 0 ? 5 : -5; timer = setInterval(function...
2019-06-09 18:03:35
446
原创 Javascript漂流记(下)__深入数组扩展方法(二)
一、在有序的数组中找到一个指定值的索引(二分查找) var arr = [1,2,3,5,7,8,9,11,56,78,99]; function binarySearch(arr, val){ var low = 0, high = arr.length - 1; while(low <= high){ var m...
2019-06-09 18:02:39
4992
2
原创 Javascript漂流记(下)__深入数组扩展方法(一)
数组扩展:前面我们提到了数组的基本方法及使用。接下来进行一些拓展。整篇文章以下图数据为例进行说明。 var personArr = [ {name:'张飞', age:18, des:'比蚂蚁牙黑', gender:'male'}, {name:'李逵', age:16, des:'我比楼上还黑', gender:'male'...
2019-06-09 16:43:57
907
翻译 Javascript漂流记(上)__Date对象、实现日历插件
一、用原生js实现日历插件(一)实现效果:实现代码:var time1 = document.querySelector('.time1'), time2 = document.querySelector('.time2'), number = document.querySelector('.number'), btns = document.que...
2019-06-09 15:32:06
440
原创 Javascript漂流记(上)__事件、异步加载、时间线
一、事件 1、事件绑定: 1. elem.onxxx = function(){},this指向elem,只能绑定一个处理函数,基本等同于写在HTML行间(句柄写法) 2. elem.addEventListener('事件类型',处理函数,false),this指向elem,可绑定多个处理函数 3. elem.attachEvent(...
2019-06-09 13:32:07
490
原创 Javascript漂流记(上)__Dom浅谈
DOM:提供了一些方法,可以操作html和xml一、DOM基本操作(document代表整个文档,html只是文档里的根标签) 1、查看元素节点 document.getElementById(ie8以下,同名的name属性也可以匹配到) document.getElementsByTagName()[index],兼容性没毛病 ...
2019-06-08 17:47:48
287
原创 Javascript漂流记(上)__try..catch、es5标准模式
一、try..catch try{ console.log('a'); console.log(b);//出错,不抛出错误,try里后续代码不执行 console.log('c');//不执行 }catch(e){ console.log(e.name + ":" ...
2019-05-29 12:22:33
319
原创 Javascript漂流记(上)__数组、类数组
一、数组: 1、定义方式: 数组字面量var arr = [1,2,3,4,5]; 构造方法var arr = new Array(1,2,3,4,5); 二者有区别,如var arr1 = new Array(10); 是一个长度为10的稀疏数组。 2、数组的读和写: 数组...
2019-05-29 12:05:15
357
原创 Javascript漂流记(上)__this、克隆
一、this(粗糙的说,平时指向window,后期谁调用就指谁) 1、函数预编译时。this --> window function test(){ console.log(this);//window } test(); 2、全局作用域里this --> window 3、call/...
2019-05-28 09:35:18
665
原创 Javascript漂流记(上)__继承模式、命名空间、对象枚举
一、继承模式 1、传统形式 --> 原型链 缺点:过多地继承了没用的属性 2、借用构造函数 call/apply,可借用别人的方式实现自己的功能。 缺点:不能继承借用构造函数的原型,且每次构造函数都要多走函数,运行效率偏低 前两种继承模式详情请参考上节--原型、原型链、c...
2019-05-27 12:34:44
277
原创 Javascript漂流记(上)__原型、原型链、toString、call/apply
一、原型:是function对象的一个属性,是构造函数制造出对象的公共祖先。通过该构造函数产生的对象,可以继承原型的属性和方法。原型也是对象。 提取公有属性: //Person.prototype = {},生来就有,是person1,person2...的爹 Person.prototype = { //cons...
2019-05-26 23:08:46
346
原创 Javascript漂流记(上)__对象、包装类
一、对象 1、创建一个对象,对象有一些属性和方法。 var obj = { name : 'object', age : 20, gender : 'bisexual', difficult : function(){ ...
2019-05-26 23:08:39
276
原创 Javascript漂流记(上)__作用域链、闭包、立即执行函数
一、作用域[[scope]]: 存储了执行期上下文的集合(作用域链) 参照下图代码: a函数被定义时:a.[[scope]]--> 0:GO{} a函数执行时:a.[[scope]]--> 0:aAO{} 1:GO{} a函数执行时,b函数被...
2019-05-26 23:08:22
315
原创 Javascript漂流记(上)__函数、递归、预编译
一、函数(编程遵循高内聚,弱耦合) 1、定义: 函数声明:function test(){} 函数表达式:命名款:var test = function abc(){}, 匿名款:var test = function (){},起名也没用,干脆匿名吧。 2、参数:形参,实参。有了它俩函数...
2019-05-25 17:21:44
293
原创 Javascript漂流记(上)__数据类型转换
今天一个菜,菜是好菜,就是硬了点儿。先认识个新朋友:typeof():typeof()上场就放出number、string、boolean、undefined、object、function六个大招。然并卵,耍来耍去都是字符串类型。跟二哥有什么关系呢?传说Javascript有两件法宝:显示类型转换、隐式类型转换。索性就把typeof()拿来鉴宝吧。数据不好好待着,换来...
2019-05-24 22:30:18
507
2
原创 Javascript漂流记(上)__条件语句、循环语句
开吃前,二哥想吟诗一首:此系列套餐属二哥原创,整理自 "渡一教育Javascript课程" ,一个值得推荐的"渡一教育"。今日套餐:条件语句、循环语句一、条件语句: if(true){ document.write('条件转布尔值为true,执行语句'); } switch语句:...
2019-05-24 18:21:42
372
原创 Javascript漂流记(上)__变量、值类型、运算符
大学毕业后,二哥说世界那么大,想去外面找静静。顺便看一看世界的繁华不巧迷了路好在已经找到了方向。上了JavaScript的床,呸呸呸!!!是船!二哥是地地道道的北方人,第一次坐船,吃不惯海鲜。备点干货,以备不时之需。今日套餐:基础概念(变量、值类型、运算符)一、变量: 变量名必须以英文字母、_、$开头;变量名可以包括英文字母、_、$、数字。二、数据类型: ...
2019-05-24 13:26:15
332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人