簡體   English   中英

如何使用JavaScript中的對象文字符號創建類?

[英]How to create class using object literal notation in javascript?

我想用Java Script創建一個類。 我可以使用與原型相結合的基本功能,但我想使用Object Literal Notation。 是否可以使用對象文字表示法創建類?

您不能創建對象的實例(是的,您甚至可以在Javascript中將函數視為對象,但我在談論的是文字定義的對象),必須使用函數來定義可重用的類。

無法完成……嗯,取決於您定義需求參數的方式。 需要被完成? 等待辯論。

以下是我的一位同事的一個想法。

http://bit.ly/18xGdKi [帶有控制台示例的JSBin]

if (typeof (makeClass) === "undefined") {
  makeClass = function(o) {
    var F = function () {};

    if (typeof (o) === "object" && o !== null) {
      if (typeof (o.constructor) === "function") {
        F = o.constructor;
      }

      F.prototype = o;
    }

    return F;
  };
}

var MyClass = makeClass({
  constructor: function (pName) {
    var _myPrivateIdaho = 'Idaho ' + pName;
    this.name = pName;

    var _myPrivateFunc = function() {
      console.log('You are in my ' + 
                  _myPrivateIdaho +'.');
    };

    _myPrivateFunc();
  },
  getName: function() {
    return this.name;
  }
});

new MyClass('Bob');
new MyClass('Steve');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM