Каждый объект функции имеет атрибут длины, указывающий количество параметров, которые ожидает функция.
Кода -копия выглядит следующим образом:
<html>
<голова>
<script type = "text/javascript">
var add = function (num1, num2, num3) {
оповещение (num1+num2+num3);
}
оповещение (add.Length);
</script>
</head>
<тело>
</body>
</html>
О создании объектно-ориентированного JS,
Цель:
Создайте объект заказа.
Содержит три атрибута: дата, сумма, отправка
Содержит метод: отображение строки: «xx отправил заказ с квотой: xxxx yuan в xxx-xx-xx»
Один фабричный метод
Кода -копия выглядит следующим образом:
<script type = text/javascript>
/*
Фабричный метод: возвращать объекты с помощью методов, нет необходимости генерировать новые объекты через новые при их использовании.
*/
Function createorder () // Вы также можете создать заводский метод с параметрами для инициализации данных объекта на основе пропущенных параметров.
{
var order = new Object ();
order.date = "1990-1-1";
order.price = "3200";
order.name = "Винс Кени";
order.show = function () // Если вы разместите метод показа на заводе, вы создадите метод показа для каждого экземпляра отдельно. Потратив ресурсы - это недостаток этой модели.
{
оповещение (this.name + "in" + this.date + "порядок с квотой" + this.price + "rmb.")
}
Порядок возвращения;
}
// возвращать объект с помощью заводского режима:
var order = createorder ();
// это также можно использовать таким образом, превращая заводской шаблон в «псевдо-конструктор». Поскольку новый на заводе используется новый оператор при создании объекта будет игнорироваться.
var order2 = new Createorder ();
order.show ();
order2.show ();
</script>
Два метода конструктора
Кода -копия выглядит следующим образом:
/*
Метод конструктора и объявление метода такие же, как и заводской метод, и есть те же проблемы и могут быть извлечены. Разница в том, что это используется для объявления атрибутов.
И вам нужно использовать новый оператор для генерации экземпляра.
*/
функциональный порядок ()
{
this.date = "1990-1-1";
this.price = "3200";
this.name = "Винс Кени";
this.show = function ()
{
оповещение (this.name + "in" + this.date + "порядок с квотой" + this.price + "rmb.")
}
}
var order = new Order ();
order.show ();
Три метода прототипа
Кода -копия выглядит следующим образом:
/*
Метод прототипа: используйте прототип
*/
функциональный порядок ()
{}
Order.prototype.date = "1990-1-1";
Order.prototype.price = "3200";
Order.prototype.name = "Vince Keny";
Order.prototype.show = function ()
{
оповещение (this.name + "in" + this.date + "порядок с квотой" + this.price + "rmb.")
}
var order = new Order ();
order.show ();
Четыре гибридного конструктора/метода прототипа
Кода -копия выглядит следующим образом:
/*
Гибридный метод конструктора/прототипа: инициализируйте поля атрибутов с использованием метода конструктора и используйте метод прототипа для построения методов.
*/
функциональный порядок ()
{
this.date = "1990-1-1";
this.price = "3200";
this.name = "Винс Кени";
}
Order.prototype.show = function ().
{
оповещение (this.name + "in" + this.date + "порядок с квотой" + this.price + "rmb.")
}
var order = new Order ();
order.show ();
Пять динамических гибридных методов
Кода -копия выглядит следующим образом:
/*
Динамический метод смешивания: разница между методом смешивания заключается в положении объявления метода. Положение срока службы метода внутри конструктора в большей степени соответствует объектному ориентированию.
*/
функциональный порядок ()
{
this.date = "1990-1-1";
this.price = "3200";
this.name = "Винс Кени";
if (typeof order._initialized == "не определен")
{
Order.prototype.show = function ().
{
оповещение (this.name + "in" + this.date + "порядок с квотой" + this.price + "rmb.")
};
Order._initialized = true;
}
}
Функциональный автомобиль (Scolor, Idoors) {
var otempcar = новый объект;
otempcar.color = scolor;
otempcar.doors = Idooes;
otempcar.showcolor = function () {
предупреждение (this.color)
};
вернуть otempcar;
}
var ocar1 = новый автомобиль ("Red", 4);
var Ocar2 = новый автомобиль ("синий", 3);
ocar1.showcolor (); // выводы "красный"
ocar2.showcolor (); // выводит "синий"