首页 > 解决方案 > Leetcode 如何在 Javascript 中创建和使用对象?

问题描述

我正在尝试解决 Leetcode 问题并了解 Javascript 对象。这就是问题。

/**
 * Initialize your data structure here.
 */
var MyHashSet = function() {

};

/** 
 * @param {number} key
 * @return {void}
 */
MyHashSet.prototype.add = function(key) {

};

/** 
 * @param {number} key
 * @return {void}
 */
MyHashSet.prototype.remove = function(key) {

};

/**
 * Returns true if this set contains the specified element 
 * @param {number} key
 * @return {boolean}
 */
MyHashSet.prototype.contains = function(key) {

};

/** 
 * Your MyHashSet object will be instantiated and called as such:
 * var obj = Object.create(MyHashSet).createNew()
 * obj.add(key)
 * obj.remove(key)
 * var param_3 = obj.contains(key)
 */

我对这条线感到困惑:

var obj = Object.create(MyHashSet).createNew()

不应该是 Object.create(MyHashSet.prototype) 吗?

还有 createNew() 来自哪里?

我猜 Leetcode 在幕后做了一些我不理解的魔术。谢谢您的帮助!

标签: javascriptoopobjectinheritance

解决方案


推荐阅读