`
robinqu
  • 浏览: 90262 次
  • 性别: 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方法。
分享到:
评论

相关推荐

    js关键字总结 js关键字总结

    它包含了一系列的关键字、内置对象和方法,这些是理解和编写JavaScript程序的基础。下面将对提供的内容进行详细的解释与扩展。 #### 1. `document.write("")` `document.write()` 是一个在文档流中写入HTML的方法...

    微信小程序 this和that详解及简单实例

    本文将详细解析这两个关键字的用法及其在小程序中的应用场景,并通过实例来帮助开发者理解。 首先,`this` 在 JavaScript 中是一个动态绑定的关键词,它的值取决于函数调用的位置,而不是定义的位置。在微信小程序...

    Google javascript 编码规范指南

    #### 四、编译压缩提示和技巧 - **背景**:随着JavaScript在前端开发中的广泛应用,如何有效地进行代码压缩和优化成为了一个重要的课题。 - **示例**:使用工具如UglifyJS或Google Closure Compiler来进行代码压缩...

    常用javascript语句大全

    字符串大小写转换 ```javascript var str = "hello world"; var upperCaseStr = str.toUpperCase(); // 转换为大写 var lowerCaseStr = str.toLowerCase(); // 转换为小写 ``` `toUpperCase()`方法用于将字符串转换...

    javaScript事件课堂笔记+作业.pdf

    三、this关键字 在JavaScript中,`this`关键字表示当前上下文的对象,即事件发生时调用函数的那个对象。在事件处理函数中,`this`通常是触发事件的HTML元素,可以用来访问和修改元素的属性。 四、内容改变事件 `...

    很有价值的javascript学习笔记

    需要注意的是 JavaScript 区分大小写,例如 `num` 和 `NUM` 是两个不同的变量。 - **变量声明与使用**:声明变量时建议始终使用 `var` 关键字,这样可以避免创建全局变量。另外,在 JavaScript 中,每条语句之后...

    javascript学习整理资料

    18. **事件处理和This关键字**: `this`关键字在JavaScript中表示当前上下文的对象,常用于事件处理函数中,可以动态改变事件属性。 19. **控制台调试工具**: 开发者工具中的控制台是调试JavaScript的重要工具,...

    Javascript常用语句

    #### 十九、提示对话框 使用 `alert()`, `confirm()`, `prompt()` 等方法显示对话框,例如: ```javascript // 显示警告框 window.alert("这是一个警告"); // 显示确认框 var result = window.confirm("确定继续...

    常用JavaScript特效代码.rar

    - 箭头函数:简洁的语法来定义函数,可以更直观地处理this关键字。 - let和const:替代var声明变量,防止变量提升和污染全局作用域。 - 解构赋值:方便地从数组或对象中提取值并赋给变量。 - 类和继承:引入了...

    javascript处理表单大全

    <input type="text" value="" onblur="this.value=this.value.replace(/[^\u4E00-\u9FA5]/g,'')"> ``` 当文本框失去焦点时(`onblur`事件),会执行正则表达式替换操作,将非汉字字符替换为空。 **3. 限制只能输入...

    Javascript验证大全

    ((event.keyCode >= 48 && event.keyCode ) || (event.keyCode >= 96 && event.keyCode ))) // 数字0-9,包括小键盘 event.returnValue = false; } ``` 5. 只能输入英文字符和数字:如果希望输入框接受英文和数字...

    javascript面试题、练习题

    1. **JavaScript中的`this`关键字是如何工作的?** - **答案**:`this` 的指向取决于函数的调用方式。在全局环境中,`this` 指向全局对象(在浏览器中是 `window`)。在函数内部,如果函数作为普通函数被调用,`...

    Javascript数组操作高级心得整理

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

    107 个常用JavaScript

    `window.prompt()` 方法会显示一个提示用户输入的对话框。例如: ```javascript let input = prompt("Please enter your name:"); ``` ### 24. 设置当前页面地址 `window.location.href` 属性可以用来获取或设置...

    107个Javascript基础.

    根据给定文件的信息,我们可以提炼出一系列与JavaScript基础相关的知识点,包括语法、DOM操作、数据类型转换、表单处理以及日期时间的操作等。下面将详细解释这些知识点。 ### 1. 使用`document.write("")` `...

    Javascript基础教程

    - **推荐工具:** Microsoft FrontPage 2000附带的Microsoft脚本编辑器,提供了类似Visual Basic/C++的编程环境,支持代码提示等功能,有助于提高开发效率。 #### 四、JavaScript语法基础 **基本概念:** - **变量...

    javascript

    使用`var`关键字声明变量。 ##### 15. 判断语句 ```javascript if (条件) { // 条件成立执行的代码块 } else { // 条件不成立执行的代码块 } ``` `if...else`语句用于基于条件执行不同的代码块。 ##### 16. 循环...

    百个前端设计常用Javascript语句

    字符串大小写转换 将字符串转换为大写或小写: ```javascript let str = "hello"; let upperCaseStr = str.toUpperCase(); let lowerCaseStr = str.toLowerCase(); ``` #### 37. 字符串查找 查找一个字符串在另一...

    javascript速记手册

    20. **提示对话框**:`window.alert("消息")` 显示警告对话框,`window.confirm()` 显示确认对话框,`window.prompt()` 显示输入对话框。 21. **导航控制**:`window.location.href="URL"` 可以改变当前页面到指定...

Global site tag (gtag.js) - Google Analytics