摘要: 引言 之前我写过一篇关于JavaScript中的对象的一篇文章,里面也提到了作用域链的概念,相信大家对这个概念还是没有很深的理解,并且这个概念也是面试中经常问到的,因为这个概念实在太重要了,在我们平时写代码时,也可能会因为作用域链的问题,而出现莫名其妙的bug,导致我们花费大量的时间都查找不出原因。 阅读全文
posted @ 2020-09-20 14:32 笑人 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 目的 为了了解路由的底层工作原理,自己参考资料,仿写了vue-router的部分功能。当然自己写的DEMO功能较粗糙,主要实现核心功能,其它功能有待完善、补充。 思路 参考vue-router,我们实现路由插件的api、组件尽量保持跟vue-router一样; 首先添加一个SRouter类,来模拟v 阅读全文
posted @ 2020-09-20 14:31 笑人 阅读(157) 评论(0) 推荐(0) 编辑
摘要: onload和window.onload的使用时的区别? 1.onload在标签元素中使用。 2.window.onload在script中直接使用。 3.当出现多个onload,总是最后的覆盖前面出现的,也就是只使用最后一次出现的onload的内容 注意: 在body里面使用window.onlo 阅读全文
posted @ 2020-09-20 14:29 笑人 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 变量的解构赋值 1.解构可以用于数组,还可以用于对象。 对象的解构赋值,可以很方便地将现有对象的方法,赋值到某个变量。 // 例一 let { log, sin, cos } = Math; // 例二 const { log } = console; log('hello') // hello 2 阅读全文
posted @ 2020-09-20 14:27 笑人 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 一,JavaScript是什么? 1,JavaScript简称: js,是一种浏览器解释型语言,嵌套在html文件中交给浏览器解释执行。主要用来实现网页的动态效果,用户交互及前后端的数据传输等。 2,JavaScript 组成 1,核心语法 - ECMAScript (ES5-ES6) 规范了Jav 阅读全文
posted @ 2020-09-20 14:26 笑人 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 第1题 请说出下列代码最终的执行结果,并解释为什么? var a = []; for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); } } a[6](); 最终执行结果为:打印 10。 原因:for 循环时是使用 va 阅读全文
posted @ 2020-09-20 14:22 笑人 阅读(1011) 评论(0) 推荐(0) 编辑
摘要: 在做移动端网站时,有时因技术问题或其他原因无法制作响应式版面,而移动端页面只能放到子目录下,但是手机端通过搜索引擎进入网站电脑端子页面,无法匹配到移动端页面,使得用户体验很不好,即影响排名也影响转化。这里有一个js代码可以实现用户使用手机访问电脑端,自动跳转到对应手机页面。 举例:一个pc页面htt 阅读全文
posted @ 2020-09-20 14:20 笑人 阅读(473) 评论(0) 推荐(0) 编辑
摘要: 最近在做项目的时候扫描除了很多js版本过低的问题,主要集中在1.x 2.x 还有1.12jQuery&<2.2 jQuery,过滤用户输入数据的正则存在缺陷,可能造成跨站漏洞,具体修复介绍可以查看官方。 修复建议: 1、升级版本: 其实这是最好与最简单的修复方式,但是最新版的jquery不兼容旧版本 阅读全文
posted @ 2020-09-20 14:19 笑人 阅读(2451) 评论(0) 推荐(0) 编辑
摘要: 网上有不少关于 js 编写优化建议,这里我根据自己的经验提出一些比较有用的意见。 1. 按强类型风格写代码 js 是弱类型的,但是写代码的时候不能太随意,写得太随意也体现了编码风格不好。下面分点说明: (1)定义变量的时候要指明类型,告诉 JS 解释器这个变量是什么数据类型的,而不要让解释器去猜,例 阅读全文
posted @ 2020-09-20 14:16 笑人 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 相信很多读者对 ES6 引入的 Map 已经不陌生了,其中的一部分读者可能也听说过 WeakMap。既生 Map 何生 WeakMap?带着这个问题,本文将围绕以下几个方面的内容为你详细介绍 WeakMap 的相关知识。 创建了一个 “重学TypeScript” 的微信群,想加群的小伙伴,加我微信  阅读全文
posted @ 2020-09-20 14:14 笑人 阅读(921) 评论(0) 推荐(0) 编辑
摘要: 在我最近的编码中,我发现了一个更简单的方法。在这个过程中,它消除了匿名函数并删除了linting错误,“不要在循环中写函数”。 你看,我一直在使用JavaScript中的bind()试验。事实证明,我们可以在多个场合,包括处理我几周前提到的闭包问题中,使用bind。 什么是bind()? bind函 阅读全文
posted @ 2020-09-20 14:13 笑人 阅读(274) 评论(0) 推荐(0) 编辑
摘要: try-catch属于同步代码块,因此无法捕获异步(重新开辟的线程,例如定时器,异步请求)代码中的异常,即能被try-catch捕获的异常,必须是在报错时候,线程的执行进入了try-catch代码块时,才能被捕获异常。 品牌vi设计公司http://www.maiqicn.com 办公资源网站大全h 阅读全文
posted @ 2020-09-20 14:12 笑人 阅读(581) 评论(0) 推荐(0) 编辑
摘要: 前言 说起图片压缩,大家想到的或者平时用到的很多工具都可以实现,例如,客户端类的有图片压缩工具 PPDuck3, js 实现类的有插件 compression.js ,亦或是在线处理类的 OSS 上传,文件上传后,在访问文件时中也有图片的压缩配置选项,不过,能不能自己撸一套 JS 实现的图片压缩代码 阅读全文
posted @ 2020-09-20 14:11 笑人 阅读(976) 评论(0) 推荐(0) 编辑
摘要: Async/await 是建立在 Promises上的,不能被使用在普通回调以及节点回调。 Async/await 和 Promises 很像,不阻塞。 Async/await 代码看起来像同步代码。 语法 假设函数getjsON返回值是 Promise,并且 Promise resolves 有一 阅读全文
posted @ 2020-09-20 14:10 笑人 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 字符串的操作是任何一门计算机语言都必须面对的问题,那么js中我们该如何对字符串进行相关操作列,下文将一一道来: 常见的字符串追加有以下三种需求: 1.在字符串最后面添加字符串 实现思路:采用加号或concat函数直接在字符串后面加上字符 2.在字符串开头添加字符串 实现思路:采用加号在字符串开头位置 阅读全文
posted @ 2020-09-20 14:07 笑人 阅读(4197) 评论(0) 推荐(0) 编辑
摘要: 写在前面 本文讲解JavaScript各种继承方式和优缺点。 但是注意:这篇文章更像是笔记,哎,再让我感叹一句:《JavaScript高级程序设计》写得真是太好了! 1、原型链继承 function Parent () { this.name = 'kevin'; } Parent.prototyp 阅读全文
posted @ 2020-09-20 14:06 笑人 阅读(164) 评论(0) 推荐(0) 编辑
摘要: JavaScript是一种灵活的语言,你可以重新定义任何东西,但是当项目变得复杂时,我们会发现可变数据结构的问题。随着JavaScript的最新版本的发布这种情况发生了改变。现在可以创建不可变的对象了。本文介绍如何用三种不同的方法来做。 对象的不变性意味着我们不希望对象在创建后即以任何方式更改(将它 阅读全文
posted @ 2020-09-20 14:05 笑人 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 先总结:高即时性服务,比如聊天室的群聊,server顺序收到了张三,李四的消息,立即就推送给王五,不能让王五等半天。Ajax也可以一秒一刷,让王五去问张三说话没,如果张三10分钟没说话,王五要去问600次。 用websocket 王五不用刷,等着就好了,服务器有了消息会自动给王五的。 1.webso 阅读全文
posted @ 2020-09-20 14:03 笑人 阅读(953) 评论(0) 推荐(0) 编辑
摘要: 一、类型收窄 TypeScript 类型收窄就是从宽类型转换成窄类型的过程。类型收窄常用于处理联合类型变量的场景,一个常见的例子是非空检查: // Type is htmlElement | null const el = document.getElementById("foo"); if (el 阅读全文
posted @ 2020-09-20 14:01 笑人 阅读(1066) 评论(0) 推荐(0) 编辑
摘要: 需求背景 两个页面 A、B,B 页面关闭时,通知 A 页面请求接口刷新列表页 品牌vi设计公司http://www.maiqicn.com 办公资源网站大全https://www.wode007.com 实现 使用 storage 事件实现页面通信,约定好通信的 key,这里我们假定 key 为 r 阅读全文
posted @ 2020-09-20 13:59 笑人 阅读(622) 评论(0) 推荐(0) 编辑