07 2020 档案
摘要:属性简洁表示法 const age = 12 const name = "Amy" const person = {age,name} 方法名简写 const person = { SayHi(){ console.log("Hi") } //等同于 //SayHi:function(){ // c
阅读全文
摘要:数值的表示 二进制表示:前缀 0b 或 0B 0b11 == 3 //true 八进制表示:前缀 0o 或 0O 0o11 == 9 //true 常量 Number.EPSION 表示1与大于1的最小浮点数之间的差 Math.abs(0.1-0.3+0.2) < Number.EPSION //t
阅读全文
摘要:拓展方法 子串的识别 ES6 之前判断字符串是否包含子串,用 indexOf 方法,ES6 新增了子串的识别方法 includes(substr) 返回布尔值,判断是否找到参数字符串 startsWith(substr) 返回布尔值,判断参数字符串是否在原字符串的头部 endsWith(substr
阅读全文
摘要:Proxy 可以对目标对象的读取、函数等操作进行拦截,然后进行操作处理。它不直接操作函数对象,而是像代理模式,通过对象的代理对对象进行操作,在进行这些操作时,可以增加一些需要的额外操作 基本用法 let target = { name: 'Tom', age: 24 } let header = {
阅读全文
摘要:Map对象 Map 对象保存键值对,任何值(对象或原始值)都可作为一个键或一个值 Maps 与 Object 的区别 一个 Object 的键只能是字符串或者 Symbol,但 Map 的键可以是任何值 Map 中的键是有序的(FIFO(先进先出)原则) Map 的键值对个数可以通过 size 属性
阅读全文
摘要:原始数据类型,表示独一无二的值 let sy = Symbol('kk') console.log(sy) //Symbol(kk) typeof(sy) //'Symbol' 相同参数 Symbol() 返回的值不相等 let sy1 = Symbol('kk') sy == sy1 //fals
阅读全文
摘要:数组模型 let[a,b,c] = [1,2,3] //a=1,b=2,c=3 let[a,[b,c]] = [1,[2,3]] //a=1,b=2,c=3 let[a, ,b] = [1,2,3] //a=1,b=3 let[a=1,b] = [] //a=1,b=undefined //剩余运算
阅读全文
摘要:let (定义变量) 代码块内有效 { let a = 1 console.log(a) //1 } console.log(a) //ReferenceError: a is not defined 不能重复声明 不存在变量提升 const (定义常量) 一旦声明必须初始化 声明之后不允许改变 c
阅读全文
摘要:单线程 JS是单线程,一次只能做一件事,如果同一时间有多个任务的话,这些任务需排队,前一个任务执行完才会执行后一个任务。 JS为什么是单线程,这与JS用途有很大关系,JS是浏览器脚本语言,主要用来实现与用户交互,利用JS可以实现对DOM的各种操作,如果是多线程会带来很复杂的同步问题 为什么需要异步
阅读全文
摘要:排序逻辑 构建大顶堆,将第一个元素和最后一个元素交换,然后在除去最后一个数的队列中构建大顶堆,然后再交换,直到大顶堆没有元素 排序之前必须直到二叉树的性质 长度为 n 的二叉树最后一个父亲节点为:n/2 第n个节点的左子节点:2n 第n个节点的右子节点:2n + 1 初始数据 调整为大顶堆 交换 再
阅读全文
摘要:排序逻辑 确认一个基准数,把比基准数大的放在右边,小的放在左边,递归下去实现排序 初始队列 第一轮 第二轮 代码示例 public static void quickSort(int[] arr,int start, int end){ if(start<end){ //以第一位为基准数 int s
阅读全文
摘要:排序逻辑 将一个队列递归均分为两个数组,再将两个数组按序归并为一个数组 初始队列 均分为两个队列 按序归并 代码示例(递归实现) /** * 归并排序: * 将一个数组递归均分为两个数组,再将两个数组归并为一个数组 * @param arr * @param start 数组范围 * @param
阅读全文
摘要:排序逻辑 希尔排序是在插入排序的优化,插入排序当一个小的数在右边的时候,以为插入排序只能交换相邻的数据,则需要很多次交换操作才能将前面序列保持有序,故希尔排序加入交换步长,能够交换相隔很远的数据,先队列排至大致有序,极大的提高了插入排序的效率 图示 交换排序 希尔排序 初始队列 步长为2 如果是直接
阅读全文
摘要:排序逻辑 每次遍历,保证前面的队列是有序的 初始队列 第一轮 第二轮 第三轮 第四轮 代码示例 public static void insertSort(int[] arr){ //从第二个数开始遍历所有的数字,每一次遍历保证前面的序列是有序的 for(int i=1;i<arr.length;i
阅读全文
摘要:排序逻辑 每一轮找出剩余队列中的最小值放在前面 初始队列 第一轮 第二轮 第三轮 代码示例 public static void selectSort(int[] arr){ for(int i=0; i<arr.length-1; i++){ int min = i; for(int j=i+1;
阅读全文
摘要:Object.defineProperty() 方法会直接在对象上定义一个新属性,或者修改一个现有属性,并返回该对象。 应当直接在Object 构造器对象上调用此方法,而不是在任意一个Object实例上调用 var obj1 = {} Object.defineProperty(obj1,'prop
阅读全文
摘要:面向对象是一种编程思想,所有事物都可以看做对象,即“万物皆对象”,任何物体都可以归为一类事物,而每一个个体都是一类事物的实例 面向对象有三大特征:封装、继承、多态 封装 将一类事物的属性和行为抽象为一个类,隐藏信息,留有公开接口访问操作,提高数据的隐蔽性的同时,使代码模块化,复用性更高。 继承 公共
阅读全文
摘要:排序逻辑 每一轮找出剩余队里中最大的数,放在剩余队的最后 初始队列 第一轮排序 第二轮排序 第三轮排序 第四轮排序 代码示例 public static void bubbleSort(int[] arr){ for(int i=0;i<arr.length-1;i++){ for(int j=0;
阅读全文
摘要:cellpadding 有cellpadding的样子 没有cellpadding的样子 cellspacing 有cellspacing的样子 没有cellspacing的样子 总结
阅读全文
摘要:let 是 es6.0 新增的定义变量的方式,用来声明局部变量,用法类似于 var 但也有区别 定义块级作用域变量 { var i=0; } console.log(i);//0 无法限定 var 定义的变量的访问范围 { let i=0; } console.log(i); //Uncaught
阅读全文
摘要:我说说我的故事吧,刚进高中的时候,我被安排到了文科班,但我堂堂七尺男儿怎么能学文,但我也没有抱怨,因为学半学期就会文理分科了,到了文理分科的时候,我文综考了250左右,理综也考了250左右,我想都没想直接填了理科,已经准备好了离开这个班。但我们的班主任也就是政治老师找到我,说:“你真的决定学理吗?理
阅读全文
摘要:这是我第一次站在台上演讲,台下一共10个人,还有一个是老师,面对这样一个主题,我前一天晚上看着这个主题发呆了至少一个小时,因为我好像从来没有认识过自己,我想要什么,想成为什么样的人,我并不清楚。我以前也从来没有问过别人,我在演讲的前一天特地去问了我的室友“你觉着我咋样?”,室友回答说:“你自己啥样心
阅读全文
摘要:设想有一家旅店,内设有无限个房间,而所有房间都已客满。这是来了位新客,想订个房间。旅店主说:“对不起,所有的房间都住满了”。 现设想另一家旅店,内设有无限多个房间,所有房间也都客满。这时来了位新客,想订个房间。“没有问题”旅店主说。接着,他就把1号房间的旅客移至2号房间,2号房间的旅客移至3号房间,
阅读全文
摘要:勾股定理:直角三角形,两直角边平方和等于斜边平方 a2 + b2 = c2 三国时期吴国数学家在《周髀算经注》中给出了证明方法:勾股圆方图 由图可知: S方大 = S方小 + S三 c2 = (b-a)2 + 2ab c2 = a2 + b2 爱因斯坦在 11 岁给出的证明方法 如上图,直角向斜边做
阅读全文
摘要:BF算法又称暴力算法,非常容易理解,同时效率也很低 实现步骤 (1) 给定子串与主串 (2) 在主串上从头开始选取与子串等长的模式串 (3) 比较模式串与字串,如果不相等,则模式串后移一位 (4) 当模式串移动到某个位置,每个字符都是匹配时,比较结束 代码示例 /** * @param s1 主串
阅读全文

浙公网安备 33010602011771号