javascript高级
米咪米
这个作者很懒,什么都没留下…
展开
-
let、const、var关键字声明变量的区别
1、使用 var 声明的变量,其作用域为该语句所在的函数内,且存在变量提升的现象if(true){ var a=10;}console.log(a); // 102、使用 let 声明的变量,其作用域为该语句所在的代码块内,不存在变量提升if(true){ let a=10;}console.log(a); // a is not undefine3、使用 const 声明的是常量,必须要赋初始值,并且赋值后不能修改该常量的值if(true){ co原创 2021-08-19 17:27:02 · 102 阅读 · 0 评论 -
改变函数内 this 指向的三种方法
一、call() // 1、call() var obj = { name: 'andy' } function fn(a, b) { console.log(this); console.log(a + b); } fn.call(obj, 1, 2); // 此时的this指向 obj // call()可以调用函数,也可以改变函原创 2021-08-17 16:51:42 · 380 阅读 · 0 评论 -
js中函数内 this 指向
这些 this 的指向,是当我们调用这个函数的时候确定的,调用的方式不同决定了 this 的指向不同。this 一般指向我们的调用者调用方式 this指向 普通函数调用 window 定时器函数 window 立即执行函数 window 构造函数调用 实例对象(原型对象里面的方法也指向实例对象) 对象方法调用 该方法所属对象 事件绑定方法 绑定事件对象 <script&g...原创 2021-08-17 15:45:28 · 199 阅读 · 0 评论 -
filter()与some()的区别
一、filter()var arr = [2, 5, 8, 9];var newarr = arr.filter(function(value, index) { return value % 2 === 0;})console.log(newarr); // [2,8]二、some()var arr = [10, 20, 5, 4];var flag = arr.some(function(value, index) { return value >= 10;原创 2021-08-16 16:33:45 · 484 阅读 · 0 评论 -
原型和原型链
1、原型:①所有引用类型都有一个__proto__(隐式原型)属性,属性值是一个普通的对象②所有 构造函数 都有一个prototype(原型)属性,属性值是一个普通的对象③所有引用类型的__proto__属性指向它构造函数的prototype,这个prototype就是一个对象,这个对象的所有方法和属性都会被构造函数所拥有原型的作用:共享方法只要我们把方法定义在原型对象身上,那我们所有的实例都可以使用这个方法,并且不需要开辟新的空间2、原型链: 当访问一个对象的某个属性时...原创 2021-08-15 23:00:01 · 93 阅读 · 0 评论 -
构造函数、实例对象、原型对象之间的关系
每一个构造函数身上都有一个 prototype 属性,它会指向一个对象,这个对象就是我们的原型对象 在这个 prototype 原型对象身上有一个 constructor 属性,通过 构造函数名.prototype.constructor 又可以指回这个构造函数 通过构造函数我们可以new一个实例对象,在这个实例对象身上有一个 _proto_ 原型,指向的是 构造函数中 prototype 原型对象 同样,我们也可以用 实例名._proto_.constructor指回这个构造函数(由于 实例名._p原创 2021-08-15 16:51:06 · 135 阅读 · 0 评论 -
面向对象以及面向过程的介绍
一、面向过程(POP) 面向过程就是分析出解决这个问题所需要的步骤,然后用函数把这些步骤一步一步的实现,使用的时候再一个一个依次调用就可以了。例如:我们要把大象装进冰箱里,面向过程的做法:打开冰箱门 把大象装进去 关上冰箱门面向过程,就是按照我们分析好了的步骤,按照步骤解决问题二、面向对象(OOP) 面向对象就是把事物分解称为一个一个的对象,然后由对象之间分工与合作。在面向对象的程序开发思想中,每一个对象都是功能中心,具有明确分工。例如:我们要把大象装进冰...原创 2021-08-13 15:46:07 · 192 阅读 · 0 评论