专栏首页快乐八哥JavaScript中this关键字使用

JavaScript中this关键字使用

在Web开发中,前端掌握JavaScript,后台掌握PHP成为一个趋势。当然后台掌握C#/Java,当然还有Python,Ruby其中的一种,都是可以的。其实现在成熟的企业开发,移动mobile web开发都属于Web开发的大家庭。不过企业开发更多注重业务的逻辑性,同时要保持产品开发的稳定性,同时易于和其他现有的产品集成。所以企业级开发中级开发中使用Java来做的企业特别多。

JavaScript作为一门优秀的前端开发语言,当然现在Node.js也将JavaScript开发扩展到服务器上。目前国内和国外都有很人在使用Node.js来开发,当然目前还未出现重量级的产品。

JavaScript中的this关键字经常被开发者滥用。我刚进入项目组,看到很多如下写法:

_this=this;
<!-- .csharpcode, .csharpcode pre { 	font-size: small; 	color: black; 	font-family: consolas, "Courier New", courier, monospace; 	background-color: #ffffff; 	/*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt  { 	background-color: #f4f4f4; 	width: 100%; 	margin: 0em; } .csharpcode .lnum { color: #606060; } -->

所以经常调用其他开发者些的函数时,自己总是丈二的和尚,摸不着头。this关键字可以作为对象方法调用,作为函数调用,作为构造函数调用,最后还可以使用apply或call调用。

1.作为对象方法调用

2.作为函数调用

3.作为构造函数调用

4.使用apply或call方法调用

参考网站:

1. http://www.ibm.com/developerworks/cn/web/1207_wangqf_jsthis/

2. http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html

3. http://msdn.microsoft.com/zh-cn/magazine/cc163419.aspx

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Javascript对象的方法赋值

    Javascript对象编程学习中,一直不能很好的掌握对象的属性(property)和方法(method)。今天在写代码过程中,又犯了一个低级错误。 <!DOC...

    八哥
  • 让IE7/8使用CSS中first-child和last-child样式属性

    项目最终效果如下图所示: ? 可以看出2个tab之间有一天分割线,这条分割线没有使用单独的div或者span。而是使用li标签的border-right。但是最...

    八哥
  • 使用jQuery Tools scrollable注意事项

    项目开发中一直使用jQuery Tools中scrollable插件,一直也只是停留在使用上,最多看文档实现如何调用它的prev(spped)和next(spe...

    八哥
  • MySQL5.7之开启远程连接 原

    (adsbygoogle = window.adsbygoogle || []).push({});

    克虏伯
  • 使用jQuery的animate方法制作滑动菜单

    周末看Ziv小威的博客《制作滑动条菜单,如何延时处理滑动效果,避免动画卡顿》,参见地址:http://www.cnblogs.com/zivxiaowei/p/...

    八哥
  • 在win10下安装eclipse 原

    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h...

    拓荒者
  • http和https区别

    HTTP  :是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以...

    ydymz
  • 一日一工具|ssh加固之fail2ban

    很多时候,常识性的认知会让我们觉得我机器没有公网 IP,只对外映射特定的端口出去,安全等级会上升很高,殊不知很多时候,内部员工的一些操作(在开发机器上下载未知来...

    追马
  • 如何在腾讯云上安装 MapD 的 GPU 可视化数据库

    MapD Technologies将MapD Core数据库进行开源啦。MapD是使用图形处理单元(GPU)以毫秒为单位分析数十亿行数据的先驱,比传统的基于CP...

    YingJoy_
  • ​一个matepc,mateos,mateapp的goblinux融合体系设计

    本文关键字:将桌面环境,toolchain设计为subsystem,rootfs as Xaas,rootfs层次的虚拟化,非Virtual OS Infras...

    minlearn

扫码关注云+社区

领取腾讯云代金券