- this:this的指向在函数定义时是确定不了的,只有函数执行时才能确定this指向谁,一般情况下this的最终指向是那个调用它的对象。 (1)全局作用域或普通函数中this指向全局对象window(注意定时器里面的this指向window) (2)方法调用中谁调用this指向谁 (3)构造函数中this指向构造函数的实例 注:node.js会为每个定时任务都分配一个Timeout对象执行定时任务,此时this执行这个定时器本身,在node.js中在定时器回调函数中调用clearInterval(this)既可以停止该定时器
- JS是单线程(同一时间只能做一件事)(JS是为了处理页面中用户交互以及操作DOM而诞生,如某个DOM元素进行删除和添加操作不能同时进行) (1)同步:前一个任务结束后再执行后一个任务,程序的执行顺序与任务的排列顺序一致,同步。 (2)异步:在做一件事情同时处理其他事情(两者本质区别是这条流水线各个流程执行顺序不同) (3)同步任务:都是在主线程上执行,形成一个执行栈 (4)异步任务:是通过回调函数实现的,异步任务相关回调函数添加到任务队列中(消息队列) ①普通事件:click、resize ②资源加载:load、error ③定时器:setInterval、setTimeout (5)执行过程:①先执行执行栈中的同步任务; ②异步任务(回调函数)放入任务队列中; ③一旦执行栈中的所有同步任务执行完毕,系统就会按次序读取任务队列中的异步任务,被读取的异步任务结束等待状态,进入执行栈,开始执行。
- JS执行机制: (1)事件循环(eventloop):由于主线程不断的重复获取任务、执行任务、再获取任务,再执行,这种机制称为事件循环
- location对象:window对象提供一个location属性用于获取或设置窗体的URL,并且可以用于解析URL,因为这个属性返回的是一个对象,也可将这个属性称为location对象 (1)URL:统一资源定位符是互联网上标准资源的地址 ①语法:protocol://host[:port]/path/[?query]#fragment
- location对象属性:
- location对象属性:
- navigator对象:包含有关浏览器的信息,有很多属性,最常用的是userAgent,该属性可以返回由客户机发送服务器的user-agent头部的值
- history对象:与浏览器历史记录进行交互,该对象包含用户(在浏览器窗口中)访问过的URL