博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1031 作用域链和this
阅读量:5073 次
发布时间:2019-06-12

本文共 740 字,大约阅读时间需要 2 分钟。

1.作用域链

   作用域链:浏览器给js的一个生存环境(栈内存)。

   作用域链:js中的关键字var和function都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中。然后js从上到下逐行执行,遇到变量就去内存地址查找是否存在这个变量。有就使用,没有就继承向父级作用域查找直到window下结束,这种查找机制叫作用域链。

   js代码中存在着大量的变量和函数,我们在使用它们的时候一定要知道他们到底属于谁。

 

2.this

  1.this是js的一个关键字,指定一个对象然后去替代它。

    函数内的this和函数外的this,函数内的this指向行为发生的主体。函数外的this都指向window没有意思。

 

为什么还是window?

  因为浏览器执行js代码的时候在执行chifan()这个函数的事后查找到变量chifan的归属是window,在window下的变量可以写成window.chifan函数可以写成window.chifan().

  2.函数内的this和函数在什么环境下定义没有关系,而只和自己的主体有关。

  3.主题怎么找?

     就看这个函数(方法)带不带“.",如果函数和方法执行带“.”,那么this就指向”."前面的对象,如果不带“."就指向window。

  4.自执行函数里面的this都指向window.

this和变量的面试题  先找this的主体是谁,然后把他换成那个主体就行了

   5.给元素中的某一个时间绑定方法,当事件触发时,执行绑定的方法,方法中的this指向当前元素。

  重点是函数套函数的时候。

    不要管他怎么定义,看他执行时候的主题。

360经典面试

转载于:https://www.cnblogs.com/xyangjie/p/9892214.html

你可能感兴趣的文章
[GraphQL] Reuse Query Fields with GraphQL Fragments
查看>>
Illustrated C#学习笔记(一)
查看>>
理解oracle中连接和会话
查看>>
两种最常用的Sticky footer布局方式
查看>>
Scrapy实战篇(三)之爬取豆瓣电影短评
查看>>
HDU 5510 Bazinga KMP
查看>>
[13年迁移]Firefox下margin-top问题
查看>>
Zookeeper常用命令 (转)
查看>>
Java程序IP v6与IP v4的设置
查看>>
RUP(Rational Unified Process),统一软件开发过程
查看>>
数据库链路创建方法
查看>>
Enterprise Library - Data Access Application Block 6.0.1304
查看>>
重构代码 —— 函数即变量(Replace temp with Query)
查看>>
Bootstrap栅格学习
查看>>
程序员的数学
查看>>
聚合与组合
查看>>
jQuery如何获得select选中的值?input单选radio选中的值
查看>>
设计模式 之 享元模式
查看>>
如何理解汉诺塔
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>