随笔分类 - javascript
摘要:继承 定义:可以使得子类别具有父类别的各种属性和方法,而不需要编写相同的代码。在令子类别继承父类别的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类别的原有属性和方法,使其获得与父类别不同的功能。同时也能添加新的属性和方法。 实现方式 一、属性拷贝 定义:将对象的所有成员复制一份给需要继承的对
阅读全文
posted @ 2020-10-15 17:05
笑人
摘要:Reflect对象 Reflect对象的出现主要有以下几点原因: 1. 将Object 对象上的属于语言内部的方法放到 Reflect 对象上,从 Reflect 上获得语言内部的方法 // let obj = { color: 'red' } // // Object.preventExtensi
阅读全文
posted @ 2020-10-15 17:01
笑人
摘要:Proxy对象 在一个系统中,总要存储一些数据,对于这些数据,可能有一些是希望我们访问的,但是总有一些是中重要的,不希望我们访问的,希望保护起来,因此ES6新增了代理,在目标对象前架设个“拦截“层,外界对该对象的访问必须通过这层拦截,我们可以对外界的访问进行过滤和改写。 注意:Proxy修改了某些操
阅读全文
posted @ 2020-10-15 16:59
笑人
摘要:正文 尾调用是函数式编程的一个重要的概念,本篇文章就来学习下尾调用相关的知识。 尾调用 在之前的文章理解Javascript的高阶函数中,有说过在一个函数中输出一个函数,则这个函数可以被成为高阶函数。本文的主角尾调用和它类似,如果一个函数返回的是另一个函数的调用结果,那么就被称为尾调用。例子: fu
阅读全文
posted @ 2020-10-15 16:57
笑人
摘要:数据属性和访问器属性 数据属性访问器属性 共同特性 [[enumerable]] [[configurable]] 特有特性 [[writable]] [[get]] [[value]] [[set]] 设置单个属性方法 Object.defineProperty(obj, prop, descri
阅读全文
posted @ 2020-10-15 16:56
笑人
摘要:许多算法需要交换2个变量。在编码面试中,可能会问您“如何在没有临时变量的情况下交换2个变量?”。我很高兴知道执行变量交换的多种方法。在本文中,您将了解大约4种交换方式(2种使用额外的内存,而2种不使用额外的内存)。 1. 解构赋值 解构赋值语法(ES2015的功能)使您可以将数组的项提取到变量中。例
阅读全文
posted @ 2020-10-15 16:55
笑人
摘要:相信大家都知道登录操作都会有一个接收验证码的过程,我之前一直对这个非常感兴趣,经常问同学手机验证码是怎么搞的,但是现在我们不用手机也照样可以实现这个功能。 01 前言 其实对于手机验证码来说,一般都要收费的,免费的一般是比较少的,而且都会有数量的限制。既然我们不能使用手机验证码来发送,那么我们就以曲
阅读全文
posted @ 2020-10-15 16:52
笑人
摘要:一、Blob 是什么 Blob(Binary Large Object)表示二进制类型的大对象。在数据库管理系统中,将二进制数据存储为一个单一个体的集合。Blob 通常是影像、声音或多媒体文件。在 JavaScript 中 Blob 类型的对象表示不可变的类似文件对象的原始数据。 为了更直观的感受
阅读全文
posted @ 2020-10-15 16:51
笑人
摘要:1浅克隆 arr.slice(0) arr.concat() let obj2 = {... obj} 2深克隆 function deepClone(obj){ //判断参数是不是一个对象 let objClone = new obj.constructor(); if(obj && typeof
阅读全文
posted @ 2020-10-15 16:50
笑人
摘要:为了提供新鲜、别致的用户体验,很多网站都会使用 JavaScript来改善设计、验证表单、检查浏览器,以及Ajax请求,cookie操作等等,实现无刷新动态效果 。但是,要将大量内容在浏览器呈现,如果处理不好,网站性能将会急剧下降。所以我们有必要了解下,如何提高JavaScript的执行效率。 一、
阅读全文
posted @ 2020-10-15 16:49
笑人
摘要:当然,我们已经有可以使用的很好的Web编辑器:你只需下载,并插入页面即可。我以前习惯于使用CodeMirror和ACE。例如,我为CodeMirror写了一个插件来支持PlantUML。然而,这些编辑器有一个问题:它们难以扩展和难以理解。 当我看到这些产品的代码时,有一些我不能轻易理解,有一些我没有
阅读全文
posted @ 2020-10-15 16:45
笑人
摘要:JavaScript使我们有能力创建动态页面。事件是可以被JavaScript侦测到的行为。网页中的每个元素都可以产生某些可以触发JavaScript函数的事件。那么,javascript的事件有哪些?本篇文章将给大家来介绍关于javascript中常用的事件。 javascript事件是什么? J
阅读全文
posted @ 2020-10-15 16:42
笑人
摘要:概述 软件项目的交付是一个复杂且漫长的过程,任何细小的失误都有可能导致交付过程失败。在软件开发过程中,除了代码逻辑的 Bug 和视觉异常这些功能层面的问题之外,移动应用另一类常见的问题是性能问题,比如滑动操作不流畅、页面出现卡顿丢帧现象等。这些问题虽然不至于让移动应用完全不可用,但也很容易引起用户反
阅读全文
摘要:JavaScript实现简单的图片瀑布流插件 this.myPlugin = this.myPlugin || {};/** * 制作图片瀑布流 */this.myPlugin.createImgWaterfall = function (option) { var defaultOption =
阅读全文
摘要:XSS已有近二十年的历史了,但它仍然是Web上最常见的漏洞之一。因此,已经发展了许多机制来减轻漏洞的影响。我经常会误以为这些机制可以作为针对XSS的保护。今天,我们将了解为什么情况并非如此。我们将在代码重用攻击领域探索一种相对较新的技术。Web的代码重用攻击于 2017年 首次描述,可用于绕过大多数
阅读全文
摘要:当谈到运动和动画时,可能没有什么比粒子更让我喜欢了,这就是为什么每次我探索新技术时,我总是以尽可能多的创建粒子来演示。 在本文中,单击按钮时,我们将使用Web Animations API创建烟花效果,从而制作更多的粒子魔术。 浏览器支持 在我撰写本文时,除了Safari和Internet Expl
阅读全文
摘要:最近开发前端一直用的前端模板引擎;一直使用的 TPPL 模板引擎 源代码如下: function tppl(tpl, _data) { tpl = tpl.replace(/(<)/g, "<").replace(/(&)/g, "&").replace(/(>)/g, ">")
阅读全文
摘要:在我们学习ESLint之前,我们先来了解一下什么是ESLint ? 什么是ESLint? 官网上告诉我们,ESLint 是一个用来识别 ECMAScript/JavaScript 并且按照规则给出报告的代码检测工具,哦,所以我们可以知道,ESLint 就是一个工具,而且是一个用来检查代码的工具。 代
阅读全文
摘要:当前端应用越来越复杂时,我们想要将代码分割成不同的模块,便于复用、按需加载等。require 和 import 分别是不同模块化规范下引入模块的语句,下文将介绍这两种方式的不同之处。 1. 出现的时间、地点不同 年份出处 require/exports 2009 Commonjs import/ex
阅读全文
摘要:一、typeof 简介 在 TypeScript 中, typeof 操作符可以用来获取一个变量或对象的类型。 interface Person { name: string; age: number; } const sem: Person = { name: "semlinker", age:
阅读全文

浙公网安备 33010602011771号