![](https://img-blog.csdnimg.cn/20191128204424181.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
前端文章
小钢炮vv
这个作者很懒,什么都没留下…
展开
-
现代JavaScript教程
现代JavaScript教程转载 2020-07-01 09:21:45 · 1376 阅读 · 0 评论 -
JavaScript Tips
const protocols = (...pos) => pos.reduce((c,p)=>p(c),Object);const Foldable = kclass => class extends kclass{ fold(){ throw 'Not Implemented'; }}const Mappable = kclass => class extends kclass{ map(){ throw 'Not Implemented'; }}原创 2020-05-24 19:31:52 · 186 阅读 · 0 评论 -
分页查询缓存(代理模式)
缓存代理对于多次重复的操作,可以使用缓存代理的形式进行缓存(代理模式的知识,可以看我另外一篇文章设计模式-代理模式),在分页查询中,对于相同的分页,我们不希望进行重复的请求,毕竟ajax是非常消耗性能的,这个时候就可以使用缓存代理对象,当存在缓存时直接使用缓存进行获取,当不存在时才将请求交还给ajax对象。在分页查询中的优化在ajax中应用缓存代理,由于ajax异步的原因,所以会使用到回调或...原创 2020-03-21 16:18:19 · 755 阅读 · 0 评论 -
JavaScript对象获取属性的几种方法
前言JavaScript中获取对象属性方法比较多,但是每种方法适用的场景都是不同的,为了能说明情况,现假设如下let c = Symbol.for('这是实例上的属性');let e = Symbol.for('这是原型上的属性');let obj = {a:1,b:2,[c]:5};Reflect.setPrototypeOf(obj,{ fn:2, [e]:8})Obje...原创 2020-02-16 11:19:50 · 1647 阅读 · 0 评论 -
JavaScript事件对象和目标对象的各种宽高总结
在平常开发中经常碰见需要获取事件和事件对象中各种宽高度的问题,每次都浪费大量时间查阅还没有深刻理解,故总结一下事件eventscreenX/screenY点击位置据(电脑)屏幕左侧/上方的距离,需要注意的是并不是距浏览器窗口的位置clientX/clientY点击位置距窗口左侧/上方的距离,不包含工具栏offsetX/offsetY点击位置距元素边界的X/Y坐标pageX/p...原创 2020-01-06 20:35:36 · 296 阅读 · 0 评论 -
调整视频缩放
// 调整屏幕缩放 adjustScreenZoom(){ let iFullscreen = this.currentFullScreenStatus; //当前是否全屏状态 let fullscreenEnabled = document.fullscreenEnabled || d...原创 2019-12-31 14:40:46 · 425 阅读 · 0 评论 -
ES6(笔记)
ES6解构赋值解构赋值中只有非匹配模式的赋值语句(声明语句不可以)可以使用圆括号[(b)] = [3]; // 正确({ p: (d) } = {}); // 正确[(parseInt.prop)] = [3]; // 正确字符串新增方法unicode表示新增{}支持String.fromCodePoint()从unicode返回对应字符String.raw返回斜杠也被...原创 2019-12-15 18:38:50 · 157 阅读 · 0 评论 -
JavaScript高级程序设计学习总结(笔记)
第一章 JavaScript简介JavaScript实现组成:ECMAScript(核心)DOM(文档对象模型)BOM(浏览器对象模型)第二章 在HTML中使用script可以添加defer关键字延迟执行,在文档被加载并完全解析后,类似与DOMContentLoaded事件但是在DOMContentLoaded事件之前,多个defer脚本是按顺序调用的.可以添加async关键字...原创 2019-11-23 21:09:38 · 1025 阅读 · 0 评论 -
万条数据渲染的优化方案
1.现假设有如下需求,渲染10W条数据到页面中,显示内容为1-100000,那还不简单,直接开始写.let count = 100000;const ul = document.getElementById("ul")function insert() { for (let i = 0; i < count; i++) { let oli = ...原创 2019-11-17 16:31:52 · 1406 阅读 · 1 评论 -
ES6实现Generator自执行(thunk函数)
传名调用和传值调用函数调用有两种策略,一种是传值调用,一种是传名调用var x=1;fun(x+5);如果是传值调用的,则调用形式为fun(6),但是如果没有调用势必会造成性能的浪费,另外一种调用方式是传名调用,传名调用的一种实现方式是thunk,将多参数表达式转化为函数的形式调用var x = 1;function add(thunk) { return thunk() +...原创 2019-11-05 10:20:16 · 402 阅读 · 0 评论 -
WebSocket 实现前后端通信
WebSocketWebSocket 是HTML5 提出的一种新协议,支持客户端与服务端之间的全双工通信,且不受同源策略的影响,以标识符ws进行标记.客户端Websocket 使用new 进行构造,传入需要进行的通信地址,协议名为ws,例如:ws://locahost:3001/msg let ws=new WebSocket('ws://localhost:3001/msg'); ...原创 2019-09-27 19:41:46 · 898 阅读 · 0 评论 -
前端面试、笔试题总结
文章目录HTML部分JavaScript部分 CSS部分React部分其他HTML部分JavaScript部分 new 的原理创建一个新对象将构造函数的作用域赋给新对象 newObj.prototype=obj.proto将属性,方法赋给新对象返回新对象自加 var a=5 var b=6 => a+++b=11 , a=6’132’-13 ...原创 2019-10-22 13:32:21 · 4846 阅读 · 1 评论 -
JavaScript Map对象
ES6 提出Map对象,Map 对象类似与 object 保存键值对 ,键值可以为任意值创建Map 对象通过构造函数的方式创建var map=new Map()通过 set/get 方法添加、获取键值对var map=new Map()map.set('a',1)map.set('b',2)console.log(map.get('a'))//1也可以通过类似键值对的格式创建...原创 2019-08-14 19:13:36 · 183 阅读 · 0 评论 -
Fetch()方法介绍
相较于XMLHttpRequest,一种更加简单的Ajax请求方法原创 2019-04-28 20:18:18 · 47184 阅读 · 7 评论 -
JS中判断null、undefined与NaN的方法
判断undefined、null、NaN的方法原创 2019-04-28 20:31:54 · 1469 阅读 · 0 评论 -
jquery input 标签change事件只能触发一次的解决办法
jquery change事件只能触发一次的解决办法原创 2019-04-28 21:01:47 · 3400 阅读 · 0 评论 -
JS中的异步编程(Promise和async/await)
JavaScript中的异步操作方法详情原创 2019-04-28 21:50:52 · 1580 阅读 · 0 评论 -
正则表达式
正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式。 搜索模式可用于文本搜索和文本替换。javascript可以通过new RegExp() 构造正则表达式,也可以直接写基本操作:var str='<H1>...原创 2019-05-05 22:56:20 · 500 阅读 · 0 评论 -
JavaScript 严格模式
JavaScript被设计为能使新人开发者更易于上手, 所以有时候会给本来错误操作赋予新的不报错误的语义(non-error semantics). 有时候这可以解决当前的问题, 但有时候却会给以后留下更大的问题. 严格模式则把这些失误当成错误, 以便可以发现并立即将其改正.开启严格模式在需要开启严格模式的函数或者文本中传入特定语句'use strict'(或者"use strict")即可开...原创 2019-07-23 19:32:35 · 121 阅读 · 0 评论 -
ES6中Class类使用方法
构造函数JavaScript 作为一个面向对象语言类和对象的定义和实现在其中体现了及其重要的作用,在ES6之前一般的定义构造函数的方法如下:function Rect(width,height){ this.width=width this.height=height this.getArea=function(){ ...原创 2019-07-26 17:25:18 · 1530 阅读 · 0 评论 -
JavaScript 中的正则表达式使用方法
正则表达式匹配规则正则表达式的匹配规则可以看另外一篇文章:https://blog.csdn.net/qq_36754767/article/details/89857183RegExpJavaScript 可以通过构造函数RegExp构造正则表达式(Regular Express)var pattern1=new RegExp('ain')使用元字符匹配时需要添加转义符 \ 也可以...原创 2019-08-06 21:16:17 · 110 阅读 · 0 评论 -
JavaScript引用类型与基本类型的区别
基本类型和引用类型基本类型也可以被称作原始类型引用类型处理的是对象,引用可以看做指针,指向引用的内存堆栈区基本类型基本数据类型有5种:NumberStringnullBooleanundefined调用typeof()可以查看相应的类型typeof() 当类型为引用类型或者null 时会返回object ,这其实是设计语言之初的错误,但是被沿用下来了var str=...原创 2019-08-13 18:24:06 · 97 阅读 · 0 评论 -
ES6字符串方法
ES6 新提出一些字符串方法方便使用查找子字符串string.includes() 查找字符串是否包含某子字符串string.startsWith() 查找字符串开始处是否包含某子字符串string.endsWith() 查找字符串结束处是否包含某子字符串上述方法均返回Boolean值,第一个参数为所需查找的子字符串,第二个参数为查找的起始位置var string='apple,j...原创 2019-08-14 18:38:18 · 287 阅读 · 0 评论 -
JavaScript继承的方法
原型继承在关于继承问题人们常常使用的是进行类型的扩展,但是,在某些时候会存在继承类型,没有达到原型继承的目的。 首先我们先了解一下javascript中的call方法语法fun.call(thisArg, arg1, arg2, …)thisArg:fun运行时指定的this值arg1,arg2:参数列表描述可以用call()中的对象调用当前的function就可以达到ca...原创 2019-04-28 18:07:48 · 182 阅读 · 0 评论