js前端开发
mr3x
专注于js,python,c++3门编程语言
展开
-
this指向的深入解析
在面试题中,老是喜欢给一段代码,然后问这里的this的到底指向谁,切记这里有一个坑,有些出题人出的题目原本就是错的,然后故意问你这里的this指向的是谁。 这里要明确指出,在函数定义的时候用到了this,这时是确定不了this的指向的,只有在函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象,也可以说是函数运行时所在的环境对象。 5种this的常用方法 1. 纯...原创 2018-12-27 18:37:00 · 181 阅读 · 0 评论 -
call, apply, bind的模拟实现
call,apply,bind都是用于改变this的指向的,call和apply的区别在于,他们传递的参数不一样,后者是用数组传参,bind和call, apply两者的区别是,bind返回的是一个函数。 在模拟他们实现之前,我们需要先做些兼容处理,如下 Function.prototype.bind = Function.prototype.bind || function(context){ ...原创 2019-01-09 14:50:03 · 624 阅读 · 0 评论 -
面向对象之静态属性,静态方法,公有属性,公有方法详解
公有属性,公有方法 function Person(name, age){ this.name = name; //公有属性 this.age = age; } Person.prototype.sayName = function(){ //公有方法 return this.name; } 私有属性和私有方法,私有属性和方法不能够通过this来掉用,外部也无法调...原创 2019-01-09 14:52:53 · 489 阅读 · 0 评论