javascript - 带有数据的类如何加载

Posted

技术标签:

【中文标题】javascript - 带有数据的类如何加载【英文标题】:javascript - class with data how to load 【发布时间】:2015-04-16 04:44:32 【问题描述】:

我正在尝试用 javascript 为产品建模:

var Product = ;
Product.getSku = function() 
    return this.sku;

Product.getPrice = function() 
    return this.price

Product.getName = function() 
    return this.name

module.exports = Product;

使用所需属性创建此对象的正确方法是什么?

我是oop背景的,是不是我想js错了?

【问题讨论】:

看看这里:developer.mozilla.org/en-US/docs/Web/JavaScript/… JavaScript OOP in NodeJS: how?的可能重复 【参考方案1】:

你会在 OOP 中表现如何?

您可能会有以下选择:

通过 setter(你已经有了 getter)。 通过构造函数。 直接通过字段。

第一个和最后一个很明显。

在第二个你可能会做这样的事情:

var Product = function(sku, price, name) 
    this.sku = sku;
    this.price = price;
    this.name = name;


var product = new Product(1, 2.34, "FiveSix");

这种方法的一种变体是将对象作为单个参数传递:

var Product = function(data) 
    var productData = data || ;
    this.sku = productData.sku;
    this.price = productData.price;
    this.name = productData.name;

【讨论】:

【参考方案2】:

一种方法是:

function Product(name, sku, price)
    this.name = name;
    this.sku = sku;
    this.price = price;
    this.getSku = function()
        return this.sku;
    
    this.getPrice = function()
        return this.price
    
    this.getName = function()
        return this.name
    


module.exports = new Product("book", "aa123bb456", 6.35);

还有其他方法……

【讨论】:

请不要发布重复的答案。

以上是关于javascript - 带有数据的类如何加载的主要内容,如果未能解决你的问题,请参考以下文章

如何将带有 django 标签的 javascript 代码加载到我的 django 模板中

将视频加载到带有进度条的网页的最佳方法

《类的加载与反射》第2节:类加载器

动态加载 JavaScript 文件

动态加载 JavaScript 文件

Javascript:如何真正重新加载带有锚标记的网站?