![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js高级
你真好看l
。。
展开
-
几道经典js面试题
关于堆栈内存的几道题1对象属性名数字和字符串数字是相等的 let a={},b="0",c=0; a[b] = "呵呵"; //a["0"] = "呵呵" a[c] = "hh"; //a["0"] = "hh" console.log(a[b]); //hh /*一个对象中属性名不能重复,属性名一般都是字符串(数字0和字符串0是相等的)*/...原创 2020-03-22 16:41:39 · 123 阅读 · 0 评论 -
模块化
1理解:什么是模块/模块化?将一个复杂的程序依据一定的规范封装成几个块,并组合在一起块的内部数据/实现是私有的,只是向外部暴露一些接口(方法)与外部其他模块通信为什么要模块化?降低复杂度提高解耦性部署方便模块化的好处:避免命名冲突更好的分离,按需加载更高复用性更好维护页面引入加载script问题:请求过多依赖模糊难以维护2模块进化史全局function模式 ...原创 2020-02-09 16:51:51 · 94 阅读 · 0 评论 -
线程机制与事件机制
进程:程序的一次执行,它占有一片独有的内存空间可以通过windows任务管理器查看进程线程:是进程内的一个独立执行单元是程序执行的一个完整流程是cpu的最小的调度单元图解相关知识1.应用程序必须运行在某个进程的某个线程上2.一个进程中至少有一个运行的线程:主线程,进程启动后自动创建3.一个进程中也可以同时运行多个线程,我们会说程序是多线程运行的4.一个进程内的数据可以供其...原创 2019-11-15 16:29:39 · 104 阅读 · 0 评论 -
继承模式
原型链继承1套路:1.定义父类型构造函数2.给父类型的原型添加方法3.定义子类型的构造函数4.创建父类型的对象赋值给子类的原型5.将子类型原型的构造属性给子类型6.给子类型原型添加方法7.创建子类型的对象,可以调用父类型的方法2.关键1.子类型的原型为父类型的一个实例对象借用构造函数继承1.套路:1定义父类型的构造函数2定义子类型的构造函数3在子类型的构造函数中调...原创 2019-11-13 23:29:18 · 87 阅读 · 0 评论 -
对象创建模式
1Object构造函数模式:套路:先创建空Object对象,再动态添加属性/方法适用场景:起始时不确定对象内部数据问题:语句太多2对象字面量模式套路:使用{}创建对象,同时指定属性/方法适用场景:起始时对象内部数据是确定的问题:如果创建多个对象,有重复代码3工厂模式 //不太用套路:通过工厂函数动态创建对象并返回适用场景:需要创建多个对象问题:对象没有一个具体的类...原创 2019-11-13 23:27:06 · 113 阅读 · 0 评论 -
闭包,作用域链两个面试题
/*面试一*/ //代码片段一 没有闭包 var name ="the Window" var object ={ name : "my object", getNameFunc: function(){ return function(){ return this.name; } } } alert...原创 2019-11-12 17:33:40 · 141 阅读 · 0 评论 -
闭包
闭包的引入 需求:点击某个按钮,提示点击的是第几个按钮(循环遍历加监听)<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <!-- 闭包 --> </head> <body&g...原创 2019-11-12 16:45:24 · 59 阅读 · 0 评论 -
作用域和作用域链
作用域1理解这就是一块地盘,一个代码段所在的区域他是静态的(相对于上下文对象),在编写代码时就确定了2.分类全局作用域函数作用域3.作用隔离变量,不同作用域下同名变量不会有冲突作用域与执行上下文区别1:全局作用域之外,每个函数都会创建自己的作用域,作用域在函数定义时就确定了,而不是调用时全局执行上希望是在全局作用域确定之后,js代码马上执行之前创建函数执行上下文是在调用函...原创 2019-11-12 13:19:44 · 75 阅读 · 0 评论 -
提升、执行上下文和执行上下文栈
-提升1.变量声明提升通过var定义(声明)的变量,在之前就可以直接使用,但不会被赋值值:undefined2.函数声明提升通过function声明的函数,在之前就可以直接调用 (函数表达式不能在定义前调用)值:函数定义(对象)3.问题:变量提升和函数提升怎么产生的?/* 变量提升简单理解 */ var a = 3 function fn(){ ...原创 2019-11-11 18:33:41 · 196 阅读 · 0 评论 -
原型(显式,隐式)
原型1.函数的prototype属性每个函数都有一个prototype属性,它默认指向一个空object对象,(即称为:原型对象)原型对象中有一个属性constructer,它指向函数对象2.给原型对象添加属性(一般都是方法)作用:函数的所有实例对象自动拥有原型的属性(方法)显式原型和隐式原型1.每个函数function都有一个prototype,即显示原型(属性)2.每个实例...原创 2019-11-10 22:11:17 · 375 阅读 · 0 评论 -
原型链
原型链1原型链(图解)访问一个对象的属性时先在自身属性中查找,如果找到,返回,如果没有,沿着__proto__这条链往上(object实例对象)找,找到返回如果最终没找到,返回undefined别名:隐式原型链作用:查找对象的属性(方法)2.构造函数/原型/实体对象的关系(图解)3.构造函数/原型/实体对象的关系2(图解)<!DOCTYPE html><...原创 2019-11-10 22:49:58 · 116 阅读 · 0 评论