- 博客(12)
- 收藏
- 关注
原创 移动端 webkit内核浏览器 字号会自动放大问题
Chromium内核提升移动端文本可读性的一个特性,叫作这个特性被称作「Text Autosizer」,又称「Font Boosting」、「Font Inflation」。其计算规则伪代码如下。有时候在做移动端页面的时候,会发现某些字体会自动放大,而页面中另外一部分倒是对的。PS: WebKit 中应该有判断如果。时,不触发Font Boosting。
2023-12-20 13:54:21
417
原创 Vue SPA应用微信开发踩坑记录
解决难点JS-SDK需要向服务端获取签名,且获取签名中需要的参数包括所在页面的网址,但由于单页应用的路由特殊,其中涉及到的iOS和Android的微信客户端浏览器内核的差异性导致的兼容问题JS-SDK签名官网所述的是所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需要调用一次,对于变化url的SPA的web app可在每次url变化时进行调用...
2018-09-03 09:48:11
979
原创 js 浏览器缓存机制
什么是浏览器缓存Web缓存是指一个Web资源(如html页面,图片,js,数据等)存在于Web服务器和客户端(浏览器)之间的副本。缓存会根据进来的请求保存输出内容的副本;当下一个请求来到的时候,如果是相同的URL,缓存会根据缓存机制决定是直接使用副本响应访问请求,还是向源服务器再次发送请求。比较常见的就是浏览器会缓存访问过网站的网页,当再次访问这个URL地址的时候,如果网页没有更新,就不会再次下载...
2018-05-20 17:46:49
31655
原创 js 浏览器重绘、重排
页面加载渲染过程1. 解析HTML代码并生产一个DOM树2. 解析CSS文件,顺序为:浏览器默认样式 => 自定义样式 => 页面内样式3. 生产渲染树。与DOM树不同的是渲染树受样式影响,不包括不可见节点4. 根据渲染树,浏览器就会在屏幕上绘制出渲染树上的所有节点什么是重绘重绘是一个节点的外观发生改变的行为,例如改变color、outline等属性。浏览器会根据节点的新属性重新绘制,...
2018-05-19 14:27:16
1857
原创 js 原型与原型链、继承、对象关联
普通对象与函数对象JavaScript中,万物皆是对象。但对象也有区别。分为普通对象和函数对象var o1 = {};function f1(){}在上述例子中,f1为函数对象,o1为普通对象。var o1 = {};console.log(o1.prototype); //undefinedconsole.log(o1.__proto__); //Object {}var f1 =...
2018-05-12 16:22:42
496
原创 js 事件循环(Event Loop)机制
先放个测试题,压压惊console.log('start');const interval = setInterval(()=>{ console.log('setInterval');},0);setTimeout(()=>{ console.log('setTimeout 1'); Promise.resolve() .then(()=>{ ...
2018-05-06 16:03:24
6125
2
原创 js this的指向
JavaScript中的函数既可以被当作普通函数执行,也可以作为对象方法执行,这是导致this含义如此丰富的主要原因。一个函数被执行时,会创建一个执行环境,函数的所有的行为均发生在此执行环境中,构建该执行环境时,首先会创建活动对象,接着创建作用域链,最后为this变量赋值。为什么要用this?function getName(){ console.log(this.name);}var o...
2018-05-05 16:48:19
185
原创 js 闭包详解
什么是闭包在讲解闭包之前,请先理解变量作用域。变量无非就两种:全局变量和局部变量。作用域定义了变量的区域。作用域中的作用域链保证对执行环境有权访问的所有变量和函数进行有序访问。作用域完全由写代码期间函数所声明的位置来定义。而闭包是基于作用域书写代码时所产生的自然结果。闭包:当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。function foo() { ...
2018-05-05 14:54:02
280
原创 js 回调函数详解
什么是回调函数?回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。。在JavaScript中,回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函...
2018-05-05 12:57:22
933
原创 js 执行环境及词法作用域
执行环境是JavaScript中最为重要的一个概念。执行环境定义了变量或函数有钱访问的其他数据,觉得了它们各自的行为。每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。PS:无法通过js代码去访问这个对象。函数执行时,具体发生了什么? 每个函数都有自己的执行环境。当函数被执行时,函数的环境会被推入执行栈中。1。创建活动对象,活动对象...
2018-05-01 19:48:46
578
原创 js 变量提升和函数提升
先有鸡还是先有蛋 JavaScript 代码在执行时是由上到下一行一行执行的。考虑以下代码:a = 2;var a;console.log( a );先谈谈我个人初学时看到这段代码的理解: 1.首先a被隐式声明为全局变量,并将2赋值给a; 2.var a;重新声明了a; 3.最后打印a;a为undefined;然而最后打印a的值为2;那么到底发生了什么...
2018-05-01 16:44:05
177
原创 js 编译原理
编译原理 JavaScript是一门“解释执行”语言。JavaScript 引擎进行编译的步骤和传统的编译语言非常相似,在某些环节可能比预想的要复杂。在传统编译语言的流程中,程序中的一段源代码在执行之前会经历三个步骤,统称为“编译”。 1。分词/词法分析 2。解析/语法分析 3。代码生成而对于 JavaScript 来说,大部分情况下编译发生在代码执...
2018-05-01 15:33:04
4735
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人