之所以单独拿出来说这,其实是给自己一个提醒。前两天去了“汽车某某”的公司面试,一开始问我是否知道RAF这个简称,是做性能优化的时候用到的,我说是requestAnimationFrame吗,巴拉巴拉说了一些,然后问我RIF,我猜测跟RAF同类型吧,但是我没用过。回来后我查了一下,其实是这个,so it is“RIC” window.req……
分类目录:前端
js获取屏幕宽度
先来看一下js常见的方法 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的……
神烦的__proto__、prototype、constructor
三个东西真的很常见,但是看到就烦,为了让自己心情好点,索性好好琢磨一下。 __proto__ 是为了找对象的原型,继续找原型的原型,最终为null,是真正的原型链。里面会有js默认的对象属性和方法,普通函数和构造函数都可以直接用。可以把它理解为一种结构形式的链式关系。看下图 prototype 是构造函数继承链,也就是说只有在构造函数中才……
几个常用的CSS对比
1、隐藏元素 常见的方法:dispaly、opacity、visibility,区别如下: opacity=0,该元素隐藏起来了,但不会改变页面布局,并且,如果该元素已经绑定一些事件,如click事件,那么点击该区域,也能触发点击事件的,子元素受影响。 visibility=hidden,该元素隐藏起来了,但不会改变页面布局,但是不会触发……
前端架构师是干嘛的
曾经有面试官问我,我是怎么理解前端架构或者前端架构师是干什么的。当时只说了一个技术选型和优化,但后来细想了一番,这个问题其实很好回答的,我的意思不是说可以从网上资料上获取,而是自己的经验上就有一定的反馈,虽然做得架构不大,但是也从头到尾去做了一遍。 下面我们就来细说一下架构这个东西。 1、方案设计和技术选型:这个是一个常见职责了,需要结合……
web存储
Cookie: 生命期为只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。 存放数据大小为4K左右 。有个数限制(各浏览器不同),一般不能超过20个。与服务器端通信:每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题。 Session: 是存在服务器的一种用来存放用户数据的类HashTable结构。……
Js中的连等赋值
1 2 |
var a=1,b=1; var a=b=1; |
以上两种定义方式有什么不同
1 2 3 4 5 6 |
function test1() { var a=b=1111; } test1(); console.log(a); //a is not defined console.log(b); //1111 |
b成为了全局变量。下面再看一个:
1 2 3 4 5 6 7 |
var a=1,b=2,c=3; (function(){ var a=b=1; })(); console.log(a); //1 console.log(b); //1 |
同样这个例子其实考察到闭包的问题,b=1进行了全局更改,所以最后输出了1 上面都……
浏览器Request Header和Response Header
请求(客户端->服务端[request]) Accept:*/* (客户端能接收的资源类型) Accept-Encoding:gzip, deflate, br (客户端能接收的压缩数据的类型) Accept-Language:zh-CN,zh;q=0.9,zh-TW;q=0.8,en;q=0.7 (客户端接收的语言类型) Cache-C……
js闭包
js的闭包,简单来说就是提供了一个在外部访问另一个函数内部局部变量的方式。 先写一个常见的例子:
1 2 3 4 5 6 7 8 9 10 |
var add = (function () { var counter = 0; return function () {return counter += 1;} })(); add(); add(); add(); // 计数器为 3 |
注意: 为什么上面这段代码没有直接写的 function add (){…} 而是把function赋值给了变量add呢? 我们通常会想当然的认为每次调用 add(……
常见js兼容问题
1、获取屏幕滚动高度 document.body.scrollTop:firefox可识别 document.documentElement.scrollTop:chrome可识别 浏览器不识别,得到的是0。但是两者在同一浏览器中只有一个生效,所以平时用的时候,可以
1 |
var wid = document.documentElement.scrollTop || document.body.scrollTop |
2、获……