`

关于对js的this的几点理解

阅读更多
一、四种不同模式小调用的指向

1.函数调用模式的时候,this指向window

2.方法调用模式的时候,this指向方法所在的对象

3.构造函数模式的时候,this指向新生成的实例

4.apply/call调用模式的时候,this指向apply/call方法中的第一个参数

其中用到最多的应该是2和3了,在js基于对象的编程中这两项应该是最常用的

二、apply和call

1、apply和call的用法

所有的函数都包含这两种方法,可以认为apply和call方法强制函数内的this,指向某一个对象。

2、apply和call的区别

apply和call两者的区别仅在于被调用的函数(方法)内的this引用,this引用的是作为apply/call的第一个参数被传递的对象.而apply与call之间的不同之处在于两者对其他参数的传递方式.

三、下午要做的事

学习jquery。了解jquery的开发方法。
分享到:
评论

相关推荐

    深入理解JavaScript系列(13) This? Yes,this!

    总之,理解JavaScript中的this关键字需要对执行上下文、函数调用方式、以及函数如何被定义和使用有深入的认识。通过本文对this关键字的分析,我们可以得到一个更加清晰和全面的理解,并在实际开发中更加自如地运用。

    Javascript的this详解

    JavaScript中的`this`关键字是一个非常重要的概念,...在编写JavaScript代码时,对`this`的理解有助于避免常见的错误和陷阱。通过深入学习并实践这些规则,可以更好地掌握JavaScript中的`this`用法,从而提高编程能力。

    JS进阶——让你对JS理解更为透彻

    在JS中,类的定义和使用需要注意以下几点: - 类中的函数不需要`function`关键字,直接写函数名即可。 - 函数之间不需要逗号分隔。 - `this`在类的构造函数中指向实例对象,在类的方法中则取决于方法的调用方式,...

    js闭包理解

    构成闭包的条件通常包括以下几点: 1. 一个内部函数。 2. 内部函数引用了外部函数的变量。 3. 外部函数返回了内部函数的引用,或者内部函数作为外部函数的结果被存储或传递。 闭包可以用于各种用途,如延迟执行(例...

    对vue.js中this.$emit的深入理解

    进一步解析代码,我们可以看到以下几点关键点: 1. **自定义组件的定义**:`button-counter`组件定义了一个`template`,其中包含一个按钮,并绑定了`increment`方法到点击事件上。`data`对象包含一个初始值为0的`...

    [JavaScript][PDF][英文版]Oh My JS

    2. Understanding JavaScript Function Invocation and "this"(理解JavaScript函数调用和“this”):这部分内容解释了在JavaScript中函数如何被调用以及如何处理函数中的“this”关键字,这是JavaScript中一个容易...

    几句话带你理解JS中的this、闭包、原型链

    this的绑定规则主要包括以下几点:1.如果函数是通过new关键字调用的构造函数,那么this会指向新创建的对象。2.如果函数是通过call、apply、bind方法调用的,那么this会被绑定到指定的对象上。3.如果函数是通过某个...

    深入理解JavaScript作用域共12页.pdf.zip

    在深入理解JavaScript作用域时,我们需要关注以下几个关键知识点: 1. **全局作用域**:这是程序中默认的作用域,任何在函数外部声明的变量都属于全局作用域,可以在整个代码的任何地方被访问。全局作用域中的变量...

    编写javascript插件,来扩展已有的JavaScript功能.zip

    在编写JavaScript插件时,需要注意以下几点: 1. **封装性**:确保插件代码结构清晰,易于理解和维护。 2. **可扩展性**:设计插件时应考虑未来可能的功能扩展。 3. **兼容性**:考虑到不同浏览器和JavaScript环境的...

    js写的tabcontainer选项卡

    JavaScript(简称JS)是一种轻量级的脚本语言,广泛应用于网页和网络应用开发,能够对用户界面进行实时更新和交互。在Web开发中,选项卡(Tab Container)是一种常见的UI设计模式,它能帮助用户组织和切换多个内容...

    解决vue.js this.$router.push无效的问题

    遇到this.$router.push无效时,应该首先检查以上几点。如果问题依旧无法解决,可以尝试以下解决方案: - 检查控制台是否有错误输出,错误信息可能会提供有用的线索。 - 如果问题可能由Promise的异步特性引起,尝试...

    Angular.JS中的this指向详解

    本文已经对Angular.JS中的this指向做了详细解析,希望读者们能够通过本文的内容,更好地理解和应用this关键字,从而提高Angular.JS开发的效率和代码质量。如果在学习过程中遇到任何疑问,欢迎在文章下方留言,我们将...

    实例浅析js的this

    关于这个东西,博客园里面有太多的解释了,不过,本人看了一下,感觉对this解释的有点复杂了,因此,本人在此给this一个简单易于理解的定义。 this其实是js的一个对象,至于是什么对象呢?很简单,this这个对象就是...

    js-leetcode题解之LRU缓存-题解.zip

    在实现这些方法时,需要注意以下几点: - 当添加新的键值对时,需要检查当前缓存是否已满。如果是,需要从链表头部(最旧的元素)开始删除一个节点。 - 在链表中,新添加或访问过的节点应该被移动到链表尾部,表示...

    javascript高级编程v3

    JavaScript高级编程通常涉及以下几个关键知识点: 1. **基础语法**:包括变量声明(var, let, const)、数据类型(基本类型与引用类型)、运算符、流程控制(条件语句、循环语句)、函数以及作用域等。 2. **面向...

    探寻JavaScript中this指针指向

    需要注意的是,在JavaScript中,函数的`this`指向并非一定指向调用它的对象,还有其他几种情况也会对`this`的指向产生影响。例如,当使用构造函数创建对象时,`this`会指向新创建的对象实例;使用箭头函数时,`this`...

    JavaScript 学习 - 提高篇

    在 JavaScript 中创建对象主要有几种方式:使用 `new Object()` 构造函数、对象字面量以及自定义构造函数。下面将详细介绍这些方法。 1. **使用 `new Object()` 构造函数** ```javascript var book = new Object...

    input输入框的几种js

    根据给定的信息,我们可以总结出以下关于不同类型的Input输入框及JavaScript控制的详细知识点: ### 1. 文本框只能输入数字(不允许小数点) 为了实现文本框只能输入数字且不能包含小数点的功能,可以使用正则...

    JavaScript类库大全

    根据给定的文件信息,我们可以总结出以下关于 JavaScript 类库的相关知识点: ### 一、概述 在《JavaScript类库大全》这一文档中,主要介绍了一系列的JavaScript类库及其使用方法。文档强调用户无需记住所有细节,...

    js连接sqlite代码

    连接SQLite的基本步骤通常包括以下几点: 1. **安装SQLite库**:在Node.js环境中,我们需要首先安装一个能支持JS与SQLite交互的库,如`sqlite3`。这可以通过npm(Node包管理器)完成,命令是: ``` npm install ...

Global site tag (gtag.js) - Google Analytics