- 博客(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 双击禁止选定文字
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关注的人