![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
文章平均质量分 72
不爱编程的小方
一个屯笔记的地方,很多都是网上的资料总结,供自己快速查阅
展开
-
offset,client,scroll
offset client scroll原创 2022-09-09 23:50:32 · 99 阅读 · 0 评论 -
JavaScript中的事件循环机制
如果有三个按钮,其回调函数里面处理的代码量用的时间各不相同,用户依次快速的点击三个按钮,此时用户希望的是,先点击的先执行,后点击的后执行,可是由于是Js多线程的,每一个回调函数都会被注册成一个线程,这时,肯定是用时少的先执行。这就造成了一个很大的问题,用户体验很不好可能有人会问,定时器里的代码为什没有按照顺序执行呢?答:JavaScript采用了一种排队机制,将异步代码放入了消息队列中,待同步代码执行完后,如果消息队列中存在异步代码需要执行,就会唤醒Js主线程去执行这些异步代码。原创 2024-06-11 11:53:52 · 1892 阅读 · 1 评论 -
JavaScript中的5种继承方式
注意super的指向,分别指向三个不同的对象。原创 2024-06-11 11:19:56 · 199 阅读 · 1 评论 -
闭包
闭包(closure)1.如何产生闭包? 当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数),内部函数被定义时(即外部函数被执行时),就产生了闭包。 外部函数执行几次就产生了几个闭包2.闭包到底是什么? * 使用chrome查看 * 理解一:闭包是嵌套的内部函数(绝大多数人) * 理解二:包含被引用变量(函数)的对象(极少数人) * 注意:闭包存在于嵌套的内部函数中 3.产生闭包的条件?函数嵌套内部函数引用了外部函数的数据(变量/函数)如下代码原创 2020-08-17 11:12:51 · 212 阅读 · 0 评论 -
ES6的必备知识
let和const的使用let和var的区别?let声明的变量只在当前(块级)作用域内有效let声明的变量不能被重复声明(包括普通变量和函数参数)不存在变量提升(注意考虑暂时性死区)不能当成window的属性(用var声明的全局变量是window的属性)1、只在块级作用域内有效{ let a = 10;//局部变量}console.log(a);//访问报错2、不能被重复声明let a = 10;let a = 20; //报错3 、不存在变量提升console.原创 2020-07-30 21:34:01 · 315 阅读 · 0 评论 -
数组排序
这里先介绍两种常见的,后续会补充冒泡排序function bubbleSort(arr) { //外层控制轮数,轮数是元素的个数减1 for (var i = 0; i < arr.length - 1; i++) { //内层控制每轮比较的次数,随着轮数每增加1轮,次数减少1 for (var j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1原创 2020-07-23 10:23:53 · 113 阅读 · 0 评论 -
数组去重的方法
第一种function norepeat(arr) { for (var i = 0; i < arr.length - 1; i++) { for (var j = i + 1; j < arr.length; j++) { if (arr[i] == arr[j]) { arr.splice(j, 1);//删除一个元素之后,原数组发生改变,后边的元素会往前进一步,但是j是正常累加 j--原创 2020-07-22 21:10:36 · 179 阅读 · 0 评论 -
字符串的常用方法
字符串的基本操作var str = "abcde";console.log(str[0]); //获取对应索引的字符console.log(str.length); //获取字符串的长度for (var i = 0; i < str.length; i++) { //遍历字符串 console.log(str[i]);}charAt(index)取到index这个索引对应的字符var str = "abcd";var s = str.charAt(1);console.l原创 2020-07-22 14:48:37 · 382 阅读 · 0 评论 -
JS数组的方法
1、concat合并数组,可以合并一个或者多个数组,会返回合并数组之后的数据,不会改变原来的数组var str1 = [12, 2, "hello"];var str2 = ["world"];console.log(str1.concat(str2)); //[12,2,"hello","world"]console.log(str1); //[12,2,"hello"]2、join将数组转为字符串并返回转化的字符串数据,不会改变原来的数组注意:()中用双引号包括自己想用的分隔符,默认为逗号原创 2020-07-18 15:13:57 · 324 阅读 · 0 评论 -
Ajax学习笔记
ajax的学习总结,于20220916进行过一次大更新原创 2019-12-03 00:04:57 · 223 阅读 · 2 评论 -
JavaScript正则表达式
正则表达式( Regular Expressions)介绍什么是正则表达式?由以下两种字符组成的文字模式 1、普通字符(例如26个英文字母、数字等) 2、特殊字符(有特殊含义的,例如.\等)该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符串模式与所搜索的字符串进行匹配。为什么使用正则表达式? 查找、替换、数据有效性验证初始正则表达式正...原创 2020-06-03 17:56:59 · 233 阅读 · 1 评论 -
原型与原型链的基本知识
原型和原型链(prototype)介绍1、函数的prototype属性 每个函数都有一个prototype属性,它默认指向一个Object空对象(除了Object函数)即称为:原型对象,并不是真是空的,只是没有我们添加的属性和方法而已 原型对象中有一个属性constructor,它指向函数对象,还有一个__proto_属性2、给原型对象添加属性(一般都是方法) 作用:函数的所有实...原创 2019-11-28 18:19:38 · 164 阅读 · 0 评论