Студопедия

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника



Все переменные конструктораUserстановятся приватными, так как доступны только через замыкание, из внутренних функций.




Читайте также:
  1. D. Через подразнення бульбарного центру
  2. Quot;Шримад-Бхагаватам". Он был настолько поглощен этими играми, что
  3. V. Права и обязанности сотрудников службы авиационной безопасности и сотрудников органа внутренних дел на транспорте при проведении досмотров
  4. Автор работы «Странник» не только практик-сновидящий и одновременно психолог, но и живой носитель одной древней русской линии духовных, мистических знаний.
  5. Б. Г. Голубовский К ЧЕЛОВЕКУ ЧЕРЕЗ ЖИВОТНОЕ
  6. Б. Г. ГолубовскийК ЧЕЛОВЕКУ ЧЕРЕЗ ЖИВОТНОЕ
  7. Банковское кредитование обладает некоторыми специфическими нартами, свойственными только этому виду кредитования.
  8. Бегство через высшие измерения
  9. Билл… ты теперь только мой… только мой, слышишь? Мой, — ставя печать в уголке кровоточащих губ. — Мой, — целуя скулу. — Мой, — меткой на влажных ресницах.
  10. Большое U шамана, ведущее через Нагуаль

Можно ли из this.sayHi получить доступ к name из User и при этом обойтись без переименований?

function User(name) {

 

 

 

this.sayHi = function(name) {

 

// ваш код... ?

 

}

 

}

Напишите конструктор Calculator, который создаёт расширяемые объекты-калькуляторы.

  1. Первый шаг задачи: вызов calculate(str) принимает строку, например «1 + 2», с жёстко заданным форматом «ЧИСЛО операция ЧИСЛО» (по одному пробелу вокруг операции), и возвращает результат. Понимает плюс + и минус-.

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

var calc = new Calculator;

 

 

 

alert(calc.calculate("3 + 7")); // 10
  1. Второй шаг — добавить метод addMethod(name, func), который учит калькулятор новой операции. Он получает имя операции name и функцию от двух аргументов func(a,b), которая должна её реализовывать.

Например, добавим операции умножить *, поделить / и возвести в степень**:

var powerCalc = new Calculator;

 

powerCalc.addMethod("*", function(a, b) { return a * b; });

 

powerCalc.addMethod("/", function(a, b) { return a / b; });

 

powerCalc.addMethod("**", function(a, b) { returnMath.pow(a, b); });

 

 

 

var result = powerCalc.calculate("2 ** 3");

 

alert(result); // 8
  • Поддержка скобок и более сложных математических выражений в этой задаче не требуется.
  • Числа и операции могут состоять из нескольких символов. Между ними ровно один пробел.
  • Предусмотрите обработку ошибок. Какая она должна быть - решите сами.

Итого

У объекта могут быть методы:

  • Свойство, значение которого - функция, называется методом объекта и может быть вызвано как obj.method(). При этом объект доступен как this.

Объекты могут быть созданы при помощи функций-конструкторов:

  • Любая функция может быть вызвана с new, при этом она получает новый пустой объект в качестве this, в который она добавляет свойства. Если функция не решит возвратить свой объект, то её результатом будет this.
  • Функции, которые предназначены для создания объектов, называются конструкторами. Их названия пишут с большой буквы, чтобы отличать от обычных.

 



 

Практическое задание.

 

На страницах с описанием техники (в продолжение лабораторных работ №1 и 2) должен размещаться калькулятор покупки с учётом всех выбранных товаров. Предусмотреть возможность скидок при покупке товаров на сумму свыше какого-либо значения. Итог расчёта должен появиться в элементе вида input или обычной надписи.

 

Вопросы для контроля.

  1. Что такое функция объекта?
  2. Что нужно сделать для создания собственного объекта?
  3. Каким образом создать множество однотипных объектов?
  4. Чем приватные свойства отличаются от общедоступных?
  5. Каким образом создаются методы объектов?
  6. Что такое метод объекта?
  7. Как осуществляется доступ к собственным объектам?

 


Дата добавления: 2015-09-15; просмотров: 6; Нарушение авторских прав







lektsii.com - Лекции.Ком - 2014-2021 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты