Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Язык программирования javascript 16.02.12.doc
Скачиваний:
7
Добавлен:
31.08.2019
Размер:
2.86 Mб
Скачать

Перебор свойств, кроме унаследованных

Для перебора всех свойств объекта, кроме унаследованных, используется конструкция for..in с дополнительной проверкой.

for(var prop in object) {

// если свойство унаследовано – continue

if (!object.hasOwnProperty(prop)) continue

// работа с prop

...

}

В следующем примере свойство print участвовало бы в цикле, если бы там не было проверки.

Пример: перебор без унаследованных свойств

показать чистый исходник в новом окне Скрыть/показать номера строк печать кода с сохранением подсветки

Object.prototype.print = function() {

document.write(this)

}

var a = {

p1: 1,

p2: 2

}

for(var p in a) {

if (!a.hasOwnProperty(p)) continue

alert(p)

}

Оператор function

Объявляет функции языка JavaScript, требует указания имени name и списка параметров param. Для того чтобы возвращать значение, функция должна иметь в себе оператор return, который указывает возвращаемое функцией значение. Оператор функции нельзя вкладывать в другую функцию. Принято следующее написание этого оператора:

function name([param] [, param] [..., param])

{

...statements...

}

Примеры

Эта функция возвращает общую долларовую сумму продажи, когда дано число единиц, продаваемых изделий a, b, и c.

function calc_sales(units_a, units_b, units_c) {

return units_a*79 + units_b*129 + units_c*699}

Оператор if...Else

Оператор if...else - это условный оператор, который выполняет первый набор утверждений, если значение condition истинно. В противном случае выполняет второй набор утверждений, заключенные в операторе else, если условие ложно. Если набор утверждений (statments), заключенные в фигурные скобки { } содержит один оператор, то скобки можно опустить. Условные операторы могут быть вложены друг в друга без ограничений.

if (condition) {

...statements...

}[else {

else

...statements...

}]

Примеры

Следующая функция преобразует значение минут текущего времени в двузначное число для использования в программе "Часы":

fanction makeMinutes() {

var minstring="";

var now = new Date();

var min = Date.getMinutes();

if (min<10) {

minstring+=":0"+min;}

else{

minstring+=":"+min;}

return minstring

}

Оператор return

Оператор return указывает значение, которое будет возвращено функцией.

return expression;

Примеры

Следующая функция возвращает квадрат ее аргумента, x, где x - это число:

function square( x ) {

return x * x

}

Нижеприведенный пример соединяет три строки вместе, используя в качестве разделителя запятую:

function stringAssemble(string1,string2,string3) {

return string1+","+string2+","+string3

}

Оператор var

Оператор var объявляет переменную varname и дополнительно может присваивать ей значение. Имя переменной varname может быть любой идентификатор, и значение может быть любое выражение. Область действия переменных, является текущая функция или, если переменные, объявленные вне функции, то весь текущий документ.

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

var VariableName [= value] [..., VariableName [= value] ]

Примеры

var num_hits = 0, cust_no = 0

Приведем пример, когда переменная globalString может быть использована в любой функции или скрипте текущего документа, а переменная localString видна только внутри функции bracket:

var globalString

function bracket(){

var localString="["+globalString+"]";

document.write(localString);

}