`
robinqu
  • 浏览: 88676 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

javascript this 关键字小提示

阅读更多
来自:http://www.macji.com/2009/01/18/javascript-this-keyword-tips/

this指向当前作用域的对象,如果找不到,往上一层找,直到window。

this 关键字很好用,很灵活,正因为很灵活,所以一不小心你就会掉进陷阱,所以你要注意以下几点:

   1. 元素对象的this,始终指向该元素,如事件绑定。
   2. 全局的this或者window的相关方法的this始终指向window对象,如setTimeout(function(){alert(this);}, 10)。
   3. 自己创建的对象({}, new function等)里的this指向自己对象,如var obj = {xxx: function(){alert(this);}}
   4. 匿名函数的this,始终指向window对象,如(function(){alert(this);})();
   5. 想不到还有什么了,望达人补充。

遇到在某function里不能正常使用this时,可以用call或者在其正常的作用域里var _this = this;然后用_this,最鹾的就是直接用对象名来调用。

另给自己定义的对象都应该创建一个属于该对象的 toString方法。
分享到:
评论

相关推荐

    JavaScript详解(第2版)

     13.6.2 表单和按钮中的this关键字   13.6.3 表单和onClick事件处理函数   13.6.4 表单和onFocus、onBlur事件处理函数   13.6.5 表单和onChange事件处理函数   13.6.6 表单和onSubmit事件处理函数  ...

    Javascript数组操作高级心得整理

     JavaScript 对大小写敏感 15  空格 15  换行 15 第二章JavaScript对象 1. JavaScript对象简介 15 (1) JavaScript对象也是有属性和方法的 15  对象属性的使用 15  对象方法的使用 15 (2) 对象的定义与实例...

    javascript函数的解释

    107.定义常量的关键字:const,定义变量的关键字:var 108.isNaN()是JavaScript 的内部函数,对参数进行运算,判断其是否为非数字。若参数为NaN (注释:非数值值),则返回true;否者返回false;parseInt 也是一个...

    JavaScript笔记

    this直接获得当前内容对象。可以代替当前对象完成一切操作,拥有当前对象的所有属性 前端优化:js中最好用三目运算代替if else 11.String: |--查找:x.indexOf(‘关键字’[,开始位置下标]) | 每次只查找第一次...

    107个常用javascript语句

    107.定义常量的关键字:const,定义变量的关键字:var toString(Array.toString 方法) public toString() : String 返回一个字符串值,该值表示所指定的 Array 对象中的元素。数组中的每一个元素(从索引 0 开始到...

    JavaScript高级教程

    3.4.3 关键字 this. 76 3.5 定义类或对象..............................................78 3.5.1 工厂方式..............................................78 3.5.2 构造函数方式...................................

    js使用小技巧

    Javascript小技巧一箩筐 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例038 动态输出JavaScript代码 69 实例039 当数字遇到了字符串 70 实例040 PHP程序员的基础——变量的应用 72 实例041 打印系统环境变量信息print_r($_ENV) 73 实例042 使用可变变量输出“I Like PHP!” 73 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例038 动态输出JavaScript代码 69 实例039 当数字遇到了字符串 70 实例040 PHP程序员的基础——变量的应用 72 实例041 打印系统环境变量信息print_r($_ENV) 73 实例042 使用可变变量输出“I Like PHP!” 73 实例...

    js验证表单 js验证表单

    //考虑小键盘上的数字键 event.returnvalue=false; } ();"> 5. 只能是英文字符和数字 (/[\W]/g,"'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"> 6. ...

    正则表达式

    i (忽略大小写) m (多行查找) vaScript动态正则表达式问题 请问正则表达式可以动态生成吗? 例如JavaScript中: var str = "strTemp"; 要生成: var re = /strTemp/; 如果是字符连接: var re = "/" + str + ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录验证功能(2) 网络用户通过关键字搜索博文功能(3) 最热门博客页面推荐浏览(4) 文章详细内容及相关评论显示(5) 博客...

Global site tag (gtag.js) - Google Analytics