Object.create(proto, [propertiesObject])
方法创建一个新对象,使用现有的对象来提供新创建的对象的proto(原型)
参数
proto : 必须。表示新建对象的原型对象,即该参数会被赋值到目标对象(即新对象,或说是最后返回的对象)的原型上。该参数可以是null, 对象, 函数的prototype属性 (创建空的对象时需传null , 否则会抛出TypeError异常)。
propertiesObject : 可选。 添加到新创建对象的可枚举属性(即其自身的属性,而不是原型链上的枚举属性)对象的属性描述符以及相应的属性名称。这些属性对应Object.defineProperties()的第二个参数。
返回值:
在指定原型对象上添加新属性后的对象。
链接: https://www.jianshu.com/p/28d85bebe599.
window.requestAnimationFrame(fun)
告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行
注意:若你想在浏览器下次重绘之前继续更新下一帧动画,那么回调函数自身必须再次调用
白话:直接调用window.requestAnimationFrame(fun),加之函数fun内再次调用window.requestAnimationFrame(fun),此时fun里添加的某个动画(比如·i += 1,console.log(i))就会被不断地执行
若设置对象obj = { i:0 ,a: 1};obj.a = 4 ,函数fun里的是执行 i不断+1 而 a依旧是4 不变(更新需要改变的东西)