资讯专栏INFORMATION COLUMN

初步了解this

Fundebug / 2143人阅读

摘要:在面向对象编程中,指针的指向我经常弄不清楚,看了几篇博客之后,乘有了一点点了解,赶快做笔记记录下来。函数调用模式当一个函数不是作为一个对象的属性被调用时就是函数调用,这时就会指向对象。

在面向对象编程中,this指针的指向我经常弄不清楚,看了几篇博客之后,乘有了一点点了解,赶快做笔记记录下来。
this的指向取决于调用的模式,而在js中有4中调用模式:方法调用模式,函数调用模式,构造函数调用模式,apply调用模式

方法调用模式

当一个函数是作为一个对象的属性被调用时,this会指向该属性所属的对象。
var name = "window";
var people = {
    name : "jeck",
    age : function(){
        return this.name
    }
};
people.age();        //jeck

函数调用模式

当一个函数不是作为一个对象的属性被调用时就是函数调用,这时this就会指向window对象。
var name = "window";
var people = {
    name : "jeck",
    age : function(){
        (function(){
            var name = "andy";
            console.log(this.name)
        })
    }
};
people.age();        //window

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/79867.html

相关文章

  • jQuery(一)-- 初步了解

    摘要:一初步了解介绍由创建于年一月的开源项目,凭借着跨平台的兼容性,简洁的语法,极大的简化了人员遍历文档,操作,处理事件,执行动画,和开发的操作。只建立一个名为的对象。对发生在同一个对象上的一组动作,可以直接连写无需重复获取对象。 jQuery(一)-- 初步了解 jQuery介绍 由John Resig创建于2006年一月的开源项目,jQuery凭借着跨平台的兼容性,简洁的语法,极大的简...

    quietin 评论0 收藏0
  • 初步了解Promise

    摘要:定义或的别名,用于指定发生错误时的回调函数。无法取消,一旦新建立即执行若不设置回调函数,则内部抛出的异常反应不到外部状态无法得知进展。 问题来了 Promise 有几种状态?Promise 有什么优缺点?Promise构造函数是同步还是异步执行,then呢?Promise和setTimeout的区别?如何实现 Promise.all?如何实现 Promise.finally? Prom...

    timger 评论0 收藏0
  • Vue初步了解组件——父子组件

    摘要:父组件的数据需要通过才能下发到子组件中。这是为了防止子组件无意间修改了父组件的状态,来避免应用的数据流变得难以理解。另外,每次父组件更新时,子组件的所有都会更新为最新值。 组件 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能。在有些情况...

    Bowman_han 评论0 收藏0
  • Spring Boot - 表单校验(JSR303&Hibernate Validator)

    摘要:初步使用主要使用注解的方式对进行校验,第一个例子在需要校验的字段上指定约束条件然后在中可以这样调用,加上注解即可。如果校验失败,默认会返回框架的出错信息。指定到的分组名会全部进行校验,不指定的不校验。 Spring Boot - 表单校验(JSR303&Hibernate Validator) 回顾 Spring Boot - 初识 Hello World Spring Boot -...

    tinyq 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<