2020.11.9

138 阅读6分钟

1.所有引用类型都继承了Object(包括其内部属性和内部方法),相当于Object的原型对象是原型链的顶层。

2.instanceof 和 isPrototypeOf都可以用来判断是否为某个原型链上的实例。

3.子类型重写超类型中的某个方法或者添加新的方法时,添加方法的代码要放在替换原型的语句之后(也就是写继承语句之后再添加或者重写方法)。

4.利用原型链实现继承时,不能使用对象字面量创建原型方法,并且不同原型对象的实例调用各自的原型方法。

5.原型链实现继承的问题简单来说是两个,第一个是实例共享原型属性问题,因为继承是子类的原型对象为超类的实例,所以超类的实例(尤其是那些包含引用类型值的属性)会成为子类原型对象中的属性或者方法,这样所有子类的实例都会共享这些属性或者方法,耦合性太强。第二个简单来说就是没法向超类型的构造函数中传递参数。总会影响到其他对象实例。

6.使用apply()和call()方法可以在新创建的对象上执行构造函数。

7.借用构造函数的技术(伪造对象或经典继承)来解决上面原型链继承的问题:在子类型构造函数的内部调用超类型构造函数。其实就是在子类型构造函数中调用超类型的构造函数,以this为新创建实例的实例代表,那么每创建一个实例,那么超类型中对this的一些操作都会创建一份副本,就会去掉实例之间的耦合了。

8.上面的方法还有一个好处就是:可以向超类型的构造函数传递参数了。一般先调用超函数的构造函数,再单独添加子类型的属性或者方法。但是这个方法也有缺点:函数无法复用(方法在构造函数中定义),并且这样做的话,超类型原型中定义的方法对于子类型也是不可见的。相当于就是继承构造函数中定义的方法或者属性。

9.组合继承(伪经典继承):就是原型链继承+借用构造函数继承,这样既可以继承构造函数中定义的属性或者方法,也可以继承原型对象中定义的属性和方法,实现了函数的复用。成为最常用的继承模式。

10. nginx和Apache都是web服务器,用于部署网站。总的来说,nginx并发性好、负载强,适合用于对性能要求高的场合,而apache处理动态请求有优势。可以一起结合做事情。

11.网页打开过程再理解:开始、DNS解析、负载均衡、Web服务器、浏览器渲染、结束。

12.web服务器和物理服务器再理解:web服务器运行于物理服务器之上(如我们的PC机),web服务器提供解析工作,物理服务器(网络服务器,那些云服务器就是把ip 端口暴露出来你就可以访问了   当然你也可以在自己电脑上配置web服务器)提供存储和接口连接工作。所以web服务器可以连接本地网络服务器,也可以连接运营商提供的云服务器。

13.访问网站默认是使用的80端口。

14.项目部署再理解:web服务器的主要作用在于为web应用程序的运行提供操作系统环境以及服务;nginx部署静态资源,属于前台部署;我们在服务器端使用nginx、apache、tomcat等工具架起一层静态资源访问服务;浏览器请求分为两种:一类是静态资源请求,请求html等,还有一类是接口请求,与后台进行数据交互1.1) 分别部署两个网页a和b在同一域名的不同端口下。

15.DNS和CDN的关系:CDN全称是内容分发网络,让用户能够更快速的得到请求的数据,就是用来加速的,让数据就近用户;DNS,让域名转化为ip、到mac地址,找到服务器;而要让cdn实现就近选择,我们需要DNS来给用户定位,一般是利用LDNS服务器来定位,然后给他分配一个最近的cdn服务器;但是有个问题就是,用户可以使用异地的LDNS,这样,DNS就会定位错误。然而http调度可以对这个定位进行一个校准,服务器可以返回一个302重定向,理用户最近的服务器存在location中,这样用户再去请求cdn服务器就能得到最佳的cdn节点;但是这样就会增加一次访问http的时间,如果是请求大文件,那么没问题,这个时间忽略不计,但是如果请求小文件就会增加访问时间,最好结合使用,用dns先定位,再用http方式纠正偏差。

16.cdn缓存数据的方式有两种,一种是cdn被动接收数据,也就是服务器主动去更新cdn服务器上面的缓存数据;第二种是用户请求的数据在cdn中找不到时,cdn向上游服务器发起请求,更新缓存,数据返回给用户。而第一种方式有很多问题,容易产生404(请求不到内容),一般使用第二种方式。

17.上述称之为cdn请求工作:dns请求当地LDNS,当地LDNS递归查询服务器的gslb(全局负载均衡,也就是定位最近的服务器);返回最近服务器ip;用户接入最佳ip;该ip没有用户请求的内容,通过内部路由访问上一个节点,直到找到文件或达到源站为止;cdn节点缓存该数据,下次请求可以直接返回。

18.CDN加速原理:缓存、多个节点、多线路网络支持(跨网、跨电信、联通和移动)

19.ISP指的是互联网服务提供商:例如移动、电信、联通。上网就是通过ISP提供的ip地址接入互联网。 

20.互联网从工作模式可分为边缘部分和核心部分。

21.  框架/插件:插件就是对现有功能的扩展。loader是加载器。使用也是通过npm进行安装,在congfig.js中配置插件。(版权说明插件-开源协议说明)。

22.CSS中使用图像替换手段或者嵌入Flash可以实现动态文字、多种样式的文字。