Подтвердить что ты не робот

Javascript - Как определить конструктор

У меня есть объект, написанный следующим образом:

Object1.prototype = {
    isInit: false,
    Get : function (){}
} 

Теперь я хотел бы добавить конструктор, который принимает один параметр. Как я могу это сделать?

4b9b3361

Ответ 1

Объявление класса

var User = function(name, age) { // constructor
}

User.prototype = {}

Переменные экземпляра (участники)

var User = function(name, age) {
    this.name = name;
    this.age = age;
}

User.prototype = {}

Статические переменные

var User = function(name, age) {
    this.name = name;
    this.age = age;
}

User.prototype = {
    staticVar: 15,
    anotherStaticVar: 'text'
}

Здесь я определил две статические переменные. Каждый экземпляр пользователя имеет доступ к этим двум переменным. Обратите внимание, что мы можем инициализировать его значением;

Функции экземпляра (методы)

var User = function(name, age) {
    this.name = name;
    this.age = age;
}

User.prototype = {
    getName: function() {
        return this.name;
    },

    setName: function(name) {
        this.name = name;
    }
}

Пример использования:

var user = new User('Mike', 29);
user.setName('John');
alert(user.getName()); //should be 'John'

Статические функции

var User = function(name, age) {
    this.name = name;
    this.age = age;
}

User.create = function(name, age) {
    return new User(name, age);
}

User.prototype = {}

Ответ 2

Предполагая, что под "ctor" вы подразумеваете "конструктор", в JavaScript это просто функция. В этом случае ваш конструктор должен быть сам "Object1" - другими словами, то, что у вас есть, имеет смысл, если вы уже определили "Object1" как функцию.

Таким образом,

function Object1(param) {
  // constructor code
}

будет конструктором для вашего типа.

Теперь есть некоторые библиотеки JavaScript, которые предоставляют уровень полезности для определения классов. С ними вы обычно передаете какой-то объект (например, у вас есть), который включает в себя функцию "init". Библиотеки предоставляют API для создания "классов" и для расширения одного класса от другого.

Ответ 3

Javascript имеет объектную модель на основе прототипа. Проверьте эту страницу wiki mozilla, и вы почувствуете себя намного лучше на земле js.

Ответ 4

Мы можем определить конструктор в javaScript так же, как и мелкая функция, поэтому конструктор - это просто функция.

//function declaration
function func(){}

В случае Contructor Мы используем начальную букву в шапках в конструкции типа

//constructor 
function Func(){}

теперь выполняйте все, что хотите, с помощью своего конструктора

var constructor1 = new Func();

Ответ 5

class CLASS_NAME
{
   private:
         int variable;
   public:
          CLASS_NAME()    //constructor
          {
                 variable = 0;
          }
};