掘友等级
获得徽章 4
提个问题,NODE_ENV=production npm install会安装devDependencies吗?
预检请求:指跨域请求中除了简单请求(get,post,head等)之外的请求叫预检请求(具体限制条件更多些)。至于为啥叫预检请求,是因为在正式发请求之前会发一个options请求来判断服务器是否支持该次跨域请求。为啥要多发一次options请求呢?这是因为浏览器虽然有跨域限制,但有的浏览器的限制是体现在结果返回时才拦截的,但这时候采用的请求已经多服务器产生副作用了(比如delete方法)
实例化一个对象时如何实现正常调用和new都是实例化的效果?如Person()和new Person()效果相同。只需要对象内部判断下。如下:
exports和module.exports的区别。其实两者指向相同,但是require的时候是用的module.exports,举个例子说明下,如下图:
在试了几个平台后,发现还是掘金使用起来比较舒服的,今后就准备在掘金多灌灌水了哈哈
之前分别设置overflow-x和overflow-y时,经常出现不符合预期的效果出现。比如对同一个元素设置overflow-x:hidden; overflow-y:visible;预期效果是x轴方向超出隐藏,y轴方向超出仍然显示,但实际的效果是x、y轴都是超出隐藏的效果,即overflow: hidden。后来才明白当我们将overflow设置为非visible时,会形成BFC,但是如果一个方向是visible,一个不是visible,浏览器也会很纳闷,到底要不要形成BFC,所以解决方案就是将visible重置为非visible的值。所以两个方向如果其中一个是非visible,另一个设置为visible是无意义的。
http缓存分为强缓存和协商缓存,当用到强缓存的时候如果需要更新怎么办呢?这时用户因为本地有缓存了所以不会再向服务器发起请求了,但是恰巧本地缓存的内容里是有bug的,这就有点麻烦了。所以使用强缓存之前就要设计好这种更新策略,目前比较流行的是在强缓存文件的文件名或者路径上添加版本号或者哈希,从而更改引用 URL,进而实现让强制缓存失效的目的。(上次面试问到这个问题没答好,特地记录下)
setTimeout(fn,delay)中delay的作用是啥?是delay ms后才将fn加到时间队列里,但不能保证delay ms后才能执行(往往不能);谁来计时delay ms的?js引擎吗?当然不是js引擎本来就是单线程的,不可能单独拿出来计时,是一个专门的线程做这件事...发现线程和进程、Event Loop这些东西仔细读了很有意思,考虑写篇文章记录下
JavaScript中的this这一句话就能概括--"When a function of an object was called, the object will be passed into the execution context as this value"。但是很难从这句话就能理解this,之前看了很多东西,才感觉理解的差不多了,写了
juejin.im,现在倒是感觉这句话概括的很精炼。
下一页