ES6 尾调用和尾递归

什么是尾调用?尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚,就是指某个函数的最后一步是调用另一个函数。function f(x){ return g(x); }上面代码中,函数f的最后一步是调用函数g,这就叫尾调用。以下三种情况,都不属于尾调用。// 情况一 function f(x){ let y = g(x); return y; } /

- 阅读全文 -

getElementById和querySelector方法的区别

js原生的DOM选择符,getElementById()、getElementsByTagName()、querySelector()、querySelectorAll()。说不定一不小心就发现彩蛋了。那么我们来说说上面那几个方法。"querySelector 属于 W3C 中的 Selectors API 规范 。而 getElementsBy 系列则属于 W3C 的 DOM 规范"------

- 阅读全文 -

页面可见性判断:document.hidden与visibilitychange事件

 我们需要在特定的时候判断页面的显示状态,例如:当视频加载到可播放状态时,根据用户是否停留在当前页面来决定是否开始自动播放。页面的展示的状态的判断就需要用到html5新增的一个api:document.hidden。  document.hidden属性:bool型,表示页面是否处于隐藏状态。页面隐藏包括页面在后台标签页或者浏览器最小化。  visibilitychange事件:当文档的可见性改变

- 阅读全文 -

JavaScript执行机制

大纲  1. 场景分析  2. 执行机制相关知识点  3. 以实例来说明JavaScript的执行机制  4. 相关概念1. 场景分析/* 以下这段代码的执行结果是什么? 如果依照:js是按照语句出现的顺序执行这个理念, 那么代码执行的结果应该是: //"定时器开始啦" //"马上执行for循环啦"

- 阅读全文 -

跨端扫码确认实现Web登录(扫二维码登录)

起初的想法是类似于QQ扫码登录,BILIBILI扫码登录一样,通过手机确认后,在web端重定向完成登录通过对BILIBILI扫码功能的解析,自己实现了一套类似扫码登录的功能以下为伪代码,仅供查阅前端需要两个路由,两个页面login提供Web端用户登录和扫码图片仅提供扫码展示,密码登录不写了login2提供给跨端用户(如手机端)扫码进入主要为二次确认,提供确认登录和取消登录确认登录后,页面跳转至lo

- 阅读全文 -

react中的ref获取dom或者组件方法

使用ref获取DOM的引用在vue中,如果想获取DOM元素时,可以使用this.$refs.引用名称在react中也可以像vue中,有类似的写法,如下1.为元素添加ref引用<h2 ref="test">这是h2标签</h2>在页面上获取元素this.refs.test2. 使用ref获取组件的引用为组件添加ref引用<Text ref="

- 阅读全文 -

推荐微信小程序常用的几个UI组件库

推荐微信小程序常用的几个UI组件库1.WeUIWeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含button、cell、dialog、 progress、 toast、article、actionsheet、icon等各式元素。GitHub 地址:https://github.com/Tencent/weui效果:

- 阅读全文 -

多种UI框架总结与尝试

近期在尝试了多种跨端UI,基于.NET的NanUI ,基于NodeJS的Electron,Flutter(Dart移动端UI),类VUE的小程序这是第一篇,后续我也会介绍我在体验过程中遇到的各种坑,试用了四种UI,最让我省心的其实是后两者简单总结一下最近遇到的坑1.NanUINanUI的架构与Webpack打包会出现混乱,实际上是通过Chromium浏览器的Window属性进行通信,但是C#在Wi

- 阅读全文 -

关于This和箭头函数

关于This,和JS的闭包这些,应该都是老生常谈了,本不应该说,因为一直在用TS&ES6+,对es5多了些淡忘,在小程序开发时,一度忘了this在哪简介请戳深入理解JavaScript原型和闭包 -- This用法this 指向的固定化,并不是因为箭头函数内部有绑定 this 的机制,实际原因是箭头函数根本没有自己的 this,导致内部的 this 就是外层代码块的 this。正是因为它没有 th

- 阅读全文 -

网站优化,提升网站速度

也会因此而感谢你,当然他们可能压根没注意到你的网站速度加快了——这是好事。在这篇文章里,我会告诉你一些提升网站速度的方法。我们开始吧。基准首先,用你的网站来做示例。你需要使用 Google 的 Pagespeed Insights 网站测试工具来测试你的网站,它会告诉你,你的网站需要优化移动端还是桌面端。Google 基于网页的渲染速度来打分。它会计算你的网站需要多久呈现到用户眼前。用户等待的时间

- 阅读全文 -