先说一下应用场景:一条新闻有多个属性,一个hashId,一个tvId,先不管到底有啥区别,其实我也不知道为啥要弄这么多ID,反正就是不一样,有一个数据列表,里面的新闻只有tvId,后端java有个方法是做了转化,那么问题来了,前端也搞一个转化。 下面就开始写代码……不,是看java代码,对于一个写javascrip……
分类目录:前端
js的深拷贝和浅拷贝
深拷贝和浅拷贝最根本的区别在于是否是真正获取了一个对象的复制实体,而不是引用, 1)深拷贝在计算机中开辟了一块内存地址用于存放复制的对象, 2)而浅拷贝仅仅是指向被复制的内存地址,如果原地址中对象被改变了,那么浅复制出来的对象也会相应改变。
|
1 2 3 4 5 6 7 8 9 10 11 |
//深拷贝 var a=123; var b=a; a=456; console.log(b) //123 //浅拷贝 var obj1={name:123}; var obj2=obj1; obj1.name=456; console.log(obj2.name) //456 |
这是个极其简单的例子,深浅拷贝一……
requestIdleCallback
之所以单独拿出来说这,其实是给自己一个提醒。前两天去了“汽车某某”的公司面试,一开始问我是否知道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……