随笔分类 - js
摘要:svg矢量图 svg矢量图:就是用标签代码来画图 文件的类型取决于它的编码是怎样的
阅读全文
摘要:遍历器 for最重要的,兼容性好 for in 循环 可以遍历引用类型,包括对象(多用于用来遍历数组) var arr = [22,33,44] for (var i in arr) { // 遍历,多用来遍历对象,而不是遍历数组 console.log(i,arr[i]) } var obj =
阅读全文
摘要:商品懒加载 核心代码 let i = 1 let loading = document.querySelector('.loading') var ob = new IntersectionObserver(async function (entries) { console.log(entries
阅读全文
摘要:this this代表一个对象,常常在项目中我们要给对象操作属性 this指向的是调用者 在全局作用域下普通函数指向的是window 定时器里面的this也是指向window fn() // window obj.fn() // obj obj.xx.fn() // obj.xx (function
阅读全文
摘要:##从输入 URL 到页面加载完成过程 浏览器的地址栏输入 URL 并按下回车。 浏览器查找当前 URL 是否存在缓存,并比较缓存是否过期。 DNS 解析 URL 对应的 IP。 根据 IP 建立 TCP 连接(三次握手) HTTP 发起请求。 服务器处理请求,浏览器接收 HTTP 响应。 渲染页面
阅读全文
摘要:数据存储 缓存技术:把数据存储到磁盘中 大文件的离线存储:音频和视频 本地数据库 三个缓存技术(Cookie sessionStorage localStorage) cookie <input id> <script> //设置cookie function fn() { var } //封装函数
阅读全文
摘要:style的讲解 写在style里面的样式,会绘制成css样式结构体,不能用jd.styel.width来获取 var style1 = document.getComputedStyle(jd) // style1.width就可以获取
阅读全文
摘要:防抖节流(重点) 浏览器的极限绘制频率60侦,计时器的话大概为16.666 高频触发的业务:抽奖 登录 动画 网络加载等等需要 // 登录 防抖 function fangdou(cb,delay) { var timer = null reture function() { let arg = a
阅读全文
摘要:小例子 1. // cls 清屏 // 引入node自带的模块http 可以调用函数 来创建后端服务器 var http = require("http") // 创建一个服务器对象 回调函数不会直接运行 会在用户每次访问当前计算机的Ip下的8081端口 var app = http.createS
阅读全文
摘要:canvas ctx.stroke() :绘制 ctx.moveTo():移动到某个位置 ctx.lineTo():从ctx.moveTo或是上一个ctx.lineTo画直线 ctx.beginPath():绘制另外的轨迹 ctx.closePath():闭合轨迹,形成闭合 ctx.rect(x-p
阅读全文
摘要:DOM事件 浏览器对象模型(Browser ),它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window BOM由一系列相关的对象构成,并且每个对象都提供了相应的属性和方法 BOM缺乏标准,javascript标准是ecma,dom的标准组织是w3c window对象是浏览器的顶级对
阅读全文
摘要:正则表达式 属于字符串的相关操作 // 转义字符 \. 字符串中的点 \t 制表符,键盘中的tab建 \n 换行 \r 回车 正则表达式在js中是一种对象 创建正则表达式对象 let reg = new RegExp('a') // 或者 let reg = /a/ test() //reg是一种正
阅读全文
摘要:事件 e.target:目标元素 e.srcElement:目标元素 document.documentElement:html元素 document.body:body元素 document:根节点 jd.dataset:获取标签自定义的属性 offset系列 offset翻译过来是偏移量,我们使
阅读全文
摘要:元素节点常见操作 jd.className jd.className = jd.className + '类名' jd.classLIst.add('className'):添加元素节点类名,并保留原有的类名 jd.classList.remove('className'):删除元素的类名 jd.i
阅读全文
摘要:es6 js开源后,然后让ECMA定制标准,2015.6之后的版本称为ES6 关键字 let console.log(n) let n = 40 // 没有隐式提前 es5没有代码块作用域,es6存在 if(1){ let a = 10 // let声明的作用域在for代码块中里面 } consol
阅读全文
摘要:内置函数 字符串 indexOf():返回参数在字符串中的位置,如果都没有则返回-1 split(分隔符):将字符串转换成数组 var str = 'adhg' // 返回一个数组 var re_str = str.split('h') // [ab,g] 注意 如果不带分隔符或分割符不存在,则返回
阅读全文
摘要:深拷贝 深拷贝:拷贝后一样且不是同一个引用 利用JSON格式 限制条件:要拷贝的数据内部没有引用数据,时间,正则,undefined,原型链等特殊情况时 var re = {x1: null,x2: new Date(),x3: {name:'kale'}} var re_1 = JSON.pars
阅读全文
摘要:JSON文件 简介 本质来说JSON格式数据就是字符串,里面的内容是js里的对象 常用与传输数据到前端 var json_ = '{"name":"kela","say": ["hello"]}' var json_1 = '[1,3,45,6]' 除此之外,字符串还分有查修字符串(querystr
阅读全文
摘要:预编译 函数预编译 检查代码是否错误,符号,词法分析 隐式操作 (形实函运) 函数调用以后,在运行代码之前,会生成一个对象(Activation) 把所有的局部变量和形参添加为AO成员,值为undefined(隐式声明提升) 将实参赋值给形参(AO对象) 将局部函数的变量作为AO对象的成员名,函数体
阅读全文
摘要:作用域 每一个作用域在运行时,js引擎会先把作用域内部的关键字隐式提前扫描,并声明;对象内部的不会隐式提升 同名标识符提升问题 先提升变量后提升函数 var a = 30; function a() { console.log(100) } console.log(a); 变量变量同名(有些语言错误
阅读全文