JavaScript
文章平均质量分 53
番茄味姜糖
这个作者很懒,什么都没留下…
展开
-
面试题准备(十五):定位 position
- 文档流就是将元素放在浏览器视窗中的系统,可将放在里面的元素笼统的分为行级元素和块级元素- 所谓定位,就是使得元素脱离文档流进行放置的属性- 静态定位是元素的默认定位方式- 相对定位是相对于原来位置进行定位,虽然元素脱离了原来的位置,但它原来的位置并不会被其它元素占据- 绝对定位脱离原来位置进行定位,元素在离开原来位置后,其位置会被顺延至下一个元素- 固定定位根据视窗进行定位,常用于制作导航栏- z-index 可以确定重叠元素的排列顺序原创 2022-02-26 17:40:01 · 399 阅读 · 0 评论 -
面试题准备(十四):BFC 块级格式化上下文
BFC 即块级格式化上下文,简单来说就是形成自我的小天地,小天地内的元素与外界元素互不干扰,且有特殊的规则,即在与浮动有重叠时,它将把自己变窄,计算高度时,也会将内部子级元素的高度计算进去原创 2022-02-26 16:06:21 · 232 阅读 · 0 评论 -
面试题准备(十):var、let、const 区别
var、let、const 三种变量声明方式的区别,主要在能否重复定义,能否变量提升,值能否修改,能否形成块作用域,可否运用于循环中原创 2022-02-24 17:51:14 · 337 阅读 · 0 评论 -
面试题准备(九):函数柯里化
概念柯里化是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术第一个例子 — 参数复用// 普通封装方法// 一次传入三个参数,但像协议 protocol 这种可以复用的参数就需要传入多次function URI(protocol, hostname, pathname) { return `${protocol}${hostname}${pathname}`}// 运用柯里化封装一个 URI 函数// 这样封装原创 2022-02-24 16:22:25 · 786 阅读 · 0 评论 -
面试题准备(八):call、apply 和 bind
call、apply 和 bind 的主要作用,都是改变当前对象的执行期上下文;区别是,call 和 apply 是立即执行的,只在参数传递方式上有区别,而 bind 返回一个函数引用,需要加上执行符号才能执行原创 2022-02-24 10:29:59 · 478 阅读 · 0 评论 -
面试题准备(七):立即执行函数
立即执行函数没有声明,在执行一次后释放,针对初始化功能的函数只有表达式才会被执行符号 () 执行先看两种情况function foo() { console.log('我会执行吗?') }()function foo() { console.log('现在我会执行吗?') }(1)揭晓结果第一种情况是一个函数声明后紧跟一个括号,而要执行函数应该是函数引用+括号,显然不能实现执行函数。此时这个括号仅仅是表达运算计算次序的符号第二种情况,表示执行括号中的表达式,对执行左侧声明的原创 2022-02-24 00:44:16 · 309 阅读 · 0 评论 -
面试题准备(六):this 指向
执行期上下文三个重要属性变量对象 — Variable Object VO作用域链 — Scope Chainthisthis函数预编译过程中 this 指向 window全局作用域中 this 指向 windowcall 和 apply 可以改变函数运行时 this 的指向obj.func()、func() 里面的 this 指向 obj箭头函数中,this 指向其所在作用域,无论谁调用试一试// 分析以下代码执行结果var name = '222'var a =原创 2022-02-23 18:45:31 · 215 阅读 · 0 评论 -
面试题准备(五):闭包
闭包定义 一 — 内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后。定义 二 — 1. 即使创建它的上下文已经销毁,它仍然存在(比如,内部函数从父函数中返回)2. 在代码中引用了自由变量广义闭包:所有的函数。因为它们都在创建的时候就将上层上下文的数据保存起来了。哪怕是简单的全局变量也是如此,因为函数中访问全局变量就相当于是在访问自由变量,这个时候使用最外层的作用域。复习 — 函数执行过程var scope = "global scope"fun原创 2022-02-23 16:59:55 · 311 阅读 · 0 评论 -
面试题准备(四):作用域、作用域链
作用域执行期上下文:变量对象 VO、作用域链 Scope、this作用域 :[[scope]] 存储执行期上下文集合,函数创建时,就会保存所有父变量到其中作用域链:[[scope]] 中的执行期上下文集合呈链式连接,这种连接称为作用域链function fun1() { function fun2() {}}// 函数创建时 分析以上两个函数的作用域fun1.[[scope]] = { GO}fun2.[[scope]] = { fun1.AO GO}// 函数激活时原创 2022-02-23 11:38:02 · 330 阅读 · 0 评论 -
面试题准备(三):执行期上下文
文章目录执行期上下文运行三部曲预编译四部曲执行期上下文当函数开始执行前一刻,会做一些准备工作,先创建一个称为执行期上下文的内部对象执行期上下文定义了函数执行时的环境多次调用一个函数会创建多个执行期上下文,函数执行完毕即销毁运行三部曲JavaScript 单线程的解释性语言语法分析预编译解释执行预编译四部曲创建 AO — Activation Object 对象,即执行期上下文寻找形参和变量声明,将变量和形参都作为 AO 的属性名,值设为 undefined形参实参相统原创 2022-02-23 00:15:19 · 230 阅读 · 0 评论 -
面试题准备(二):继承的多种方式及优缺点
文章目录原型链继承借用构造函数 --- 经典继承组合继承 --- 最常用原型式继承寄生式继承寄生组合式继承原型链继承// 在 Father 构造函数中声明默认属性function Father() { this.age = 13}// 在 Father 的原型中定义方法Father.prototype.getAge = function () { console.log(this.age)}// 将 Son 的原型设为 Father 的实例 --- 继承function Son() {原创 2022-02-22 22:26:32 · 110 阅读 · 0 评论 -
面试题准备(一):原型、原型链
文章目录原型原型原创 2022-02-22 01:00:53 · 1909 阅读 · 0 评论