自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ES6新特性

一、let1.声明次数:let只能声明一次,var可以重复声明。2.块级作用域:let作用域只能在{}内或循环内。3.不存在变量提升:var会提升到前面,若没有赋值就是undifined,let直接报错。二、const1.要赋初始值:不赋值会报错。2.常量不可以修改:修改会报错。3.块级作用域。4.当const了一个数组或者对象的时候,修改里面的值不会报错。5.常量常用大写。三、变量结构1.数组结构 //数组结构 const f

2021-11-11 21:38:12 764

原创 JavaScript DOM编程艺术笔记

二、1.math.round() 四舍五入:d2.5-->32.49-->2-2.5-->-2-2.51-->-3数轴上,在0.5的右侧就往右侧走。2.date()var current_date = new Date();getDay();getMonth();getHours();等方法。

2021-11-09 08:08:35 602

原创 数据结构 树相关

一、非递归方法:所有的大背景:先判断head是否为空。1.先序遍历:把根节点放到栈中循环:(终止条件:栈为空)(1)栈中弹出一个节点(2)打印该节点的值(3)如果有右节点,把右节点压到栈里;如果有左节点,把左节点压到栈里思考:先打印头:【1】头先压右再压左:通过栈的方法调整顺序变为【2】左【3】右合并所有过程【1】头【2】左【3】右2.后序遍历 把根节点放到栈中循环:(终止条件:栈为空)(1)栈中弹出一个节点(...

2021-10-27 09:31:26 156

原创 数据结构 链表相关

1.判断链表是否成环:使用快慢指针,快指针一次走两步,慢指针一次走一步,当快指针不为null时,如果有环快慢指针必然在环内相遇,并且快指针与慢指针相遇时,慢指针在环内走不过两圈。2.返回入环节点:快慢指针相遇后,让快指针再指回链表头,此时快慢指针一次走一步,当两者第一次相遇时,此时快慢指针相遇的节点就是入环节点。...

2021-10-26 19:36:18 172

原创 JS es6新增方法

一、数组1.foreach作用:遍历数组 var arr = [1, 2, 3],sum=0; arr.forEach(function(value, index, array) { console.log('每个数组元素' + value); // 1,2,3 console.log('每个数组元素的索引号' + index); // 0,1,2 console.log('...

2021-10-19 18:07:12 143

原创 JS 构造函数相关

一、call1.call可以调用函数 function fn() { console.log(123); } fn.call(); // 可以调用函数2.call可以改变函数this的指向 function fn(x, y) { console.log(123); console.log(this); console.log(x +

2021-10-18 15:38:10 77

原创 JS 构造函数

一、构造函数(用ES6之前的方法) function Star(uname, age) { // 构造函数 this.uname = uname; this.age = age; this.sing = function () { console.log('123'); } } var ldh = new Star('Ldh',

2021-10-17 17:04:21 158

原创 数据结构格式相关

一.哈希表map.has(jian);// 找表里有没有这个键map.get(jian);// 获取表里键所对应的值map.set(jian,zhi);// 向表里添加键值对

2021-10-13 23:08:39 132

原创 排序算法总结

一.排序的稳定性排序的稳定性是指对于非基础类型的对象进行排序时,能否实现保留原来的相对位置,如果可以保留原来的位置则说明该类型具有稳定性。1.有稳定性:冒泡排序、插入排序2.无稳定性:选择排序...

2021-10-12 19:37:05 66

原创 JS 堆排序

function heapSort(arr) { if (arr == null || arr.length < 2) { return; } for (var i = 0; i < arr.length; i++) { // logN heapInsert(arr, i); // logN 新建大根堆 } ...

2021-10-09 21:01:33 111

原创 JS 快排

1.荷兰国旗问题2.快排1.0时间复杂度: 最坏O(N^2):每次都只有大于num的情况或只有小于num的情况最好O(N*logN):每次都打到中间位置,master公式<=num || >=num || num --> <=num || num >=num3.快排2.0(借荷兰国旗)进步之处:添加了==num的情况<num || ==num || >num || num --> ...

2021-10-09 18:46:10 207

原创 归并排序 merge sort

时间复杂度:O(N*log(N)) 对N个数排序,每个数logN,二分思想空间复杂度:O(N) 创建了一个长度为N的辅助空间节约了比较行为,让每一次的排序都为下一次排序提供了信息,避免了比较行为的浪费。 var time = 1; function process(arr, L, R) { if (L == R) { return; } var M = L

2021-10-09 11:27:56 78

原创 JS 键盘相关

1.键盘按下对应的键触发事件 input.onkeyup = function (e) { if (e.keyCode == 13) { // ascii码对应回车 this.blur(); // 按下回车对应文本框失去焦点 } }

2021-10-07 17:04:29 64

原创 JS 文本框相关

1.让文本框内的值处于选定状态。 input.select();

2021-10-07 11:16:31 194

原创 JS 双击禁止选定文字

window.getSelection ? window.getSelection().removeAllRanges() : document.getSelection.empty();

2021-10-07 10:59:35 99

原创 JS 新建元素并插入DOM树

一、insertAdjacentHTMLbeforebegin 在元素自身的前面afterbegin 插入元素内部的第一个子节点的前面beforeend 插入元素内部的最后一个子节点的后面afterend 在元素自身的后面 var newli = ' <li class="current"> <span>新选项卡</span> <span class="close"></span></li>';

2021-10-07 10:49:27 282

原创 JS 面向对象 创建类与对象

一、创建类与对象1.创建属性 class Star { // 创建类 constructor(uname, age) { this.uname = uname; this.age = age; } } var ldh = new Star('刘德华', 99); // 创建对象 // 结果:Star{uname: '刘德华'.

2021-10-06 20:30:09 196

原创 JS 本地存储

一、存入 localStorage.setItem('todo', todolist);结果为:[object object],[object object]本地存储只能存储字符串的数据格式。可以把数组对象转换为字符串格式。 localStorage.setItem('todo', JSON.stringify(todolist));结果为:[{title: "任务一", done: false}, {title: "任务二", done: tru

2021-10-05 18:09:42 199

原创 JS 懒加载实现

一、懒加载代码/** * Created by channng on 16/12/5. */;(function($){ var defaults = { coverColor:"#dfdfdf", coverDiv:"", showTime:300, offsetBottom:0, offsetTopm:50, onLoadBackEnd:function(index,dom){},

2021-10-04 23:34:09 420

原创 JS jQuery 对象拷贝

1.拷贝给空对象 var targetObj = {}; var obj = { id: 1, name: 'wwy' } $.extend(targetObj, obj); // 将obj的值拷贝给targetObj2.拷贝给非空对象此时是将target完全覆盖. var targetObj = {

2021-10-04 19:39:18 102

原创 JS jQuery事件处理

一、绑定事件用on来绑定可以同时绑定多个事件 $('.box').on({ // 用on来一次性绑定多个事件 mouseenter: function () { $(this).css('background', 'red'); }, mouseleave: function () { $(this).

2021-10-04 19:07:49 74

原创 JS jQuery scroll系列

一、scroll事件 $(window).scroll(function () { console.log($(window).scrollTop()); // 结果:页面被卷去头部的高度 })二、默认打开页面滚到某位置 $(function () { $(document).scrollTop(100); // 一打开页面就默认向下滚动100px })

2021-10-04 15:35:14 410

原创 JS jQuery位置方法

一、获取设置文档位置此方法获取的是元素距离文档顶部和左侧的距离,与父元素无关。 console.log($(".box").offset()); // 结果:返回一个对象 // {top: 200, left: 100}; console.log($('.box').offset().top); // 结果:200,为数字型 $('.box').offset

2021-10-04 09:24:12 156

原创 JS jQuery 尺寸方法

1.获取和修改width和height大小其中返回的是数字型。 $('.box').width(); // 获取元素的宽 $('.box').width(300); // 修改元素的宽为3002.获取和修改width+padding的大小其中修改只会修改width和height值,不会修改里面的padding值 $('.box').innerWidth(); // 获取元素的width和padding值

2021-10-04 00:02:19 108

原创 JS jQuery 创建、添加、删除元素

一、创建元素直接在里面加入HTML标签 var newLi = $('<li>新创建的li</li>'); var newDiv = $('<div>新创建的div</div>');二、添加元素1.内部添加(加成孩子)(1)插入最后 // 把新创建的li插入到ul里的最后 $('ul').append(newLi);(2)插入最前

2021-10-03 23:29:10 180

原创 JS jQuery对象操作

一、遍历对象遍历dom对象推荐: var arr = ['red', 'blue', 'green']; $('div').each(function (index, domEle) { console.log(index); //结果:0,1,2 console.log(domEle); //结果:获取dom元素 $(domEle).css('color'

2021-10-03 18:19:33 73

原创 JS jQuery文本内容值

<div class="box"> <span>元素内容</span> </div>一、元素内容操作1.获取 console.log($('div').html());结果为 <span>元素内容</span>,里面包含标签2.修改 $('div').html('123');二、元素文本操作1.获取...

2021-10-03 10:11:48 80

原创 JS jQuery 属性操作

一、固有属性1.获取固有属性 $('a').prop('href'); // 获取属性值2.修改固有属性类似于修改css样式属性 console.log($('a').prop('href', 'https://blog.csdn.net/wwy6191?spm=1011.2124.3001.5343'));二、自定义属性1.获取自定义属性 $('.element').attr('index');

2021-10-03 09:24:12 73

原创 JS jQuery动画

一、动画函数1.前面是一个对象,可以修改里面的css属性,后面加上时间。 $(".box").animate({ left: 300, top: 200, opacity: 0.4, width: 300 }, 1000)

2021-10-02 21:00:52 64

原创 JS jQuery效果

一、显示与隐藏显示与隐藏对应的是css样式里的display display: block; display: none;而不是visibility /* visibility: hidden; */ /* visibility: visible; */ 1.显示1000ms,默认swing,也可选择linear,回调函数是执行完动画再执行。 $('.box

2021-10-02 19:43:56 99

原创 JS jQuery 修改样式

一、修改css样式1.获取元素的css值 console.log($('div').css('width')); // 结果:200px 获取当前元素的宽度2.修改元素的css样式(1)单独修改某一样式 加不加引号,两种方法均可 console.log($('div').css('width','300px')); // 结果:宽度修改为300px console.log($('div').css...

2021-10-02 16:35:36 451

原创 JS jQuery注意事项

一、隐式迭代例:修改css样式$('div').css('background', 'yellow');其中div不止一个,而使用jQuery可以让所有的选中div内部自动执行循环,全部换成黄色

2021-10-02 15:54:41 78

原创 JS jQuery选择器

一、基本选择器 $('#id'); // id选择器 $('*'); // 全选选择器 $('.class'); // 类选择器 $('div'); // 标签选择器 $('div,p'); // 并集选择器 $('li.current') // 交集选择器二、层级选择器 $('ul>li'); // 子代选择器 只能获得亲儿子元素,不能获取孙子层级的元素 $('ul li'); // 后代选择器,获取ul下所有li

2021-09-30 15:00:13 225

原创 JS jQuery 基本使用规范

一、入口函数与DOMContentLoaded作用相同1.方法一 $(document).ready(function () { })可以写在DOM元素之前,等DOM元素加载完成后再去执行js代码。2.方法二 $(function () { })写法更简单,推荐使用方法二。在jQuery中,$作用与jQuery相同。二、元素的获取 var d

2021-09-30 10:48:16 234

原创 JS classList.add和className

classList是直接修改一个节点的类名,classList.add()则是添加一个类名,对之前的内容不做修改。

2021-09-29 17:13:53 510

原创 JS mouseover和mouseenter

一、mouseover mouseover会出现事件冒泡。 var father = document.querySelector('.father'); var son = document.querySelector('.son'); father.addEventListener('mousemover', function aa(e) { console.log(1); // 结果:当鼠标进过父盒子时输出,...

2021-09-27 15:46:05 398

原创 JS scroll系列

一、scrollHeight和scrollWidth scrollHeight:返回自身实际的高度,超出box大小也会记录在内 注意:clientHeight和offsetHeight只能返回盒子的相关信息,没有考虑超出部分的实际高度。即使添加overflow:hidden,scroll也会返回实际的内容高度。二、scrollTop和scrollLeft scrollTop:返回被滑动滚动条时卷上去的高度 一...

2021-09-27 13:32:39 149

原创 数据结构与算法 两数交换

用异或的方法1.异或满足交换律和结合律交换律 a^b=b^a;结合律 (a^b)^c=a^(b^c)2.具体算法 var a = '甲', b = '乙'; a = a ^ b; // a=甲^乙 b = a ^ b; // b=甲^乙^乙=甲^(乙^乙)=甲^0=甲 a = a ^ b; //...

2021-09-27 13:04:47 107

原创 JS 立即执行函数

一、普通方法 先声明函数,然后再单独调用。 function fn() { console.log(1); } fn(); // 结果:1 二、立即执行函数 1.(function fn(形参) {函数内容} ) (实参) (function fn(a) { console.log(a); })(1); // 结果:1 后面的小括号相...

2021-09-26 20:57:27 98

原创 JS client系列

一、clientTop和clientLeft element.clientTop 返回元素的上边框大小 element.clientLeft 返回元素的左边框大小二、clientWidth和clientHeight element.clientWidth 返回元素的宽度 不包含边框 width+paddingelement.clientHeight返回元素的高度 不包含边框 height+padding...

2021-09-26 20:33:04 808

空空如也

空空如也

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

TA关注的人

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