一、算法性能排序
情形一:数组长度 <= 45, 选择排序 ≈ 快速排序性能 ;
情形二:数组长度 > 45, 选择排序 劣于 快速排序性能;
总体比较: 快速排序 > 选择排序 > 冒泡排序;
总结:数组的元素越多,上面各种排序的性能差异越明显;
1、对象字面量的原型
1 | var a = {}; |
通过对象字面量创建的对象,其原型[[Prototype]]实际上指向的是Object的prototype。由此可知,对象字面量创建对象的方法等效于通过new Object()方法。
2、函数的原型
var f = function(){};
//或者 function f(){}
Object.getPrototypeOf(f) === Function.prototype; // true
Object.getPrototypeOf(f) === f.__proto__ //true
f.__proto__ === Function.prototype; //true;
Function.prototype._proto_ === Object.prototype; // true
f.prototype // {constructor: ƒ}
在js中,函数也属于对象,是Function构造函数的实例。因此函数的原型可以分两种:第一种是把函数当作对象时的原型,可以通过函数名的__proto__
属性访问;第二种是把函数当作构造函数,这时直接通过prototype属性便可访问到该函数的原型。
**fetch(url,options) **其中url 为请求路径,options为可选参数。可选值有:
{
method: 请求方法,
headers: 请求头信息,json或者Headers对象,其中包含请求头的各种信息Access-Control-Allow-Origin等,
body: Blob、Buffersource、FormData、URLsearchParams说着USVString对象。并且GET或HEAD请求不能有body字段。
mode: 请求模式。值:cors、no-cors或者 same-origin
credentials: 是否自动发送cookie。值:omit、same-origin、include
cache: 请求的cache模式。值:default、no-store、reload、no-cache、force-cache、only-if-cached
redirect: follow(自动重定向)、error(如果产生重定向将自动终止并且抛出一个错误)、manual(手动处理重定向)
referrer: USVString类型的 no-referrer、client或者URL,默认client。
referrerPolicy: 指定referer HTTP头部的值。值:no-referrer、no-referrer-when-downgrade、origin、
origin-when-cross-origin、unsafe-url
integrity: 包括请求的subresource integrity值
}
最近在写一个刮刮乐的抽奖功能,总结起来主要的点有三个:
这个是一个很奇怪的点,canvas的宽高必须是作为标签的属性存在,才会对之后js获取其宽高计算坐标点有效,否则按直接在样式里面写的宽高计算出来的坐标是不正确的。
关于这个问题,后来在MDN的https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas上找到了解释。
之前使用webpack的时候总是不太明白webpack.config.js里面的参数是如何配置的,每个参数又有什么作用,所以也一直不敢随便更改
里面的配置,直接导致了对项目的不熟悉。因此趁现在有时间,遂对配置的字段的一一学习。