javaScript-高级篇
javaScript-高级篇
学好javascript换名
这个作者很懒,什么都没留下…
展开
-
JS事件循环event loop
Javascript是单线程。单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着。 于是js所有任务分为两种:同步任务,异步任务。原创 2020-05-21 19:50:22 · 149 阅读 · 0 评论 -
浏览器内核
定义:支撑浏览器运行的最核心的程序浏览器内核:Chrome,Safari:webkitfirefox:GeckoIE:Trident360,搜狗等国内浏览器:Trident(金额交易)+webkit浏览器内核由很多模块组成:主线程JS引擎模块:负责JS程序的编译与运行 html、css文档解析模块:负责页面文本的解析 DOM/CSS模块:负责dom/css在内存中的相关处理 布局和渲染模块:负责页面的布局和效果的绘制分线程定时器模块:负责定时器的管理 时间相应模原创 2020-05-21 17:59:10 · 121 阅读 · 0 评论 -
JS对象模式高级
对象创建模式1. Object构造函数模式套路:先创建空Object对象,再动态添加属性/方法 适用场合:起始时不确定对象内部数据 缺点:语句太多var p={}p.name='TOM'p.age=12p.setName=function(name){ this.name=name}2. 对象字面量模式套路:使用{}创建对象,同时指定属性/方法 适用场景:起始时对象内部数据时确定的 缺点:如果创建多个对象,有重复代码var p={ name:'TOM'原创 2020-05-21 14:46:02 · 85 阅读 · 0 评论 -
JS闭包(what,why,how)
闭包的作用函数内部的变量在函数执行完后,仍然存活在内存中(延长局部变量的生命周期)在函数外部可以操作(读写)到函数内部的数据(变量/函数)原创 2020-05-20 11:43:54 · 237 阅读 · 0 评论 -
JS分线程-Web Workers
介绍Web Workers是HTML5提供的一个JS多线程解决方案; 作用:处理计算量比较大的代码块,避免页面冻结; 子线程完全受主线程控制,且不能操作DOM。使用创建分线程JS文件(this不指向window,不能执行window的方法)var onmessage=function(event){// 不能使用函数声明 console.log(event.data) ...原创 2020-05-07 23:00:22 · 179 阅读 · 0 评论 -
执行上下文与执行上下文栈
执行上下文代码分类(依据:位置)----全局代码局部代码全局执行上下文在执行全局代码前将window确定为全局执行上下文 对全局数据进行预处理var定义的全局变量==》undefined,添加为window的属性 function声明的全局函数==》赋值(fun),添加为window的方法 this==》赋值(window)开始执行全局代码函数执行上下文在调用函数,准备执行函数体之前,创建对应的函数执行上下文对象 对局部数据进行预处理形参变量==》赋值(实参),添加为执行上下原创 2020-05-15 14:28:58 · 108 阅读 · 0 评论 -
函数原型和原型链
原型(prototype)函数的prototype属性每个函数都有一个prototype属性,它默认指向一个Object空对象(原型对象); 原型对象中有一个属性constructor,它指向函数对象。给原型对象添加属性(一般都是方法)作用:函数的所有实例化对象都自动拥有原型中的属性(方法)函数的prototype属性...原创 2020-05-14 23:34:23 · 468 阅读 · 0 评论