首页 >

关于this的相关问题

web前端|js教程关于this的相关问题
this,问题,全局变量
web前端-js教程
在学习中经常遇到this问题,本篇将会讲解其相关问题。
政府网站模板php源码,vscode生成标签快捷,更新ubuntu库,tomcat 清理文件,sqlite3显示列名,前端框架学不进去怎么办,我的世界爬虫怎么获得蜂蜜,php截取网页,石林seo优化推广,统计在线人数网站源码,php 网页 代码,织梦自定义表单模板修改lzw
this作为全局对象window的几种情况
图秀源码,vscode在目录中查找,yumi制作ubuntu,tomcat的各个log,爬虫图片代码,redis连接池 php,连江seo优化多少钱,中英文双语网站,pc模板lzw
作为函数调用的this
协成wifi源码,ubuntu开启桌面服务,防爬虫蚊帐推荐,php strspn,西区seo优化lzw
作为内部嵌套函数的this

在setTimeout、setInteval中this仍然是全局变量window

this为非全局变量的几种情况

构造函数(构造函数就是通过函数生成一个新的对象,这时this指的为这个新对象)

做为对象方法调用,如:

var obj1 = {    name: 'Byron',    fn : function(){        console.log(this);    }};obj1.fn(); // obj1var fn2 = obj1.fn;fn2();  //此时this仍然指的是全局对象window

DOM对象绑定事件this代表源DOM对象(低版本IE下有bug,也指向window)

使用bind函数,绑定原函数,此时this指的是传入bind的第一个参数。如:

var obj1 = {    name: 'Byron',    fn : function(){        console.log(this);    }};obj1.fn(); //obj1var fn2 = obj1.fn;
fn2();  //此时this仍然指的是全局对象windowvar fn3 = obj1.fn.bind(obj1);fn3();  //此时this指的为obj1(此方法比较灵活,可利用此方法将所要传送给this 的参数指定为bind的第一个对象)apply和call设置this,如:fn.call(context,num1,num2...);fn.apply(context,numArray)

第一个参数为this对象,不同点是call接受参数列表,apply接受参数数组。

caller,如果一个函数f是在全局作用域内被调用的,则f.caller为null,相反,如果一个函数是在另外一个函数作用域内被调用的,则f.caller指向调用它的那个函数.可以简单的理解为caller指的是他的父函数。如:

function fn(){    console.log(fn.caller);     function fn2(){        console.log(fn2.caller)    }    fn2()}
fn();callee,当函数被调用的时候arguments.callee(匿名函数的时候很好用,可以调用自身)var i = 1;window.onclick = function(){    console.log(1);    if(i<5){        i++;        setTimeout(arguments.callee,200);    }}

本篇讲解了this的相关问题,更多相关内容请关注php中文网。

JS数组、字符串及数学函数

关于JS时间对象和递归问题

一些CSS样式基础知识


关于this的相关问题
  • php全局变量如何使用
  • php全局变量如何使用 | php全局变量如何使用 ...

    关于this的相关问题
  • php request什么意思
  • php request什么意思 | php request什么意思 ...

    关于this的相关问题
  • JQuery中使用Ajax赋值给全局变量失败异常的操作【jquery】
  • JQuery中使用Ajax赋值给全局变量失败异常的操作【jquery】 | JQuery中使用Ajax赋值给全局变量失败异常的操作【jquery】 ...