作家
登录

别再为了this发愁了:JS中的this机制

作者: 来源: 2017-04-06 16:04:32 阅读 我要评论

留意,一般构造函数名首字母大年夜写,这琅绫腔有大年夜写的原因是想提示读者,构造函数也是一般的函数罢了。

别再为了this发愁了:JS中的this机制

题记:JavaScript中有很多令仁攀困惑的处所,或者叫做机制。然则,就是这些器械让JavaScript显得那么好梦而与众不合。比方说函数也是对象、闭包、原型链持续等等,而这个中就包含颇让人费解的this机制。不管是新手照样熟手在行,不细心深抠一下还真闹不明白this倒地咋回事捏。今天,我们就一路看一下this倒地咋回事,别再为了this发愁了。

1、this是啥?

简言之,this是JavaScript说话中定义的浩瀚关键字之一,它的特别在于它主动定义于每一个函数域内,然则this倒地指引啥器械却让很多人张二摸不着脑筋。这里我们留个小悬念,欲望看完这篇文┞仿了你能答复出来this到底指引个甚。

2、this有啥用?

  1. function identify() { 
  2.  
  3.     return this.name.toUpperCase(); 
  4.  
  5.  
  6. function sayHello() { 
  7.  
  8.     var greeting = "Hello, I'm " + identify.call( this ); 
  9.  
  10.     console.log( greeting ); 
  11.  
  12.  
  13. var person1= { 
  14.  
  15.     name"Kyle" 
  16.  
  17. }; 
  18.  
  19. var person2= { 
  20.  
  21.     name"Reader" 
  22.  
  23. }; 
  24.  
  25. identify.call( person1); // KYLE 
  26.  
  27. identify.call( person2); // READER 
  28.  
  29. sayHello.call( person1); // Hello, I'm KYLE 
  30.  
  31. sayHello.call( person2); // Hello, I'm READER  

这段代码很简单,我们定义了两个函数,分别为identify和sayHello。并且在不合的对象情况下履行了它们,达到了复竽暌姑的效不雅,而不消为了在不合的对象情况下履行而必须针对不合的对象情况写对应的函数了。简言之,this给函数带来了复竽暌姑。那边客长又问了,我不消this一样可以实现,如:

  1. function identify(context) { 
  2.  
  3.     return context.name.toUpperCase(); 
  4.  
  5.  
  6. function sayHello(context) { 
  7.  
  8.     var greeting = "Hello, I'm " + identify( context); 
  9.  
  10.     console.log( greeting ); 
  11.  
  12.  
  13. var person1= { 
  14.  
  15.     name"Kyle" 
  16.  
  17. }; 
     1/4    1 2 3 4 下一页 尾页

      推荐阅读

      监测和管理:现代数据中心的主要考虑因素

    上个月,我们在《创建数据中间监控筹划的最佳实践筹划》一文中商量了一个异常有趣的话题。然则,似乎关于这方面话题的评论辩论远未停止。在以前的一个月中,我收到了大年夜量关于现代数据>>>详细阅读


    本文标题:别再为了this发愁了:JS中的this机制

    地址:http://www.17bianji.com/lsqh/34612.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)