![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端学习
文章平均质量分 88
繁花已落
一枚前端
展开
-
深入理解Javascript闭包
关于作用域链的了解可以看这篇博客深入理解JavaScript作用域和作用域链什么是闭包闭包允许函数访问并操作函数外部的变量。只要变量或函数存在于声明函数时的作用域内,闭包即可使函数能够访问你这些变量和函数当函数可以记住并访问所在词法作用域,即使函数是在当前词法作用域之外执行,这时就产生了闭包闭包是基于词法作用域书写代码所产生的自然结果在日常开发中,闭包可以说是无处不在,可以说有JavaScript代码的地方就有闭包。只是我们并未意识到所书写的函数为闭包。一个最基础的闭包例子:<scr原创 2021-12-21 14:38:39 · 469 阅读 · 0 评论 -
深入理解Javascript作用域和作用域链
什么是作用域作用域是代码运行时某些特定的部分中变量、函数和对象的可访问性,换句话说,作用域决定了代码块中变量和其他资源的可见性作用域共有两种工作模型词法作用域(静态作用域)动态作用域词法作用域词法作用域也被称为静态作用域,就是定义在词法阶段的作用域。换句话说,词法作用域是由你在写代码时将变量和块作用域写在哪里决定的。JS作用域采用的就是词法作用域举个例子:var a = 2function foo() { var b = 2 console.log(a + b)原创 2021-12-17 14:45:43 · 897 阅读 · 0 评论 -
Typescript 装饰器和反射
装饰器装饰器(也叫注解)对一个类/方法/属性/参数的装饰。它是对这一系列代码的增强,并且通过自身描述了被装饰的代码可能存在行为改变。装饰器是一种特殊类型的声明,它能够被附加到类声明,方法, 访问符,属性或参数上。 装饰器使用 @expression这种形式,expression求值后必须为一个函数,它会在运行时被调用,被装饰的声明信息做为参数传入。装饰器分为:类装饰器、方法装饰器、属性装饰器、参数装饰器要使用装饰器需要在tsconfig.json中配置:{ "compilerOptio原创 2021-07-21 10:52:06 · 3065 阅读 · 0 评论 -
微信小程序自定义搜索导航栏
因为项目需要,要实现如京东类似的搜索 下图所示搜索框在导航栏中按照正常的导航栏拆解来计算自定义导航栏的高度从上图可以得到:自定义导航栏 = 菜单按钮高度 + 状态栏高度 + 边距 * 2然后翻看微信小程序API,找到相关的API- getMenuButtonBoundingClientRect从 getMenuButtonBoundingClientRect 中可以得到菜单按钮的...原创 2020-05-11 16:34:22 · 6025 阅读 · 5 评论 -
关于JavaScript继承的几种方法
前言继承是JavaScript面向对象编程非常重要的一个特性,基本在日常使用以及面试过程中都会使用到。查阅一些资料后整理以下几种继承的方法记录在自己的博客中。如何实现继承原型链继承原型链继承是最简单的一种继承方式,只需要将子类的prototype值等于父类的实例即可 function Animal(){ this.superType = 'Animal' } A...原创 2020-04-02 13:43:22 · 145 阅读 · 0 评论 -
Next+React+Antd-mobile的简单搭建使用
前言最近公司需要使用 Next 结合 React 、 Antd-Mobile 开发服务端渲染的H5,于是就看了些文档搭建一个简单地环境记录下来。Next文档一、搭建基础环境1. 使用 yarn 或者 npm 初始化一个文件夹yarn initORnpm init2. 安装要使用的包package.json 整体配置{ "name": "next-react-demo"...原创 2020-04-02 13:14:59 · 1592 阅读 · 4 评论 -
极简的两种双向绑定的实现
两种方法Proxy + ReflectObject.defineProperty()两者差异Proxy + ReflectHTML代码<input type="text" id="input" /><span id="text"></span>Javascript代码const input = document.getElementById('in...原创 2019-06-11 11:06:45 · 486 阅读 · 0 评论