笔记

1.js四则运算
-   '1' + 8 = '18' //字符串+数字
-   1 + '8' = '18' //数字加字符串
-   2 - '1' = 1 //数字减字符串
2. new关键字做了什么?
将新对象的_proto_指向构造函数的prototype对象
将构造函数的作用域赋值给新对象 (也就是this指向新对象)
执行构造函数中的代码(为这个新对象添加属性)
返回新的对象
var Obj = {};
Obj._proto_ =  Person.prototype();
Person.call(Obj);
3. 当this遇到return。如果返回值是一个对象,那么this指向的就是返回的对象,如果返回值不是一个对象那么this还是指向函数的实例。

//null比较特殊,这里null还是指向函数的对象

window.name = 'pk';
function fn() {
    this.user = 'ft';
    console.log(this);
    return null;
}
var a = new fn();
console.log({ name: a.name, user: a.user }); //undefind 'ft'
4. js中call()的用法?
A.call(B,x,y);
1。改变函数A的this的指向,使其指向B
2。把A函数放到B中执行,x,y是函数A的参数。

小知识:

  1. ++代表一元自增操作符,--代表一元自减运算符,在运算时存在隐式转换
  2. js中Falsy 的值有 0, ‘’, false, NaN, null, undefined
  3. Boolean(new Boolean(false)) 的结果是什么?
  4.   答案是true,解释如下:
  5. alert(value)会将value转换成字符串
  6. 在正则表达式中?表示非贪婪匹配,*表示贪婪匹配。
  7. 一般来说,不要在promise的then里面定义reject状态的回调函数,总是使用catch方法。
  8. 显示页面轮廓 [].forEach.call($$(""),function(a){a.style.outline="1px solid #"+(~~(Math.random()(1<<24))).toString(16)})
posted @ 2020-04-30 11:25  ft039x  阅读(116)  评论(0编辑  收藏  举报
TOP