繁体   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