自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 js-回文数

var isPalindrome = function(x){ if(typeof(x) !== 'number'){ console.error('请传数字') return } const tempstr = x.toString() let i = tempstr.length - 1 let j = 0 while(j <= i){ if(tempstr[j++] !== tempstr[i--])

2021-10-19 22:16:34 86

原创 js数组拍平(数组扁平化)

let a = [1,2,[3,4,[5,6,7],8,9],10,11]1.js原生方法a.flat(Infinity)2.使用toString这种方法返回的数组里的元素都是字符串a.toString().split(',')3.自己实现2.1.使用for循环+递归function flat(arr){ if(Array.isArray(arr)){ let newArr = [] for(let i = 0 ; i < arr.length

2021-09-13 15:23:53 183

原创 js-大数相加

简洁写法function bigSum(a,b){ if(typeof(a) !== 'string' || typeof(b) !== 'string'){ console.log('参数为字符串类型') } let res = '' , c = 0 const arra = a.split('') const arrb = b.split('') let time = 20 while(arra.length || arrb.length || c && time &

2021-09-13 13:50:03 74

原创 js不使用setInterval实现倒计时函数

第一种:暴力循环function countdownTimer(n){ if(typeof(n) !== 'number'){ console.log('参数类型错误,请传数字') return } if(n < 0){ console.log('参数不能小于0') return } const t = parseInt(n) for(let i = t ; i >= 0 ; i--){ setTimeout(() => { console.log(

2021-09-12 22:44:54 418

原创 两个O(nlogn)的排序算法——归并排序和快速排序

归并排序快速排序

2021-09-12 13:04:07 131

原创 js基础-作用域和闭包

作用域什么是作用域?每个代码块都会形成一个作用域,变量,对象,函数都只能在当前作用域和所有的下级作用域被使用什么是自由变量?在当前作用域没有被声明,但是却被使用了的变量。js遇到自由变量就会往上级作用域一层一层找,直到找到为止,如果找不到就会报错xx is not defined闭包作用域应用的特殊情况,有两种表现1.函数作为参数被传递2.函数作为返回值返回//函数作为返回值function create(){ let a = 1 return function(){ retu

2021-09-11 22:35:31 66

原创 三个O(n^2)的排序算法——冒泡排序,插入排序,选择排序

冒泡排序假设初始数组a = [2,3,4,1,0],数组长度为5。要求从小排到大,即[0,1,2,3,4],a[0]=0,a[1]=1,a[2]=2,a[3]=3,a[4]=4。拿a[0]跟a[1]比,也就是2和3比,a[1]比a[0]大,那么就不用交换位置,此时数组a = [2,3,4,1,0]拿a[1]跟a[2]比,也就是3和4比,a[2]比a[1]大,那么就不用交换位置,此时数组a = [2,3,4,1,0]拿a[2]跟a[3]比,也就是4和1比,a[3]比a[2]小,那么两者就交换位置,此

2021-09-11 17:35:56 82

原创 js基础-原型,原型链,继承

1.原型什么是原型?在js中,每个对象实例都有一个指向原型对象实例的__proto__属性,每个构造函数也都有一个指向原型对象实例的prototype属性,对象实例的__proto__和对应构造函数的prototype指向的是同一个原型对象。图文示例:class Student{ constructor(name,number){ this.name = name this.number = number } sayHi(){ console.log(`my name is ${t

2021-09-10 16:47:45 65

原创 js基础-变量类型,对象存储方式,类型判断,深拷贝

js基础-变量类型值类型:number,boolean,string,undefined,Symbol引用类型:Object和它的子类型例如Array,Set,Map等等特殊的引用类型:null,Function不同类型对象存储方式值类型的数据是存储在栈内存中,引用类型是存储在堆内存中。例如:值类型:let a = 100在内存中大概就是这样:如果:let b = a那么就是这样:如果:a = 200那么就是这样:所以此时:a === 200,b === 100引用类型

2021-09-10 15:39:37 207

原创 BOM是什么

BOM是Browser Object Model(浏览器对象模型)的缩写,由多个对象组成,其中window对象为顶层对象,其他对象都是window对象的子对象。所有浏览器都支持window对象,它代表浏览器窗口。所有全局的javaScript对象都是window的子对象全局变量是window对象的属性全局方法是window对象的方法window的对象属性(HTML DOM 的)document窗口尺寸属性:window.innerHeight - 浏览器窗口的内高度(以像素计)windo

2021-06-20 00:15:03 158

原创 浅谈计算机网络之传输层TCP,UDP协议

概述运输层向应用层提供通信服务,两个主机进行通信其实是运行在两个主机上的进程进行通信,网络层使用的IP协议只负责把分组传送到目的主机,运输层负责交付到应用进程。运输层提供两个重要的功能:1.复用,2.分用复用:指在发送方不同的应用进程可以使用同一个运输层协议传输数据分用:指在接收方运输层在剥去报文首部之后能够交付给目的进程运输层有两个主要协议:TCP,UDP,下面详细探讨这两个运输层协议。端口在探讨TCP,UDP之前先简单说一个端口。端口分为硬件端口和软件端口。硬件端口:不同硬件设备进行交互

2020-07-24 15:54:33 839

原创 JAVA内存管理

JAVA内存区域与内存溢出异常1.java虚拟机管理的内存各个区域1.1程序计数器这是一块占比比较小的内存空间,有学习过《操作系统》这门课程的同学应该很熟悉,它是用来记录下一条要执行的指令的地址,在java虚拟机中,字节码解释器就是通过改变这个计数器的数值来选取下一条需要执行的字节码指令(可是后面又说线程如果是正在执行一个java方法,那么计数器记录的是正在执行的方法,如果执行的是本地方法,这个计数器的值就为空,这里给我留下了一个问题,待查明后修改)。程序计数器是线程私有的,每一条线程都需要独立

2020-07-08 15:51:03 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除