js-知识总结
相关知识总结
你管我管你疯啊
没有解决不了的技术问题,只有解决不了问题的人。
展开
-
js 数组的高级用法
将值转换为数组const newArray = (value) => (Array.isArray(value) ? value : [value]);castArray(2); // [2] castArray([2,5]); // [2,5]检查数组是否为空const isEmpty = (arr) => !Array.isArray(arr) || arr.length === 0;isEmpty([]); // trueisEmpty([3,6]); // f.原创 2021-12-24 09:59:27 · 557 阅读 · 0 评论 -
js 原型链(高阶)
实例对象的隐式原型(proto)的值为其对应构造函数的显式原型(prototype)的值原型链:(隐式原型链)访问一个对象的属性时,先在自身属性中查找,找到返回;如果没有,再沿着_proto_这条链向上查找,找到返回;如果最终没找到,返回undefinedObject的原型对象是原型链尽头 _proto_为null函数的显示原型指向的对象默认是空Objec t实例对象(但Object不满足)...原创 2021-11-23 14:50:46 · 528 阅读 · 0 评论 -
js 进程和线程(高阶)
进程和线程 概念进程:程序的一次执行,它占有一片独有的内存空间线程:是进程内的一个独立执行单元,是程序执行的一个完整流程,是CPU的最小的调度单元单线程和多线程 概念单线程:一个进程内有一个线程多线程:一个进程内有多个线程相关知识:应用程序必须运行在某个进程的某个线程上一个进程中至少有一个运行的线程:主线程,进程启动后自动创建一个进程中也可以同时运行多个线程,即程序是多线程运行的一个进程内的数据可以供其中的多个线程直接共享多个进程之间的数据是不能直接共享的线程池:保存多个..原创 2021-11-23 14:47:45 · 653 阅读 · 0 评论 -
js 闭包(高阶)
什么是闭包?内部函数可以引用外部函数的变量,就是闭包闭包产生的条件?(1)使用嵌套函数(2)内部函数可以引用外部函数的变量闭包的作用?(1)使用函数内部的变量在函数执行完后,仍然存活在内存中(延长了局部变量的生命周期)函数执行完后,函数内部声明的变量是否还存在?一般不存在 存在于闭包中的变量才会存在(2)让函数外部可以操作(读写)函数内部的数据(函数/变量)在函数外部能直接访问函数内部的变量吗?不能 但是通过闭包可以操作它闭包的生命周期?产生:在嵌套内部函数定义执行时就产生了销.原创 2021-11-22 21:53:25 · 473 阅读 · 0 评论 -
js 为什么要将变量初始值赋值为null
var b=null b=[1,2] b=null初始值赋值为null, 表示将要转为Object类型的数据之后将b赋值为null 使用垃圾回收机制回收原创 2021-11-19 21:47:44 · 1491 阅读 · 0 评论 -
js 判断数据类型
判断数据类型 方法1.typeof可以判断 undefined number String Boolen function不可以判断 Object与null Object与array2.instanceof判断对象的具体类型3.===可以判断 undefined null原创 2021-11-19 21:38:30 · 203 阅读 · 0 评论 -
js---倒计时(案例)
1.获取毫秒值的方法(1)+new Date()(2)let date = new Date() date.getTime() date.valueOf() (3)h5新增方法 Date.now()2.案例// 定时器 每秒执行一次 setInterval(() => { let countTime = this.countDown('2021-08-25 16:52:35') this.setData({ countTime原创 2021-08-24 16:17:04 · 84 阅读 · 0 评论 -
js 常用的正则验证
1.用户名正则//用户名正则,4到16位(字母,数字,下划线,减号)var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;2.密码强度正则//密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符var pPattern = /^.*(?=.{6,})(?=.*d)(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*? ]).*$/;3.Email正则var ePattern = /^([A-Za-z0-9_-原创 2021-08-24 14:58:59 · 303 阅读 · 0 评论 -
js数组常用的方法
1.判断数组的元素任一项符合 somelet obj = [ { id: 12, name: 'tom' }, { id: 2, name: 'lin' }, { id: 24, name: 'sun' },]const newObj = obj.some(item => { return item.id > 22})console.log('Obj', newObj)2.判断数组的元素全部符合条件 everylet obj = [ { id原创 2021-08-24 14:46:07 · 367 阅读 · 0 评论 -
js字符串常用方法
1、toLowerCase(): 把字符串转为小写,返回新的字符串。var str="Hello World";var str1=str.toLowerCase();console.log(str); //Hello Worldconsole.log(str1); //hello world2、toUpperCase(): 把字符串转为大写,返回新的字符串。var str="hello world";var str1=str.toUpperCase();console.log(str);原创 2021-08-24 14:31:46 · 56 阅读 · 0 评论 -
js更改对象中属性名称
const json = JSON.parse(JSON.stringify(options).replace(/name/g,“label”));1、options是需要更改属性的对象2、replace(/name/g,“label”) ,将对象里所有属性为name的都修改成label原创 2021-08-23 15:47:07 · 538 阅读 · 0 评论 -
js字符串和数组指尖的转换(管道符)
1.数组转为字符串处理 将逗号改为管道符 let arry=[1,2,10,26,30] let str=arry.join("|") (管道符)2.字符串转为数组处理 将逗号改为管道符 let str='1|2|3|4|5' let arry=str.split("|") (管道符)原创 2021-07-16 14:56:26 · 155 阅读 · 0 评论 -
事件流 事件冒泡 事件委托
1.事件流:就是从页面中接收事件的顺序。2.事件流分为三个阶段:事件捕获阶段、目标阶段、事件冒泡阶段。3.事件捕获阶段:是不太具体的节点应该更早接收到事件,而最具体的节点应该最后接收到事件。4.事件冒泡:事件开始时间由最具体的元素接收,然后逐级向上传播到较为不具体的节点。5.事件对象:触发DOM上的某个事件时,会产生一个事件对象event,这个对象包含着所有与事件有关的信息。6.性能:页面添加大量的事件处理程序数量将直接关系到页面的整体运行性能,占用内存,内存中的对象越多,性能就越差。7.事件委原创 2020-09-27 23:10:40 · 53 阅读 · 0 评论 -
JSON与XML
JSON与XML1,XML是互联网传输结构化数据的事实标准。特点:是服务器与服务器间通信。劣势:过于烦琐,冗长。2.JSON 是一种数据格式,不是一种编程语言。(1)三种类型:简单值(字符串、数值、布尔值、null)、对象、数组。(2)JSON解析器基本上就是使用JavaScript的eval()函数。(3)JSON的对象两个方法:stringify()和parse()(4)改变过滤方式,或者改变序列化的过程。...原创 2020-09-17 21:48:03 · 50 阅读 · 0 评论 -
对象遍历(取value和key)
let objData={id:1,name:‘张三’,age:20}方法1for(let key in objData){console.log(key,objData[key])}方法2Object.keys(a) // [“id”, “name”, “age”]Object.values(a) // [1, “张三”, 20]原创 2021-08-23 15:43:09 · 215 阅读 · 0 评论