自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 事件

一、事件冒泡观察dom结构,我们会发现每个元素都被其它元素包裹着,像同心圆一样,当圆心有事件发生的时候,似乎会向外扩散,这里我们可以把这种扩散理解为事件冒泡事件冒泡:事件开始时由最具体的元素接收,然后逐级向上传播到较为不具体的节点 举例理解:<!DOCTYPE html><html><head> <title>理解冒泡实例</title></head><body> <div id=

2020-12-22 23:38:22 132

原创 JS垃圾回收机制

一、什么是垃圾一般来说,没有被引用的对象就是垃圾,为了减少内存被无用的变量占用造成内存的浪费,所以需要对垃圾进行回收二、回收的方法 1.标记清除清除维度:其作用域是否在执行环境 不同执行环境清除原则:全局作用域是在当前窗口在执行态的时候就不会被清除,但是局部环境是在其执行环境被销毁的时候就会被标记清除 举例解释let obj1 = { prop: 'obj1'}function f1() { let obj2 = { prop: 'obj2' } ret.

2020-12-21 18:56:25 172

原创 理解js中声明的作用域

一、首先我们了解一下作用域的分类全局作用域:全局作用域是未定义在某个函数内的 函数作用域:局部作用域是定义在某个函数内的二、通过实例理解作用域中的声明例子一:代码中a、b、c和f1均为全局作用域中声明,我们可以将全局理解为一级作用域,全局作用域中声明的函数为二级作用域,函数中的函数称为三级作用域,以此类推,级数大的可以访问级数小的<script>var a = 1let b = 2const c = 3function f1() { let d = 4 r

2020-12-21 00:39:03 207

原创 手写简单的apply、call和bind

一、手写call先来看下call的使用let obj = { name: 'obj'}var name = 'window'function f(lastname) { console.log(this.name + ' ' + lastname)}f.call(obj, 'sun')// 输出obj sun思考:能直接通过函数.调用,通过我们学到的原型链的知识,我们可以将callFun写到prototype上Function.prototype.callFun =

2020-12-10 21:00:29 185

原创 函数被调用的方式

一、理解函数调用函数调用其实就是发挥函数作用的时候,我们常见的方式有如下几种方式二、函数调用的方式方式一:直接使用函数名调用,作为一个普通函数被调用特点:函数内或者函数外均可调用var a = 0function f1() { a++}function f2() { f1() a++ return a}f2() // 2方式二:作为方法被某个实例对象调用特点:方法被定义在某个对象的属性中var obj = { name: '

2020-12-06 12:19:10 1174

原创 函数传参的方式

一、理解函数的实参和形参形参:函数定义时写明的参数叫形参 实参:函数调用时传入的参数叫实参function f(a, b) { // a b为形参 return a + b}f(1, 2) // 1 2为实参二、函数形参的定义方式方式一:预先定义好所有需要的形参特点:需要预知参数的个数function f(a, b, c, d) { return a + b + c + d}f(1, 2, 3, 4)方式二:只定义部分可预知的参数,剩余的用剩余参数定义

2020-12-06 10:55:59 278

原创 解析函数创建的六种方式

一、理解函数工作中我们经常接触各种各样的函数,比如通过字面量定义的函数,箭头函数、立即函数等等,函数也经常被使用于各种各样的场景中,比如回调函数、被实例调用、普通执行等,那么我们接下来先总结一下函数创建的方式。二、函数创建的四种方式方式一:函数声明特点:通过函数声明的方式如下,函数声明存在提升,会将变量的声明提升到作用域顶部,也就是可以在声明之前调用;且其this的指向是window对象function A() { return this;}观察函数的执行结果我们可以发现全

2020-12-05 17:30:36 692

原创 js的继承

一、理解继承对象的继承是二、继承方式总结方式一:原型继承方式二:构造函数继承方式三:原型和构造函数组合式继承方式四:Class继承

2020-12-03 12:50:32 82

原创 从对象创建来理解原型链

一、理解__proto__ 和prototype在理解原型链之前我们先来看两个属性,__proto__ 和prototype,在我的理解中,__proto__和prototype是对象和函数与其关联对象的一种标识__proto__:对象的一个属性,指向它的来源 prototype:函数的一个属性,指向它的来源二、对象创建总结方式一:对象字面量特点:创建一个自定义属性的对象,属性在创建的时候定义,不能复用let obj = { name: 'a', age: 'b'}观

2020-12-02 22:15:39 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除