zoukankan      html  css  js  c++  java
  • 你不知道的JS系列 ( 31 ) - 对象属性( 属性和方法 )

    如果访问的对象属性是一个函数,通常被称为‘方法’,把‘属性访问’说成了‘方法访问’。从技术角度来说,函数永远不会‘属于’一个对象,把对象内部引用的函数称为‘方法’似乎有些不妥。函数和对象的关系最多也只能说是间接关系
    属性访问返回的函数和其他函数没有任何区别,除了可能发生的隐式绑定 this
    function foo() {
      console.log('foo');
    }
    var someFoo = foo; // 对 foo 对变量引用
    var myObject = {
      someFoo: foo
    }
    foo; // funciton foo() {...}
    someFoo; // funciton foo() {...}
    myObject.someFoo; // funciton foo() {...}
    someFoo 和 myObject.someFoo 只是对于同一个函数对不同引用,并不能说明这个函数是特别的或者‘属于’某个对象。如果 foo() 定义时在内部有一个 this 引用,那这两个函数引用唯一区别就是 myObject.someFoo 中的 this 会被隐式绑定到一个对象。无论哪种引用形式都不能称之为‘方法’。
    即使在对象的文字形式中声明一个函数表达式,这个函数也不会‘属于’这个对象
    var myObject = {
      foo: function () {
        console.log('foo');
      }
    }
    var someFoo = myObject.foo;
    someFoo; // funciton foo() {...}
    myObject.someFoo; // funciton foo() {...}
  • 相关阅读:
    python反射
    numpy笔记
    leetcode43
    leetcode-42
    The Github Flow
    leetcode-37
    leetcode-41
    leetcode-40
    TCP扫盲2
    字节码分析与操作
  • 原文地址:https://www.cnblogs.com/wzndkj/p/12521844.html
Copyright © 2011-2022 走看看