JavaScript基础知识5点

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'

小进进还没开通留言功能,觉得不错的话,点「好看」、转发朋友圈都是一种支持(●'◡'●)ノ

欢迎关注本公众号:

(完)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181229G19E6E00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券