Функция ключевого слова используется для определения функции.
Кода -копия выглядит следующим образом:
// Функция Декларативное определение:
Функция FuncName ([arg1 [, args [..., argn]]]) {
заявления
}
// Определение экспрессии функции:
var funcname = function ([arg1 [, args [..., argn]]]) {
заявления
};
Обратите внимание, что вьющиеся скобки в функциональных операторах требуются, даже если корпус функции содержит только одно утверждение.
В JavaScript функции являются конкретными экземплярами класса функций. И все они обладают свойствами и методами, как и другие ссылки.
Имя функции на самом деле является указателем на объект функции, и функция может использоваться в качестве параметра для участия в передаче параметра и возвратном значении.
Свойства объектов функций
Поскольку функция является экземпляром функции, имя функции является лишь эталонным адресом этого экземпляра. Следовательно, его можно использовать в качестве параметров и возвращаемых значений в процессе передачи параметров функции.
Кода -копия выглядит следующим образом:
функция call_some_function (some_function, some_argument) {
вернуть некоторую_Функцию (some_argument);
}
функция add_10 (num) {
вернуть num + 10;
}
console.log (call_some_function (add_10,20)); // 30
Внутренние свойства функции
аргументы | этот
• Объект аргументов содержит параметры, передаваемые к функции
• Arguments.Length возвращает количество входящих параметров
• Примечание. Атрибут длины представляет количество параметров, полученных по умолчанию при определении функции. Arguments.length представляет количество параметров, полученных при фактической выполнении функции.
Кода -копия выглядит следующим образом:
function test_arguments () {
if (arguments.length == 2) {
console.log (Arguments.length);
console.log (аргументы);
} еще {
console.log (Arguments.length);
console.log (аргументы);
Arguments.callee (4, 5);
};
} (1, 2, 3)
/**
3
{'0': 1, '1': 2, '2': 3}
2
{'0': 4, '1': 5}
**/
• Arguments.callee () в основном используется в ситуации, когда сама функция называется рекурсивными функциями. Разница между JS и другими языками заключается в том, что имя функции является просто указателем и может быть изменено в любое время. Имя функции в функции сильно связано, что может вызвать проблемы, и сама призыв к аргументам.callee () будет избежать этой проблемы.
Кода -копия выглядит следующим образом:
Функция факториала (num) {
if (num <= 1) {
возврат 1;
} еще {
вернуть num * факториал (num - 1);
};
}
функция callee_f (num) {
if (num <= 1) {
возврат 1;
} еще {
вернуть num * arguments.callee (num - 1);
};
}
фактор (10); // работать нормально
f = факториал;
фактор = null;
F (10); //ошибка
callee_f (10); // работать нормально
f = callee_f;
callee_f = null;
F (10); // работать нормально
• Это в основном используется, чтобы помочь функциям обратиться к объектам в области функции.
Кода -копия выглядит следующим образом:
var color = 'red';
функция syacolor () {
console.log (this.color);
}
syacolor (); //красный
var o = new Object ();
o.color = 'blue';
o.saycolor = saycolor;
o.saycolor (); //синий
Call () и Apply ()
call () и Apply () - это собственные методы, которые содержит каждая функция. Ранее упоминалось, что функции являются определенными объектами, поэтому при вызове функций это в функции является вызовом к текущим и более низким переменным. Если вы хотите изменить пространство домена, в котором выполняется функция, вы можете использовать Call () и Apply () для его реализации.
Кода -копия выглядит следующим образом:
Color = 'red';
var o = {color: 'blue'};
Функция showercolor () {
console.log (this.color);
}
saycolor (); //красный
saycolor.call (это); //красный
saycolor.call (o); //синий
Функции app () и call () одинаковы, и разница в основном является разницей в входящих параметрах.
Вызовите (это, para1, prar2, prar3) Первый параметр - это область выполнения функции. Последующий параметр является входным параметром функции, и в последовательности записывается так много раз.
Применить (это, [para1, para2, prara3]) Первый параметр также является применением функции, которая будет выполнена, за которым следует объект массива массива.
Самым большим преимуществом использования Call ()/Apply () для расширения объема является развязка объектов и методов.
Встроенные объекты
Глобальные объекты можно понимать как самый внешний объект, все объекты, а также атрибуты и методы, которые не принадлежат другим объектам, включены в глобальный объект.
* Isnan (x) используется для проверки, является ли параметр x числом. Если false возвращается для номера, верните True иначе
* Isfinite (x) используется для проверки, является ли параметр x бесконечным/малым. Если он бесконечен/мал, он возвращается правдой.
* Parseint (x) используется для пропокатирования строк и возврата целых чисел.
* parsefloat (x) используется для анализа строк и возврата номеров с плавающей запятой
* encodeuri () и encodeuricomponent () выполнит специальную кодировку UTF-8 на строке, избегая некоторых специальных символов для понимания браузера. Основное различие между ними заключается в том, что encodeuri () не кодирует специальные символы, которые принадлежат URI, в то время как encodeuricomponent () кодирует все нестандартные символы, которые он находит.
Кода -копия выглядит следующим образом:
var uri = "http://www.wrox.com/illegal value.htm#start";
//http://www.wrox.com/illegal%20value.htm#start
console.log (encodeuri (uri))
//http%3A%2F%2fwww.wrox.com%2fillegal%20Value.htm%23Start
Console.log (Encodeuricomponent (URI))
• Соответствующие функции декодирования являются decodeuri () и decodeuricomponent ()
• Eval (Script) используется для выполнения содержимого скрипта в интерпретаторе и возврата соответствующего результата. Очень мощно!
Примечание. В браузере объекты Windows инкапсулируют глобальные объекты и выполняют множество дополнительных задач и функций.
Математический объект является еще одним встроенным объектом. Предоставляет функции математического расчета для JavaScript.
Выше всего об этой статье. Надеюсь, вам это понравится, и это будет вам полезно.