JavaScript学习笔记
文章平均质量分 55
SignalFire
这个作者很懒,什么都没留下…
展开
-
JavaScript知识点
GitHub - wangchongfire/JavaScriptInterviewQuestion原创 2024-02-12 17:53:54 · 176 阅读 · 0 评论 -
JavaScript中的闭包
闭包:闭包是一个组合,一个函数以及它捆绑的周边环境状态的引用组成的组合闭包 = 函数 + 这个函数捆绑的周边环境状态的引用。原创 2024-01-30 16:21:33 · 593 阅读 · 0 评论 -
匿名函数自调用的不同写法
匿名函数自调用,即函数只执行一次。原创 2024-01-03 21:05:54 · 435 阅读 · 0 评论 -
JS中的DOM相关、事件绑定、事件委托、冒泡、捕获、阻止默认行为
JS中的DOM相关、事件绑定、事件委托、冒泡、捕获、阻止默认行为。原创 2024-01-02 10:10:16 · 774 阅读 · 0 评论 -
JS数据类型、数据类型检测、数据类型转换
基本数据类型:Number、String、Boolean、Undefined、Null、Symbol(ES新增)引用数据类型:Object(包括Array、Function)注意:逻辑上讲,null值表示一个空对象指针,这也是给typeof传一个null会返回"object"的原因在定义将来要保存对象值的变量时,建议使用null来初始化,不要使用其他值。这样,只要检查这个变量的值是不是null就可以知道这个变量是否在后来被重新赋予了一个对象的引用。原创 2024-01-02 09:46:17 · 843 阅读 · 0 评论 -
JS深浅拷贝
3、JSON.parse()和JSON.stringify()B复制了A的值,如果A被修改,B的值也被改变,那就是浅拷贝。如果B的值没有跟着修改,那就是深拷贝。原创 2023-12-26 11:21:03 · 459 阅读 · 0 评论 -
typeof与instanceof
当instanceof检测到object类型时,会再次检测是否含有call方法,如果有返回function,否则返回object。typeof检测变量机器码的后三位,返回number、string、boolean、undefined、object。instanceof检测原型链,A instanceof B(A是否是B的实例对象),返回true、false。检测null类型的数据时,返回object,因为null的机器码全是0,后三位自然是0。引用数据类型:Object。原创 2023-12-26 10:17:43 · 385 阅读 · 0 评论 -
JavaScript的Object中28个原型方法、静态方法和属性
Object.prototype原型方法、属性Object静态方法原创 2022-07-11 13:15:19 · 355 阅读 · 0 评论 -
JavaScript中的Array40个原型方法、静态方法、属性
控制台输出:Array.prototype会得到Array的所有方法(谷歌浏览器)传入1或者多个数组let arr3 = arr.contact(arr1[,arr2])用从索引j到k(不包括k)的元素替换从i开始的对应元素;j,k不填则为第一个到最后一个;k不填为从j到最后返回一个Array迭代器对象,这个对象的键是数组索引,值为对应的数组值;用于数组遍历传入回调函数,函数参数如下:pre上一次计算返回结果,cur当前遍历到的元素值,curIndex当前元素的索引,arr即调用reduce的数组返回最终计原创 2022-07-08 08:11:50 · 329 阅读 · 0 评论 -
ES6中的代理proxy
p()为自定义函数,后文中的p()都是调用这个函数目录拦截器一、数组代理二、对象代理三、函数代理四、class代理五、ES5中的代理拦截遍历如: for in 循环 Object.getOwnPropertyNames(obj); Object.getOwnPropertySymbols(obj); Object.keys(obj);1、拦截获取值的操作2、拦截设置操作,给数组赋值或者添加元素时触发如:arr.push(xxx)原创 2022-06-30 13:50:15 · 3717 阅读 · 0 评论 -
JavaScript中的数值
目录一、数值转换一、数值转换1、十进制转二进制2、二进制转十进制1、二进制的表示:0bxxx2、八进制的表示0oxxxNumber.isFinite();判断是否是有限的,数字(整数和浮点数)为true,其余为falseNumber.isNaN();判断是否是非数字,NaN为true,其余为false判断是否是整数;整数数值返回true,其余返回falseNumber.MAX_SAFE_INTEGER 9007199254740991Number.MIN_SAFE_INTEGER原创 2022-06-30 10:02:16 · 311 阅读 · 0 评论 -
ES6箭头函数
1、this指向默认指向调用时的对象箭头函数中的this指向定义时所在的对象2、箭头函数不能作为构造函数使用3、无法使用arguments对象,只能使用扩展运算符解析原创 2022-06-26 15:49:27 · 138 阅读 · 0 评论 -
ES6扩展运算符(...)
1、分割数组2、连接数组其他方式3、函数参数解析原创 2022-06-26 14:37:53 · 146 阅读 · 0 评论 -
Es6数组
1、伪数组转数组(1)Array.prototype.slice.call() (2)Array.from()(3)Array.of() 2、元素替换(1)arr.copyWithin(i,j1[,j2]) 用j1到j2的元素替换从i开始的对应元素,j2省略则j1到末尾(2)arr.fill(newVal[,j1,j2]) 用newVal替换从j1到j2的元素,j1,j2不写则替换所有元素 3、检测元素是否存在includes(item)indexOf不能检测NaN...原创 2022-06-26 11:30:28 · 115 阅读 · 1 评论 -
ES6数组遍历与ES5数组遍历
(1)find 返回数组中第一个符合条件的元素(2) findIndex,返回第一个符合条件的元素的索引(3) for of获取值获取索引获取值和索引(1)forEach,不支持continue和break (2)map遍历,传入一个回调函数,返回一个新数组(3)filter遍历,传入回调函数,返回过滤后的数组 (3)some,返回是否存在要检测的值,返回Boolean (4)every,只有每个元素都符合才返回true(5)reduce去重累加最大值(6)for infor in 会把Array.pror原创 2022-06-26 08:15:51 · 479 阅读 · 0 评论 -
ES6解构赋值
解构赋值:按照一定模式从数组和对象中提取值对变量进行赋值。一、数组解构数组解构赋值时按照索引进行对应赋值,要注意顺序(1)一维数组(2)二维数组(3)左侧接受的变量在右边没有对应的(4)设置默认值二、对象解构按照对象的键赋值,顺序随意(1) 左侧换顺序(2) 定义别名三、字符串解构赋值和数组一样按照顺序解构 四、函数参数解构赋值 五、JSON解构赋值...原创 2022-06-25 17:06:22 · 217 阅读 · 0 评论 -
JavaScript中的typeof与instanceof
一、typeof (5)console.log(typeof function(){}); console.log(typeof Array);1、typeof是如何检测的? typeof会检测对应类型的机器码,以机器码的后三位判断所属类型 null的机器码后三位为000,因此typeof判定为object类型 关于null的类型被typeof判断为object为JavaScript语言的设计过程中的bug,已经有人提案修改...2原创 2022-06-24 07:44:13 · 214 阅读 · 0 评论 -
JavaScript对象深克隆
一、JSON序列化与反序列化缺点:二、自定义深克隆原创 2022-06-22 10:00:09 · 115 阅读 · 0 评论 -
JavaScript字符串常用方法
1、长度2、从指定位置开始检索指定文本首次出现的索引位置3、从开头到指定索引位置检索指定文本最后一次出现的索引位置4、搜索指定文本的位置5、字符串截取截取从起始索引到终止索引的字符串,源字符串不变substring();与slice其它相同,不接受负数substr();第一个参数为起始索引,第二个为长度不接受负数6、转换大写7、删除字符串两端空白字符,原数组不改变8、字符串合并,产生新数组,原来两个数组不变9、查找指定下标的字符10、字符串分割为数组11、文本替换,第一个参数为要被替换的文本,第二个为要替换原创 2022-06-21 10:38:15 · 67 阅读 · 0 评论 -
JavaScript原型对象与原型链
原型对象、构造函数、实例对象原创 2022-06-20 11:06:33 · 89 阅读 · 0 评论 -
JavaScript集合Set
Set是ES6新增的数据结构,成员值唯一(1)创建Set(2)获取元素数量(3)添加元素(4)删除元素(5)检测是否存在某元素(6)清空集合(7)Set的实例中只能添加一个NaN(8)Set的遍历 set.forEach()遍历(9)单一数组去重(10)多个数组合并去重(11)set转数组.........原创 2022-06-19 14:15:10 · 555 阅读 · 0 评论 -
instanceof原理与实现
(1)instanceof是做什么的a instanceof b 判断实例a是否属于b类型(2)如何判断是否属于b类型每一个对象都有一个__proto__属性指向原型对象的prototype属性,原型对象的__proto__属性也会指向它的原型对象的prototype属性因此,如果实例a是b类型,那么a的原型链上必然有b的prototype属性...原创 2022-06-19 10:46:03 · 712 阅读 · 0 评论 -
JavaScript基本数据类型与引用数据类型
基本数据类型:String、Number、Boolean、undefined、null、Symbol(ES6)引用数据类型:Object、Array、Function、Date基本数据类型存储在栈中,栈用于存储基本数据类型和执行代码引用数据类型存储在堆中有undefined是一个变量最原始的状态值,非人为操作null是人为地置空undefined == null判断是否为null:if(i === null)typeof是一个运算符(1)使用Number函数字符串:含有非数字为NaN,纯数字返回数字,""原创 2022-06-19 10:04:29 · 1150 阅读 · 0 评论 -
JavaScript知识点
1、白屏时间first paint和可交互时间dom ready的关系是?先触发first paint ,后触发dom ready2、在setTimeout()定时器中,this指向Window对象;通过new Star()来调用Star函数,由于使用new绑定,Star函数内部的this指向new创建的实例,而非Window对象;箭头函数不会与this进行绑定,其this指向取决于该箭头函数同级作用域的this指向,又由于对象不能形成自己的作用域,因此其作用域为全局作用域,this指向Window对原创 2022-06-16 12:15:35 · 450 阅读 · 0 评论 -
JavaScript数组
一、数组的删除与添加指定位置删除arr.splice(index,num);//在索引为index的位置开始删除num个元素二、数组删除arr.sort()(1)没有参数:默认按照ascii码排序 (2)按数值大小 小->大 排序(3)按照数值大小 大->小 排序 三、数组连接 arr.concat(),原数组不改变,返回一个新数组......原创 2022-06-16 12:15:06 · 53 阅读 · 0 评论 -
JavaScript冒泡排序
冒泡排序:<script> var array=[6,5,4,3,2,1]; var temp; for(var i=0;i<array.length-1;i++){ for(var j=0;j<array.length-i-1;j++){ if(array[j]>array[j+1]){ temp=array[j]; ...原创 2021-03-19 21:19:06 · 94 阅读 · 0 评论 -
JavaScript思维导图
待续原创 2021-03-13 22:36:48 · 101 阅读 · 0 评论 -
JavaScript布尔类型
其他类型转Boolean console.log(Boolean("str")); console.log(Boolean(123)); console.log(Boolean(null)); console.log(Boolean(undefined)); console.log(Boolean(1)); console.log(Boolean(0));//false console.log...原创 2021-03-12 22:10:17 · 152 阅读 · 0 评论 -
JavaScript字符串
字符串长度 console.log(str3.length);常用转义字符 \t \n \" \' console.log("很好\t规格"); console.log("很好\n规格");//换行 console.log("换行\"规格");//双引号 console.log("换行\'规格");//单引号字符串拼接 var num1=10; var num2=2...原创 2021-03-12 21:14:09 · 77 阅读 · 0 评论 -
JavaScript数据类型
JavaScript数据类型包括:number、string、boolean、null、undefinedtypeof:返回数据类型使用方法1.typeof 变量名2.typeof (变量)number:数字类型的(整数和小数) var num1=90; console.log(num1);//90 console.log(typeof num1);//numberstring:字符串类型(一般都是用''或"") ...原创 2021-03-11 22:31:49 · 81 阅读 · 0 评论 -
JavaScript是什么
JavaScript由网景公司研发,开发时间为10天,原名livescript,为分享Java热度更名为JavaScript,简称JS。JavaScript和java区别(等同于“雷锋”和“雷锋塔”)。JavaScript组成部分:ECMAscript:语法规范,变量,数据类型,for for-in do-while(ECMA:欧洲计算机制造商协会;) DOM:Document Object Model------文档对象模型 BOM:Browser Object Model------浏览原创 2021-03-10 22:34:00 · 122 阅读 · 0 评论 -
JavaScript类库
内置类库第三方类库与框架:jquery vue react backbone angular RequireJS内置类库数字处理(Math)<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> ...原创 2021-02-07 12:48:29 · 371 阅读 · 0 评论