个人js基础知识及看js高级程序设计查漏 汇总

1.事件循环机制

  js单线程操作。

  1>主线程读取js代码 ,此时为同步环境,形成相应的堆和执行栈。

  2>主线程遇到异步任务,指给对应的异步进程处理。

  3>异步进程处理完毕后,将相应的异步任务推入到任务队列。

  4>主线程执行完毕后会查询任务队列,如果处在任务 ,则取出一个任务推入主线程处理(先进先出)

  5> 重复执行 2/3/4;称之为事件循环。

2.闭包

  访问函数内部的私有变量并一直保存对其的应用。

  ‘私有变量’=null 可以释放内存。

3.this

  1>全局环境下 this指向  window

  2>普通函数中 this指向 window     或者undefined(严格模式)function a(){console.log(this)}  a()  

  3>作为方法    谁调用指向谁

  4> 箭头函数   函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象

 

4、函数参数是按值传递的。

function setName(obj){
obj.name ='11';  //obj此时是person的值 { }, 引用类型
obj = new Object(); //参数obj为局部变量 ,重新被赋值为 一个新对象
obj.name ='22222';  //对局部变量操作   当函数执行完毕,局部变量会销毁
}
var person = new Object();
setName(person);  
alert(person.name)// 11

 

posted @ 2019-04-26 10:59  崔凯通  阅读(119)  评论(0编辑  收藏  举报