js中this的指向问题
来源:互联网 发布:2015人口普查数据 编辑:程序博客网 时间:2024/06/07 11:08
1 函数四种调用模式:
// 1 函数调用模式 // 2 方法调用模式 // 3 构造函数调用模式 // 4 借用方法调用模式(上下文调用模式) // call / apply // 这 4种模式 就是按照函数内部 this 指向的不同来区分的!!!
2 分析this的问题只需要明白两点:
// 1 分析 this 是属于哪个函数 // 2 分析该函数是以什么模式被调用的 // // 分析 this 的问题,只看函数是怎么被调用的,不管函数是怎么来的!
1 函数调用模式:this —-> window
// var fn = function() { // console.log( this ); // }; // fn();
2 方法调用模式:this —-> 当前对象(调用方法的对象)
// var obj = { // name: '饿了吗??', // fn: function() { // console.log( this ) // } // }; // obj.fn();
3 构造函数调用模式: this —-> 该构造函数的实例对象
var Person = function() { // console.log( this ) console.log( this instanceof Person ); }; Person.prototype.say = function() { // this ----> 实例对象p console.log( this === p ); }; var p = new Person(); p.say();
4 借用方法调用模式:call / apply
// 作用:调用函数,并且在调用函数的同时可以修改函数内部this的指向 // 语法:函数名.call() / 函数名.apply() // call 和 apply 是由 Function.prototype 来提供的 // console.dir( Function.prototype ); // apply方法,有两个参数:两个参数都是可以省略的 // 第一个参数:表示函数内部this的指向,实际上就是让第一个参数表示的对象来调用该方法! // 第二个参数:是一个数组或者伪数组,数组或伪数组中的每一项元素会作为被调用方法的参数 // apply可以传数组或者伪数组,call只能传单个参数
补充扩展arguments
arguments.callee() 函数自调用
arguments.length 代表实参的个数
阅读全文
0 0
- js中this关键字的指向问题
- 理解js中this的指向问题
- js中this的指向问题
- js中this指向问题
- js中this指向问题
- what's this? 浅谈js中this的指向问题
- js中this的指向
- js中this的指向
- js中this的指向
- js中this的指向
- js中 this 的指向
- js中this的指向
- js中this的指向
- JS中this的指向
- Js中this的指向
- 小白也能彻底理解js中this的指向问题
- js中this指向问题实例详解
- 彻底理解JS中This指向问题
- Git
- 巧用函数返回值
- 全文检索技术学习(二)——配置Lucene的开发环境
- Weex 入坑指南:快速开始 Weex 之旅
- 线上比赛记录本
- js中this的指向问题
- Hadoop集群配置搭建文档/教程
- 使用 javafx 开发windows应用
- bootstrap-table 怎么配置ajaxOptions
- 前台开发总结06_20170520
- 电商业务之代码逻辑(订单售后)
- CodeForces788C【BFS】
- TortoiseSVN 设置中文语言包
- 数据结构之单链表