gpt4 book ai didi

javascript - 将属性或函数附加到函数对象时是否存在任何问题

转载 作者:行者123 更新时间:2023-12-03 05:52:14 26 4
gpt4 key购买 nike

虽然完全有可能将属性或对象附加到函数对象,但我想知道它是否存在任何不那么明显的问题?我似乎在网上找不到任何具体的内容来讨论这个问题。

var f = function(){};
f.blah = function(){};

最佳答案

将属性附加到函数是 Javascript 模拟面向对象编程的核心。

类由函数对象表示,附加到函数对象的属性决定方法、成员和继承。

例如:

Class Animal:
def moves:
print("moves")
def calls:
print("calls")

Class Bird < Animal:
def moves:
print("flies")

Class Ostrich < Bird:
def moves:
print("runs")
def calls:
print("HONK")

在 Javascript 中会这样表示:

var Animal = function() { console.log("Animal constructor"); }
Animal.prototype.moves = function() { console.log("moves"); }
Animal.prototype.calls = function() { console.log("calls"); }

var Bird = function() { Animal.call(this); console.log("Bird constructor"); }
Bird.prototype = Object.create(Animal.prototype);
Bird.prototype.moves = function() { console.log("flies"); }

var Ostrich = function() { Bird.call(this); console.log("Ostrich constructor"); }
Ostrich.prototype = Object.create(Bird.prototype);
Ostrich.prototype.moves = function() { console.log("runs"); }
Ostrich.prototype.calls = function() { console.log("HONK"); }

欲了解更多信息,请查看:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

关于javascript - 将属性或函数附加到函数对象时是否存在任何问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40098945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com