1、为什么 CSS 要放在头部,JS 要放在尾部?因为现代浏览器为了更好的用户体验,它的渲染引擎是边解析 HTML,边渲染页面— —即会渲染不完整的 dom 树和 cssom,尽快减少白屏时间。
如果将 标签放在头部,会阻塞解析 dom,这样第一次渲染就会延后,所以将 js 放在尾部;而 CSS 放在头部,是因为 js 文件会查询 CSS 的样式,所以要先加载 CSS 文件,再加载 js 。
2、跨域问题产生的原因?如何解决跨域问题?(1)原因是浏览器的同源策略,即协议、域名和端口必须完全相同才能发起请求。(2)用 express 解决(本质是 cores)
3、为什么主流用 cores 而不是 jsonp ?(1)jsonp 只能用于获取资源( get 请求),而 cores 支持所有类型的 HTTP 请求。(2)jsonp 的错误机制没有 cores (onerror)完善。(3)jsonp 只发送一次请求,cores 面对复杂请求,为安全起见会请求两次。(4)jsonp 对浏览器支持性好,cores 不支持 IE10 以下的版本。
4、有一个类如下:
(1) 等于什么?
(2) 等于什么?
实例的 _proto_ 属性(原型)等于其构造函数的 prototype 属性。
5、原型链,如题:
思路:(1)foo.a,因为 foo 本身没有属性,所以去 foo 的原型上找,foo._proto_ = Object.prototype ,而 Object.prototype.a = 'value a' ,所以 foo.a = 'value a' (2)而 Object.prototype.b 未定义,所以 foo.b 为 undefined(3)F.a,同理,F._proto_ = Function.prototype ,Function.prototype 上没有,所以去 Function.prototype 的原型上找,Function.prototype._proto_ = Object.prototype,而 Object.prototype.a = 'value a' ,所以 F.a = 'value a' (4)同理,所以 F.b = 'value b'
小进进还没开通留言功能,觉得不错的话,点「好看」、转发朋友圈都是一种支持(●'◡'●)ノ。
欢迎关注本公众号:
(完)
领取专属 10元无门槛券
私享最新 技术干货