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

时间:2015-02-15 16:45:22

标签: javascript node.js

我试图用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错了?

2 个答案:

答案 0 :(得分:0)

你在OOP怎么办?

您可能会有以下选择:

  • 通过塞特犬(你已经有了吸气剂)。
  • 通过构造函数。
  • 直接通过字段。

第一个和最后一个是显而易见的。

在第二部分你可能会做类似的事情:

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;
}

答案 1 :(得分:0)

一种方式是:

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);

还有其他方法......