随笔分类 -  js

摘要:1.函数与对象的关系 函数是一种对象 // let fun=function(){} 对象都是通过函数实例化来创建的 //let obj1={}; let obj2=new Object() 注:函数与对象是通过函数的一个属性来作为关系纽带的,每个函数都有一个prototype原型属性,这个原型属性 阅读全文
posted @ 2022-06-04 21:34 诉诉飞飞 阅读(46) 评论(0) 推荐(0) 编辑
摘要:1.复制数组--(Array.from(), 剩余参数) //array.from() 将类数组对象转成数组let a=[1,4,6,3,4]; let arr1=Array.from(a); arr1.push(9) let arr2=[...a]; arr2.push(8) console.lo 阅读全文
posted @ 2021-07-30 14:44 诉诉飞飞 阅读(37) 评论(0) 推荐(0) 编辑
摘要:1.arr.find() arr.findIndex() //arr.find--找出第一个符合条件的数组成员,如果没找到,返回undefined //arr.findIndex--找出第一个符合条件的数组成员位置,如果没找到,返回-1 let a=[1,2,4,5,7,3,7]; let b=a. 阅读全文
posted @ 2021-07-30 14:32 诉诉飞飞 阅读(196) 评论(0) 推荐(0) 编辑
摘要:1.直接修改 let arr=[1,2,3,4,5,6,7]; arr[3]=8; console.log(arr) //[1, 2, 3, 8, 5, 6, 7] 2.arr.splice() let arr=[1,2,3,4,5,6]; arr.splice(2,1,8); console.lo 阅读全文
posted @ 2021-07-30 14:23 诉诉飞飞 阅读(137) 评论(0) 推荐(0) 编辑
摘要:1.arr.splice() //arr.splice参数(索引--必填,要删除的数--必填,向数组添加的新项目--选填) let arr=[1,2,3,4,5]; arr.splice(2,1); console.log(arr) //[1, 2, 4, 5] 2.delete //会把该下标出的 阅读全文
posted @ 2021-07-30 14:19 诉诉飞飞 阅读(370) 评论(0) 推荐(0) 编辑
摘要:1.arr.fill()--填充数组 //arr.fill--填充数组 参数(填充的东西,开始位置,结束位置) let aa=new Array(10); aa.fill('默认值',2,5) //[empty × 2, "默认值", "默认值", "默认值", empty × 5] 2.arr.c 阅读全文
posted @ 2021-07-30 14:10 诉诉飞飞 阅读(248) 评论(0) 推荐(0) 编辑
摘要:1.arr.forEach--替代for循环 //无return let arr=['a','b','c','d','aa','bb','cc']; arr.forEach((item,inx,array)=>{ console.log(item) }) 2.arr.map--做数据交互映射(重新整 阅读全文
posted @ 2021-07-26 20:55 诉诉飞飞 阅读(161) 评论(0) 推荐(0) 编辑
摘要:1.什么是作用域 存储和访问或者修改变量,是任何一种编程语言最基本的功能之一,变量存在哪里?程序需要时如何找到它?这些问题需要一套良好的规则来规范,这套规则,就称为作用域。 2.理解作用域 引擎:从头到尾负责整个js程序的编译和执行过程 编译器:引擎的好朋友,负责词法分析以及代码生成等脏活累活。 作 阅读全文
posted @ 2020-07-28 18:09 诉诉飞飞 阅读(103) 评论(0) 推荐(0) 编辑
摘要:1.冒泡排序(相邻2个元素依次比较换位) let arr=[2,1,3,6,4,5,8,9,2,6,12,45,89,34]; function fn(arr){ if(arr.length>0){ for(let i=0;i<arr.length-1;i++){ for(let j=0;j<arr 阅读全文
posted @ 2020-07-19 20:36 诉诉飞飞 阅读(186) 评论(0) 推荐(0) 编辑
摘要:1.工厂模式 function createPerson(name,age,job){ var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name); } return o; 阅读全文
posted @ 2020-05-22 16:09 诉诉飞飞 阅读(143) 评论(0) 推荐(0) 编辑
摘要:1.变量相关操作 let声明变量 const声明常量--声明变量,常量的扩展 let不允许重复声明,var可以。 const不允许重复声明,一旦声明不可修改,声明常量必须赋值,不能和var一样声明后再定义。 块级作用域--es6中定义的变量是块级作用域 es5中的变量是函数级作用域。 es6中凡是{ 阅读全文
posted @ 2020-04-27 19:19 诉诉飞飞 阅读(236) 评论(0) 推荐(0) 编辑
摘要:1.原因 因为浏览器的同源限制策略。 浏览器规定只有 端口,协议 ,域名都一致才属于同源,可以互相访问。 浏览器如果没有限制同源访问,一些钓鱼网站可以读取你的cookie信息,伪造身份向其他浏览器发送请求,也就是我们常说的csrf攻击。 2.解决跨域的方法 最经典的方法Jsonp 原理:通过动态插入 阅读全文
posted @ 2020-03-27 11:15 诉诉飞飞 阅读(100) 评论(0) 推荐(0) 编辑
摘要:1.什么是事件循环 主线程不断从消息队列中获取消息,执行消息,这个过程成为事件循环,这种机制叫做循环机制,取一次消息并执行的过程叫一次循环。 2.宏任务和微任务 宏任务:可以理解每次执行栈执行的任务就是一个宏任务,这其中也包含每次从任务队列中获取一个事件回调并放入执行栈中执行。浏览器在每执行完一个宏 阅读全文
posted @ 2020-03-26 17:47 诉诉飞飞 阅读(230) 评论(0) 推荐(0) 编辑
摘要:\d:匹配0-9的所有数字 \D:匹配非数字 \s:匹配所有的空白字符(空格,制表符,回车符,换页符,换行符) \S:匹配所有非空白字符 \w:匹配所有的单词字符(0-9的所有数字,26个英文字母和下划线) []:[a-z]表示a到z之间任意一个字符。[a-z0-9]表示a到z或0到9的任意一个字符 阅读全文
posted @ 2020-03-23 10:47 诉诉飞飞 阅读(211) 评论(0) 推荐(0) 编辑
摘要:1.以原型链的方式实现继承 原理:利用原型让一个引用类型继承另一个引用类型的属性和方法 缺点:在包含有引用类型的数据时,会被所有的实例对象所分享,容易造成修改的混乱,还有就是在创建子类型的时候不能向超类型传递参数。 2.借用构造函数 原理:通过在子类型的函数中调用超类型的构造函数来实现。 优点:解决 阅读全文
posted @ 2020-03-18 17:03 诉诉飞飞 阅读(193) 评论(0) 推荐(0) 编辑
摘要:1.概念 浅拷贝:是将一个对象的属性值复制到另一个对象,如果有的属性的值为引用类型的话,那么会将这个引用的地址复制给对象,因此,两个对象会有同一个引用类型的引用,浅拷贝可以使用object.assign和展开运算符(将一个数组转为用逗号分隔的参数序列--(...))来实现。 深拷贝:是将一个对象的属 阅读全文
posted @ 2020-03-18 14:36 诉诉飞飞 阅读(183) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示