2019-08-14

8-13测试总结

1.

十进制0.1 => 二进制0.00011001100110011…(循环0011) =>尾数为1.10011001100110011001100(共52位,除了小数点左边的1),指数为-4(二进制移码为00000000010),符号位为0=> 计算机存储为:``0 00000000100 10011001100110011``…``11001 => 因为尾数最多``52``位,所以实际存储的值0.00011001100110011001100110011001100110011001100110011001而十进制0.2 => 二进制0.0011001100110011…(循环0011) =>尾数为1.10011001100110011001100(共52位,除了小数点左边的1),指数为-3(二进制移码为00000000011),符号位为0=> 存储为:0` `00000000011` `1001100110011001111001` `因为尾数最多52位,所以实际存储的值为0.00110011001100110011001100110011001100110011001100110011那么两者相加得:
0.00011001100110011001100110011001100110011001100110011001
+ ``0.00110011001100110011001100110011001100110011001100110011`` (确认??)
= ``0.01001100110011001100110011001100110011001100110011001100
转换成``10``进制之后得到:``0.30000000000000004

2.

call、apply、bind的作用是改变函数运行时this的指向
call 方法第一个参数是要绑定给this的值,后面传入的是一个参数列表。当第一个参数为null、undefined的时候,默认指向window。
apply接受两个参数,第一个参数是要绑定给this的值,第二个参数是一个参数数组。当第一个参数为null、undefined的时候,默认指向window。
和call很相似,第一个参数是this的指向,从第二个参数开始是接收的参数列表。区别在于bind方法返回值是函数以及bind接收的参数列表的使用。

3.

传递方式:
cookie在浏览器和服务器间来回传递;
sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存;
存储大小:
localStorage<=5M;
sessionStorage<=5M;
cookie<4K;(ie内核浏览器占主流地位,且ie6仍占有相当大的市场份额,所以在程序中应当使用少于20个cookie,且不大于4k)
有效性:
localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;
sessionStorage:仅在当前浏览器窗口关闭前有效,不能持久保持;
cookie:只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭也不会消失;
共享机制:
localStorage :在所有同源窗口中都是共享的;
sessionStorage:同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的;
cookie:在所有同源窗口中都是共享的
浏览器支持:
sessionStorage的浏览器最小版本:IE8、Chrome 5。
使用场景
cookie:保存回话信息
localStorage:持久保存的数据
sessionStorage:拥有独立特性的数据

4.

2D
1.rotate(θ):以参考点为中心轴 2D 旋转 θ 度。
2.skew(θx,θy):以参考点为中心轴沿着横向倾斜 θx 度、纵向倾斜 θy 度( 可以拆开成skewX(θ)和skewY(θ) )
3.scale(x,y):指定元素由参考点 2D 横向缩放 x 倍、纵向缩放 y 倍( 可以拆开成scaleX(x)和scaleY(y),此函式的参数不需要单位 )
4.translate(x,y):指定元素由参考点 2D 横向移动 x 距离、纵向移动 y 距离( 可以拆开成translateX(x)和translateY(y),此函式的参数单位为px )
5.matrix(a,b,c,d,e,f):指定元素由参考点依据数学变形矩阵 (transformation matrix) 的 6 个参数值产生 2D 变形( 此函式的参数为数字,不需要单位 )
3D
perspective-origin

5.

  1. object
  2. undefined
  3. number
  4. false
  5. false
  6. number
  7. NaN

6.

构造函数继承
原型链继承:
混合继承
ES6 extends继承
方法:构造函数绑定
使用call或apply方法,将父对象的构造函数绑定在子对象上,即在子对象构造函数中加一行:
function Cat(name, color) {    
Animal.apply(this, arguments);    
this.name = name;    
this.color = color;  
}  
var cat1 = new Cat("大毛", "黄色");  
alert(cat1.species); // 动物

7.

  1. cd.>cc.txt
  2. md test
  3. dir
    4.ls -a
  4. cd
  5. del a.txt
    7.dpkg -i /path/to/packagename.deb

8

function flattenArr (arr){
var result=[]
function flatten(arr){
for (var i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
flatten(arr[i]);
}else{
result.push(arr[i]);
}
}
}
flatten(arr);
return result.

9.

在foo中,声明一个变量tmp,他属于foo作用域下的变量。函数返回一个函数,这个函数被嵌套,函数内部弹出x+y(++tmp)。这是个人都看得懂啊,那为什么会出现闭包,怎么出现的了。这接下来就是看执行的过程了,首先执行var bar = foo(2);那么foo就执行了,参数2也传进去了,但是执行完毕之后,tmp变量以及参数x就已经被释放回收了吗?并没有,因为返回值里面还等待使用这些变量咯,所以此时,foo虽然执行了,但是foo的变量并没有被释放,在return在等待继续使用这些变量了,这个时候bar就是一个闭包。

然后我们再执行bar,结果是16,

10.

A 零 和非零开头 ^(0 |[1-9])$ 只能是数字 括号里面的在加[0-9]*

11.

e preventDefault()

你可能感兴趣的:(2019-08-14)