comparison xml/ru/docs/njs/reference.xml @ 2569:2edc64c05b0e

Removed ECMAScript methods from njs Reference.
author Yaroslav Zhuravlev <yar@nginx.com>
date Tue, 14 Jul 2020 16:44:46 +0100
parents 6093e9f3615e
children 44792f1ee284
comparison
equal deleted inserted replaced
2568:aa015272ea32 2569:2edc64c05b0e
14 <section id="summary"> 14 <section id="summary">
15 15
16 <para> 16 <para>
17 <link doc="index.xml">njs</link> предоставляет объекты, методы и свойства 17 <link doc="index.xml">njs</link> предоставляет объекты, методы и свойства
18 для расширения функциональности nginx. 18 для расширения функциональности nginx.
19 </para>
20
21 <para>
22 Справочник содержит описания методов, свойств и модулей,
23 доступных только в njs и не соответствующих стандарту ECMAScript.
24 Описания методов и свойств njs,
25 соответствующих стандарту, доступны в
26 <link url="http://www.ecma-international.org/ecma-262/">спецификации
27 ECMAScript</link>.
28 Список всех методов и свойств njs доступен в разделе
29 <link doc="compatibility.xml">Совместимость</link>.
19 </para> 30 </para>
20 31
21 </section> 32 </section>
22 33
23 34
589 <list type="tag"> 600 <list type="tag">
590 601
591 <tag-name id="string_bytesfrom"><literal>String.bytesFrom(<value>массив</value> 602 <tag-name id="string_bytesfrom"><literal>String.bytesFrom(<value>массив</value>
592 | <value>строка</value>, <value>кодировка</value>)</literal></tag-name> 603 | <value>строка</value>, <value>кодировка</value>)</literal></tag-name>
593 <tag-desc> 604 <tag-desc>
594 (только в njs) Создаёт байтовую строку или из массива, содержащего октеты, 605 Создаёт байтовую строку или из массива, содержащего октеты,
595 или из кодированной строки 606 или из кодированной строки
596 (<link doc="changes.xml" id="njs0.2.3">0.2.3</link>). 607 (<link doc="changes.xml" id="njs0.2.3">0.2.3</link>).
597 Кодировкой может быть 608 Кодировкой может быть
598 <literal>hex</literal>, 609 <literal>hex</literal>,
599 <literal>base64</literal> и 610 <literal>base64</literal> и
605 >> String.bytesFrom('YnVmZmVy', 'base64') 616 >> String.bytesFrom('YnVmZmVy', 'base64')
606 'buffer' 617 'buffer'
607 </example> 618 </example>
608 </tag-desc> 619 </tag-desc>
609 620
610 <tag-name id="string_fromcharcode"><literal>String.fromCharCode(<value>CharCode1</value>[, ...[,
611 <value>CharCodeN</value>]])</literal></tag-name>
612 <tag-desc>
613 Возвращает строку из одной или более Unicode codepoints.
614 <example>
615 >> String.fromCharCode(97, 98, 99, 100)
616 'abcd'
617 </example>
618 </tag-desc>
619
620 <tag-name id="string_fromcodepoint"><literal>String.fromCodePoint(<value>codePoint1</value>[, ...[,
621 <value>codePoint2</value>]])</literal></tag-name>
622 <tag-desc>
623 Возвращает строку из одной или более Unicode codepoints.
624 <example>
625 >> String.fromCodePoint(97, 98, 99, 100)
626 'abcd'
627 </example>
628 </tag-desc>
629
630 <tag-name id="string_charat"><literal>String.prototype.charAt(<value>индекс</value>)</literal></tag-name>
631 <tag-desc>
632 Возвращает строку, представляющую одну кодовую единицу Unicode
633 внутри указанного <literal>индекса</literal>;
634 пустая строка, если индекс вне диапазона значений.
635 Индекс может быть числом
636 между 0 и длиной строки минус 1.
637 Если индекс не указан, то значение по умолчанию равно <literal>0</literal>,
638 т.е. возвращается первый символ в строке.
639 </tag-desc>
640
641 <tag-name id="string_codepointat"><literal>String.prototype.CodePointAt(<value>позиция</value>)</literal></tag-name>
642 <tag-desc>
643 Возвращает число, представляющее codepoint-значение символа
644 в пределах указанной <literal>позиции</literal>;
645 <literal>undefined</literal>, если элемент в позиции отсутствует.
646 <example>
647 >> 'ABCD'.codePointAt(3);
648 68
649 </example>
650 </tag-desc>
651
652 <tag-name id="string_concat"><literal>String.prototype.concat(<value>строка1</value>[, ...,
653 <value>строкаN</value>])</literal></tag-name>
654 <tag-desc>
655 Возвращает строку, содержающую результат объединения указанных
656 <literal>строк</literal>.
657 <example>
658 >> "a".concat("b", "c")
659 'abc'
660 </example>
661 </tag-desc>
662
663 <tag-name id="string_endswith"><literal>String.prototype.endsWith(<value>ПоисковаяСтрока</value>[,
664 <value>длина</value>])</literal></tag-name>
665 <tag-desc>
666 Возвращает <literal>true</literal>, если строка заканчивается символами
667 указанной строки, иначе <literal>false</literal>.
668 Необязательный параметр <literal>длина</literal> задаёт длину строки.
669 Если <value>ПоисковаяСтрока</value> не указана,
670 значением по умолчанию является длина строки.
671 <example>
672 >> 'abc'.endsWith('abc')
673 true
674 >> 'abca'.endsWith('abc')
675 false
676 </example>
677 </tag-desc>
678
679 <tag-name id="string_frombytes"><literal>String.prototype.fromBytes(<value>начало</value>[, 621 <tag-name id="string_frombytes"><literal>String.prototype.fromBytes(<value>начало</value>[,
680 <value>конец</value>])</literal></tag-name> 622 <value>конец</value>])</literal></tag-name>
681 <tag-desc> 623 <tag-desc>
682 (только в njs) Возвращает новую строку Unicode из байтовой строки, 624 Возвращает новую строку Unicode из байтовой строки,
683 в которой каждый байт заменяется соответствующей Unicode codepoint. 625 в которой каждый байт заменяется соответствующей Unicode codepoint.
684 </tag-desc> 626 </tag-desc>
685 627
686 <tag-name id="string_fromutf8"><literal>String.prototype.fromUTF8(<value>начало</value>[, 628 <tag-name id="string_fromutf8"><literal>String.prototype.fromUTF8(<value>начало</value>[,
687 <value>конец</value>])</literal></tag-name> 629 <value>конец</value>])</literal></tag-name>
688 <tag-desc> 630 <tag-desc>
689 (только в njs) Преобразует байтовую строку, содержащую валидную строку UTF8, 631 Преобразует байтовую строку, содержащую валидную строку UTF8,
690 в строку Unicode, 632 в строку Unicode,
691 иначе возвращается <literal>null</literal>. 633 иначе возвращается <literal>null</literal>.
692 </tag-desc> 634 </tag-desc>
693 635
694 <tag-name id="string_includes"><literal>String.prototype.includes(<value>поисковаяСтрока</value>[,
695 <value>позиция</value>]))</literal></tag-name>
696 <tag-desc>
697 Возвращает <literal>true</literal>, если строка ищется внутри другой строки,
698 иначе <literal>false</literal>.
699 Необязательный параметр <literal>позиция</literal> задаёт позицию
700 внутри строки, от которой начинается поиск для <literal>поисковойСтроки</literal>.
701 Значение по умолчанию равно 0.
702 <example>
703 >> 'abc'.includes('bc')
704 true
705 </example>
706 </tag-desc>
707
708 <tag-name id="string_indexof"><literal>String.prototype.indexOf(<value>поисковаяСтрока</value>[,
709 <value>fromIndex</value>])</literal></tag-name>
710 <tag-desc>
711 Возвращает позицию первого появления
712 <literal>поисковойСтроки</literal>.
713 Поиск начинается с <literal>fromIndex</literal>.
714 Возвращает <value>-1</value>, если значение не найдено.
715 <literal>fromIndex</literal> является числом,
716 значение по умолчанию равно 0.
717 Если <literal>fromIndex</literal> меньше, чем 0
718 или больше, чем
719 <link id="string_length">String.prototype.length</link><value></value>,
720 поиск начнётся на индексе <value>0</value> и
721 <value>String.prototype.length</value>.
722 <example>
723 >> 'abcdef'.indexOf('de', 2)
724 3
725 </example>
726 </tag-desc>
727
728 <tag-name id="string_lastindexof"><literal>String.prototype.lastIndexOf(<value>поисковаяСтрока</value>[,
729 <value>fromIndex</value>])</literal></tag-name>
730 <tag-desc>
731 Возвращает позицию последнего появления
732 of the <literal>поисковойСтроки</literal>,
733 поиск осуществляется в обратном порядке от <literal>fromIndex</literal>.
734 Возвращает <value>-1</value>, если значение не найдено.
735 Если значение <literal>поисковойСтроки</literal> пустое,
736 то возвращается <literal>fromIndex</literal>.
737 <example>
738 >> "nginx".lastIndexOf("gi")
739 1
740 </example>
741 </tag-desc>
742
743 <tag-name id="string_length"><literal>String.prototype.length</literal></tag-name>
744 <tag-desc>
745 Возвращает длину строки.
746 <example>
747 >> 'αβγδ'.length
748 4
749 </example>
750 </tag-desc>
751
752 <tag-name id="string_match"><literal>String.prototype.match([<value>регулярноеВыражение</value>])</literal></tag-name>
753 <tag-desc>
754 Возвращает совпадение при сопоставлении строки с
755 регулярным выражением.
756 <example>
757 >> 'nginx'.match( /ng/i )
758 'ng'
759 </example>
760 </tag-desc>
761
762 <tag-name id="string_padend"><literal>String.prototype.padEnd(<value>длина</value>
763 [, <value>строка</value>])</literal></tag-name>
764 <tag-desc>
765 Возвращает строку указанной длины,
766 добавляя строку в конец указанной
767 строки (<link doc="changes.xml" id="njs0.2.3">0.2.3</link>).
768 <example>
769 >> '1234'.padEnd(8, 'abcd')
770 '1234abcd'
771 </example>
772 </tag-desc>
773
774 <tag-name id="string_padstart"><literal>String.prototype.padStart(<value>длина</value>
775 [, <value>строка</value>])</literal></tag-name>
776 <tag-desc>
777 Возвращает строку указанной длины,
778 добавляя строку к началу указанной
779 строки (<link doc="changes.xml" id="njs0.2.3">0.2.3</link>).
780 <example>
781 >> '1234'.padStart(8, 'abcd')
782 'abcd1234'
783 </example>
784 </tag-desc>
785
786 <tag-name id="string_repeat"><literal>String.prototype.repeat(<value>число</value>)</literal></tag-name>
787 <tag-desc>
788 Возвращает строку
789 с указанным числом копий строки.
790 <example>
791 >> 'abc'.repeat(3)
792 'abcabcabc'
793 </example>
794 </tag-desc>
795
796 <tag-name id="string_replace"><literal>String.prototype.replace([<value>регулярноеВыражение</value>|<value>string</value>[,
797 <value>string</value>|<value>function</value>]])</literal></tag-name>
798 <tag-desc>
799 Возвращает новую строку, которая сопоставляется со
800 строкой или регулярным выражением,
801 и заменяется на <literal>строку</literal> или <literal>функцию</literal>.
802 <example>
803 >> 'abcdefgh'.replace('d', 1)
804 'abc1efgh'
805 </example>
806 </tag-desc>
807
808 <tag-name id="string_search"><literal>String.prototype.search([<value>регулярноеВыражение</value>])</literal></tag-name>
809 <tag-desc>
810 Осуществляет поиск строки при помощи регулярного выражения.
811 <example>
812 >> 'abcdefgh'.search('def')
813 3
814 </example>
815 </tag-desc>
816
817 <tag-name id="string_slice"><literal>String.prototype.slice(<value>начало</value>[,
818 <value>конец</value>])</literal></tag-name>
819 <tag-desc>
820 Возвращает новую строку, содержащую часть
821 исходной строки между <literal>началом</literal>
822 и <literal>концом</literal> или
823 от <literal>начала</literal> до конца строки.
824 <example>
825 >> 'abcdefghijklmno'.slice(NaN, 5)
826 'abcde'
827 </example>
828 </tag-desc>
829
830 <tag-name id="string_split"><literal>String.prototype.split(([<value>строка</value>|<value>регулярноеВыражение</value>[,
831 <value>лимит</value>]]))</literal></tag-name>
832 <tag-desc>
833 Возвращает совпадение строки регулярному выражению.
834 Необязательный параметр <literal>лимит</literal> является числом, задающим
835 ограничение на количество найденных подстрок.
836 <example>
837 >> 'abc'.split('')
838 [
839 'a',
840 'b',
841 'c'
842 ]
843 </example>
844 </tag-desc>
845
846 <tag-name id="string_startswith"><literal>String.prototype.startsWith(<value>поисковаяСтрока</value>[,
847 <value>позиция</value>])</literal></tag-name>
848 <tag-desc>
849 Возвращает <literal>true</literal>, если строка начинается с символов
850 указанной строки, иначе <literal>false</literal>.
851 Необязательный параметр <literal>позиция</literal> является местом
852 в этой строке, с которого начинается поиск <literal>поисковойСтоки</literal>.
853 Значение по умолчанию равно 0.
854 <example>
855 >> 'abc'.startsWith('abc')
856 true
857 > 'aabc'.startsWith('abc')
858 false
859 </example>
860 </tag-desc>
861
862 <tag-name id="string_substr"><literal>String.prototype.substr(<value>начало</value>[,
863 <value>длина</value>])</literal></tag-name>
864 <tag-desc>
865 Возвращает часть строки указанной <literal>длины</literal>
866 от <literal>начала</literal>
867 или от <literal>начала</literal> до конца строки.
868 <example>
869 >> 'abcdefghijklmno'.substr(3, 5)
870 'defgh'
871 </example>
872 </tag-desc>
873
874 <tag-name id="string_substring"><literal>String.prototype.substring(<value>начало</value>[,
875 <value>конец</value>])</literal></tag-name>
876 <tag-desc>
877 Возвращает часть строки между
878 <literal>началом</literal> и <literal>концом</literal> или
879 от от <literal>начала</literal> до конца строки.
880 <example>
881 >> 'abcdefghijklmno'.substring(3, 5)
882 'de'
883 </example>
884 </tag-desc>
885
886 <tag-name id="string_tobytes"><literal>String.prototype.toBytes(начало[, 636 <tag-name id="string_tobytes"><literal>String.prototype.toBytes(начало[,
887 конец])</literal></tag-name> 637 конец])</literal></tag-name>
888 <tag-desc> 638 <tag-desc>
889 (только в njs) Сериализует строку Unicode в байтовую строку. 639 Сериализует строку Unicode в байтовую строку.
890 Возвращает <literal>null</literal>, если в строке найден символ больше, чем 255. 640 Возвращает <literal>null</literal>, если в строке найден символ больше, чем 255.
891 </tag-desc>
892
893 <tag-name id="string_tolowercase"><literal>String.prototype.toLowerCase()</literal></tag-name>
894 <tag-desc>
895 Преобразует строку в нижний регистр.
896 Метод поддерживает только простое свёртывание Unicode.
897 <example>
898 >> 'ΑΒΓΔ'.toLowerCase()
899 'αβγδ'
900 </example>
901 </tag-desc> 641 </tag-desc>
902 642
903 <tag-name><literal>String.prototype.toString([<value>кодировка</value>])</literal></tag-name> 643 <tag-name><literal>String.prototype.toString([<value>кодировка</value>])</literal></tag-name>
904 <tag-desc> 644 <tag-desc>
905 <para> 645 <para>
906 Если кодировка не указана, 646 Если кодировка не указана,
907 возвращает указанную строку Unicode string или байтовую строку как в ECMAScript. 647 возвращает указанную строку Unicode string или байтовую строку как в ECMAScript.
908 </para> 648 </para>
909 649
910 <para> 650 <para>
911 (только в njs) Если кодировка указана, 651 Если кодировка указана,
912 кодирует <link id="string_tobytes">байтовую строку</link> в 652 кодирует <link id="string_tobytes">байтовую строку</link> в
913 <literal>hex</literal>, 653 <literal>hex</literal>,
914 <literal>base64</literal> или 654 <literal>base64</literal> или
915 <literal>base64url</literal>. 655 <literal>base64url</literal>.
916 </para> 656 </para>
918 >> 'αβγδ'.toUTF8().toString('base64url') 658 >> 'αβγδ'.toUTF8().toString('base64url')
919 'zrHOss6zzrQ' 659 'zrHOss6zzrQ'
920 </example> 660 </example>
921 </tag-desc> 661 </tag-desc>
922 662
923 <tag-name id="string_touppercase"><literal>String.prototype.toUpperCase()</literal></tag-name>
924 <tag-desc>
925 Преобразует строку в верхний регистр.
926 Метод поддерживает только простое свёртывание Unicode.
927 <example>
928 >> 'αβγδ'.toUpperCase()
929 'ΑΒΓΔ'
930 </example>
931 </tag-desc>
932
933 <tag-name id="string_toutf8"><literal>String.prototype.toUTF8(<value>начало</value>[, 663 <tag-name id="string_toutf8"><literal>String.prototype.toUTF8(<value>начало</value>[,
934 <value>конец</value>])</literal></tag-name> 664 <value>конец</value>])</literal></tag-name>
935 <tag-desc> 665 <tag-desc>
936 (только в njs) Сериализует строку Unicode 666 Сериализует строку Unicode
937 в байтовую строку при помощи кодирования UTF8. 667 в байтовую строку при помощи кодирования UTF8.
938 <example> 668 <example>
939 >> 'αβγδ'.toUTF8().length 669 >> 'αβγδ'.toUTF8().length
940 8 670 8
941 >> 'αβγδ'.length 671 >> 'αβγδ'.length
942 4 672 4
943 </example> 673 </example>
944 </tag-desc> 674 </tag-desc>
945 675
946 <tag-name id="string_trim"><literal>String.prototype.trim()</literal></tag-name>
947 <tag-desc>
948 Удаляет пробелы в начале и конце строки.
949 <example>
950 >> ' abc '.trim()
951 'abc'
952 </example>
953 </tag-desc>
954
955 <tag-name id="string_trimend"><literal>String.prototype.trimEnd()</literal></tag-name>
956 <tag-desc>
957 Удаляет пробелы в конце строки.
958 (<link doc="changes.xml" id="njs0.3.4">0.3.4</link>).
959 <example>
960 >> ' abc '.trimEnd()
961 ' abc'
962 </example>
963 </tag-desc>
964
965 <tag-name id="string_trimstart"><literal>String.prototype.trimStart()</literal></tag-name>
966 <tag-desc>
967 Удаляет пробелы в начале строки.
968 (<link doc="changes.xml" id="njs0.3.4">0.3.4</link>).
969 <example>
970 >> ' abc '.trimStart()
971 'abc '
972 </example>
973 </tag-desc>
974
975 <tag-name id="encodeuri"><literal>encodeURI(<value>URI</value>)</literal></tag-name>
976 <tag-desc>
977 Кодирует URI путём замены определённых символов
978 на одну, две, три или четыре последовательности,
979 представляющие UTF-8 кодировку символа.
980 <example>
981 >> encodeURI('012αβγδ')
982 '012%CE%B1%CE%B2%CE%B3%CE%B4'
983 </example>
984 </tag-desc>
985
986 <tag-name id="encodeuricomponent"><literal>encodeURIComponent(<value>encodedURIString</value>)</literal></tag-name>
987 <tag-desc>
988 Кодирует URI путём замены определённых символов
989 на одну, две, три или четыре последовательности,
990 представляющие UTF-8 кодировку символа.
991 <example>
992 >> encodeURIComponent('[@?=')
993 '%5B%40%3F%3D'
994 </example>
995 </tag-desc>
996
997 <tag-name id="decodeuri"><literal>decodeURI(<value>encodedURI</value>)</literal></tag-name>
998 <tag-desc>
999 Декодирует ранее <link id="encodeuri">кодированный</link> URI.
1000 <example>
1001 >> decodeURI('012%CE%B1%CE%B2%CE%B3%CE%B4')
1002 '012αβγδ'
1003 </example>
1004 </tag-desc>
1005
1006 <tag-name id="decodeuricomponent"><literal>decodeURIComponent(<value>decodedURIString</value>)</literal></tag-name>
1007 <tag-desc>
1008 Декодирует ранее <link id="encodeuri">кодированный</link> URI.
1009 <example>
1010 >> decodeURIComponent('%5B%40%3F%3D')
1011 '[@?='
1012 </example>
1013 </tag-desc>
1014
1015 </list> 676 </list>
1016 </para> 677 </para>
1017 678
1018 </section> 679 </section>
1019 680