From cb9e359a51c3249d8f5157db69d43fd413ddeda6 Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:45:12 +0100 Subject: unslug ca: move --- .../tutorial/advanced_animations/index.html | 380 +++++++++ .../animacions_avan\303\247ades/index.html" | 380 --------- .../animacions_b\303\240siques/index.html" | 335 -------- .../tutorial/aplicar_estils_i_colors/index.html | 733 ------------------ .../tutorial/applying_styles_and_colors/index.html | 733 ++++++++++++++++++ .../tutorial/basic_animations/index.html | 335 ++++++++ .../api/canvas_api/tutorial/basic_usage/index.html | 158 ++++ .../tutorial/composici\303\263/index.html" | 113 --- .../api/canvas_api/tutorial/compositing/index.html | 113 +++ .../canvas_api/tutorial/dibuixar_text/index.html | 165 ---- .../canvas_api/tutorial/drawing_text/index.html | 165 ++++ .../manipular_p\303\255xels_amb_canvas/index.html" | 307 -------- .../pixel_manipulation_with_canvas/index.html | 307 ++++++++ .../canvas_api/tutorial/transformacions/index.html | 290 ------- .../canvas_api/tutorial/transformations/index.html | 290 +++++++ .../tutorial/\303\272s_b\303\240sic/index.html" | 158 ---- files/ca/web/css/_colon_any/index.html | 198 ----- files/ca/web/css/_colon_is/index.html | 198 +++++ .../web/css/adjacent_sibling_combinator/index.html | 135 ++++ files/ca/web/css/attribute_selectors/index.html | 250 ++++++ files/ca/web/css/child_combinator/index.html | 135 ++++ files/ca/web/css/class_selectors/index.html | 139 ++++ .../dominar_el_col.lapse_del_marge/index.html | 89 --- .../index.html" | 67 -- .../introduction_to_the_css_box_model/index.html | 67 ++ .../mastering_margin_collapsing/index.html | 89 +++ files/ca/web/css/css_selectors/index.html | 156 ++++ .../index.html | 69 ++ files/ca/web/css/descendant_combinator/index.html | 170 +++++ .../web/css/general_sibling_combinator/index.html | 129 ++++ files/ca/web/css/id_selectors/index.html | 134 ++++ files/ca/web/css/reference/index.html | 206 +++++ .../ca/web/css/refer\303\251ncia_css/index.html" | 206 ----- files/ca/web/css/selectors_css/index.html | 156 ---- .../index.html | 69 -- files/ca/web/css/selectors_d'atribut/index.html | 250 ------ files/ca/web/css/selectors_de_classe/index.html | 139 ---- .../ca/web/css/selectors_de_descendents/index.html | 170 ----- files/ca/web/css/selectors_de_fills/index.html | 135 ---- .../css/selectors_de_germans_adjacents/index.html | 135 ---- files/ca/web/css/selectors_de_tipus/index.html | 135 ---- .../css/selectors_general_de_germans/index.html | 129 ---- files/ca/web/css/selectors_id/index.html | 134 ---- files/ca/web/css/selectors_universal/index.html | 176 ----- files/ca/web/css/sintaxi/index.html | 79 -- files/ca/web/css/syntax/index.html | 79 ++ files/ca/web/css/type_selectors/index.html | 135 ++++ files/ca/web/css/universal_selectors/index.html | 176 +++++ files/ca/web/guide/ajax/getting_started/index.html | 192 +++++ files/ca/web/guide/ajax/primers_passos/index.html | 192 ----- .../web/guide/css/inici_en_css/caixes/index.html | 342 --------- .../cascada_i_her\303\250ncia/index.html" | 151 ---- .../ca/web/guide/css/inici_en_css/color/index.html | 354 --------- .../inici_en_css/com_funciona_el_css/index.html | 130 ---- .../guide/css/inici_en_css/css_llegible/index.html | 174 ----- .../web/guide/css/inici_en_css/disseny/index.html | 383 ---------- .../css/inici_en_css/estils_de_text/index.html | 162 ---- files/ca/web/guide/css/inici_en_css/index.html | 56 -- .../guide/css/inici_en_css/javascript/index.html | 147 ---- .../web/guide/css/inici_en_css/llistes/index.html | 276 ------- .../css/inici_en_css/mitj\303\240/index.html" | 402 ---------- .../per_qu\303\250_utilitzar_css/index.html" | 111 --- .../css/inici_en_css/que_\303\251s_css/index.html" | 120 --- .../guide/css/inici_en_css/selectors/index.html | 456 ----------- .../guide/css/inici_en_css/svg_i_css/index.html | 223 ------ .../web/guide/css/inici_en_css/taules/index.html | 475 ------------ files/ca/web/guide/graphics/index.html | 49 ++ "files/ca/web/guide/gr\303\240fics/index.html" | 49 -- .../index.html" | 186 ----- .../us_de_seccions_i_esquemes_en_html/index.html | 341 --------- .../using_html_sections_and_outlines/index.html | 341 +++++++++ .../web/guide/mobile/a_hybrid_approach/index.html | 43 ++ files/ca/web/guide/mobile/index.html | 18 + .../guide/mobile/mobile-friendliness/index.html | 30 + .../ca/web/guide/mobile/separate_sites/index.html | 31 + files/ca/web/html/element/command/index.html | 156 ---- files/ca/web/html/element/element/index.html | 93 --- .../web/html/elements_en_l\303\255nia/index.html" | 82 -- .../web/html/global_attributes/dropzone/index.html | 99 --- files/ca/web/html/inline_elements/index.html | 82 ++ .../index.html | 29 - .../ca/web/javascript/about_javascript/index.html | 55 ++ .../guide/expressions_and_operators/index.html | 846 +++++++++++++++++++++ .../guide/expressions_i_operadors/index.html | 846 --------------------- .../guide/introducci\303\263/index.html" | 140 ---- .../web/javascript/guide/introduction/index.html | 140 ++++ .../index.html" | 362 --------- .../web/javascript/quant_a_javascript/index.html | 55 -- files/ca/web/javascript/reference/about/index.html | 44 ++ .../reference/classes/constructor/index.html | 129 ++++ .../ca/web/javascript/reference/classes/index.html | 382 ++++++++++ .../javascript/reference/classes/static/index.html | 116 +++ .../reference/errors/nomes-lectura/index.html | 78 -- .../reference/errors/read-only/index.html | 78 ++ .../reference/functions/parameters_rest/index.html | 156 ---- .../reference/functions/rest_parameters/index.html | 156 ++++ .../global_objects/array/entries/index.html | 105 +++ .../global_objects/array/every/index.html | 220 ++++++ .../reference/global_objects/array/fill/index.html | 173 +++++ .../global_objects/array/filter/index.html | 213 ++++++ .../reference/global_objects/array/find/index.html | 191 +++++ .../global_objects/array/findindex/index.html | 173 +++++ .../global_objects/array/foreach/index.html | 238 ++++++ .../global_objects/array/includes/index.html | 158 ++++ .../reference/global_objects/array/index.html | 482 ++++++++++++ .../global_objects/array/indexof/index.html | 235 ++++++ .../global_objects/array/isarray/index.html | 135 ++++ .../reference/global_objects/array/join/index.html | 123 +++ .../reference/global_objects/array/keys/index.html | 115 +++ .../global_objects/array/lastindexof/index.html | 197 +++++ .../global_objects/array/length/index.html | 128 ++++ .../reference/global_objects/array/map/index.html | 317 ++++++++ .../reference/global_objects/array/of/index.html | 120 +++ .../reference/global_objects/array/pop/index.html | 123 +++ .../reference/global_objects/array/push/index.html | 146 ++++ .../global_objects/array/reduce/index.html | 304 ++++++++ .../global_objects/array/reverse/index.html | 119 +++ .../global_objects/array/shift/index.html | 129 ++++ .../global_objects/array/slice/index.html | 268 +++++++ .../reference/global_objects/array/some/index.html | 213 ++++++ .../global_objects/array/splice/index.html | 171 +++++ .../reference/global_objects/boolean/index.html | 196 +++++ .../global_objects/boolean/tosource/index.html | 98 +++ .../global_objects/boolean/tostring/index.html | 121 +++ .../global_objects/boolean/valueof/index.html | 117 +++ .../global_objects/dataview/prototype/index.html | 147 ---- .../global_objects/date/getdate/index.html | 119 +++ .../global_objects/date/getday/index.html | 121 +++ .../global_objects/date/getfullyear/index.html | 121 +++ .../global_objects/date/gethours/index.html | 120 +++ .../global_objects/date/getmilliseconds/index.html | 118 +++ .../global_objects/date/getminutes/index.html | 120 +++ .../global_objects/date/getmonth/index.html | 120 +++ .../global_objects/date/getseconds/index.html | 120 +++ .../global_objects/date/gettime/index.html | 135 ++++ .../date/gettimezoneoffset/index.html | 109 +++ .../global_objects/date/getutcdate/index.html | 119 +++ .../global_objects/date/getutcday/index.html | 119 +++ .../global_objects/date/getutcfullyear/index.html | 118 +++ .../global_objects/date/getutchours/index.html | 118 +++ .../date/getutcmilliseconds/index.html | 116 +++ .../global_objects/date/getutcminutes/index.html | 116 +++ .../global_objects/date/getutcmonth/index.html | 116 +++ .../global_objects/date/getutcseconds/index.html | 118 +++ .../global_objects/date/getyear/index.html | 162 ++++ .../reference/global_objects/date/index.html | 250 ++++++ .../reference/global_objects/date/now/index.html | 126 +++ .../global_objects/date/setdate/index.html | 122 +++ .../global_objects/date/setfullyear/index.html | 128 ++++ .../global_objects/date/sethours/index.html | 129 ++++ .../global_objects/date/setmilliseconds/index.html | 117 +++ .../global_objects/date/setminutes/index.html | 127 ++++ .../global_objects/date/setmonth/index.html | 126 +++ .../global_objects/date/setseconds/index.html | 125 +++ .../global_objects/date/settime/index.html | 118 +++ .../global_objects/date/setutcdate/index.html | 119 +++ .../global_objects/date/setutcfullyear/index.html | 123 +++ .../global_objects/date/setutchours/index.html | 125 +++ .../date/setutcmilliseconds/index.html | 117 +++ .../global_objects/date/setutcminutes/index.html | 123 +++ .../global_objects/date/setutcmonth/index.html | 121 +++ .../global_objects/date/setutcseconds/index.html | 121 +++ .../global_objects/date/setyear/index.html | 124 +++ .../global_objects/date/todatestring/index.html | 115 +++ .../global_objects/date/togmtstring/index.html | 115 +++ .../global_objects/date/toisostring/index.html | 134 ++++ .../global_objects/date/tojson/index.html | 108 +++ .../global_objects/date/tostring/index.html | 142 ++++ .../global_objects/date/totimestring/index.html | 115 +++ .../reference/global_objects/date/utc/index.html | 142 ++++ .../global_objects/date/valueof/index.html | 118 +++ .../global_objects/error/columnnumber/index.html | 83 ++ .../global_objects/error/filename/index.html | 87 +++ .../reference/global_objects/error/index.html | 224 ++++++ .../global_objects/error/linenumber/index.html | 94 +++ .../global_objects/error/message/index.html | 110 +++ .../reference/global_objects/error/name/index.html | 111 +++ .../global_objects/error/stack/index.html | 161 ++++ .../global_objects/error/tosource/index.html | 91 +++ .../global_objects/error/tostring/index.html | 146 ++++ .../global_objects/evalerror/prototype/index.html | 124 --- .../javascript/reference/global_objects/index.html | 167 ++++ .../reference/global_objects/infinity/index.html | 114 +++ .../reference/global_objects/json/index.html | 242 ++++++ .../reference/global_objects/map/clear/index.html | 104 +++ .../reference/global_objects/map/delete/index.html | 109 +++ .../global_objects/map/entries/index.html | 104 +++ .../global_objects/map/foreach/index.html | 136 ++++ .../reference/global_objects/map/get/index.html | 116 +++ .../reference/global_objects/map/has/index.html | 114 +++ .../reference/global_objects/map/index.html | 385 ++++++++++ .../reference/global_objects/map/keys/index.html | 104 +++ .../reference/global_objects/map/set/index.html | 122 +++ .../reference/global_objects/map/size/index.html | 105 +++ .../reference/global_objects/map/values/index.html | 103 +++ .../reference/global_objects/math/abs/index.html | 129 ++++ .../reference/global_objects/math/acos/index.html | 131 ++++ .../reference/global_objects/math/acosh/index.html | 126 +++ .../reference/global_objects/math/asin/index.html | 133 ++++ .../reference/global_objects/math/asinh/index.html | 125 +++ .../reference/global_objects/math/atan/index.html | 127 ++++ .../reference/global_objects/math/atan2/index.html | 139 ++++ .../reference/global_objects/math/atanh/index.html | 127 ++++ .../reference/global_objects/math/cbrt/index.html | 122 +++ .../reference/global_objects/math/ceil/index.html | 197 +++++ .../reference/global_objects/math/clz32/index.html | 155 ++++ .../reference/global_objects/math/cos/index.html | 128 ++++ .../reference/global_objects/math/cosh/index.html | 130 ++++ .../reference/global_objects/math/e/index.html | 118 +++ .../reference/global_objects/math/exp/index.html | 123 +++ .../reference/global_objects/math/expm1/index.html | 122 +++ .../reference/global_objects/math/floor/index.html | 194 +++++ .../global_objects/math/fround/index.html | 118 +++ .../reference/global_objects/math/hypot/index.html | 139 ++++ .../reference/global_objects/math/imul/index.html | 120 +++ .../reference/global_objects/math/index.html | 205 +++++ .../reference/global_objects/math/ln10/index.html | 118 +++ .../reference/global_objects/math/ln2/index.html | 118 +++ .../reference/global_objects/math/log/index.html | 137 ++++ .../reference/global_objects/math/log10/index.html | 126 +++ .../global_objects/math/log10e/index.html | 118 +++ .../reference/global_objects/math/log1p/index.html | 125 +++ .../reference/global_objects/math/log2/index.html | 127 ++++ .../reference/global_objects/math/log2e/index.html | 118 +++ .../reference/global_objects/math/max/index.html | 134 ++++ .../reference/global_objects/math/min/index.html | 140 ++++ .../reference/global_objects/math/pi/index.html | 116 +++ .../reference/global_objects/math/pow/index.html | 140 ++++ .../global_objects/math/random/index.html | 126 +++ .../reference/global_objects/math/round/index.html | 207 +++++ .../reference/global_objects/math/sign/index.html | 131 ++++ .../reference/global_objects/math/sin/index.html | 127 ++++ .../reference/global_objects/math/sinh/index.html | 129 ++++ .../reference/global_objects/math/sqrt/index.html | 127 ++++ .../global_objects/math/sqrt1_2/index.html | 117 +++ .../reference/global_objects/math/sqrt2/index.html | 117 +++ .../reference/global_objects/math/tan/index.html | 140 ++++ .../reference/global_objects/math/tanh/index.html | 142 ++++ .../reference/global_objects/math/trunc/index.html | 129 ++++ .../reference/global_objects/nan/index.html | 125 +++ .../reference/global_objects/null/index.html | 125 +++ .../global_objects/number/epsilon/index.html | 102 +++ .../reference/global_objects/number/index.html | 214 ++++++ .../global_objects/number/isfinite/index.html | 118 +++ .../global_objects/number/isinteger/index.html | 118 +++ .../global_objects/number/isnan/index.html | 129 ++++ .../global_objects/number/issafeinteger/index.html | 117 +++ .../number/max_safe_integer/index.html | 100 +++ .../global_objects/number/max_value/index.html | 118 +++ .../number/min_safe_integer/index.html | 100 +++ .../global_objects/number/min_value/index.html | 118 +++ .../reference/global_objects/number/nan/index.html | 100 +++ .../number/negative_infinity/index.html | 134 ++++ .../global_objects/number/parsefloat/index.html | 103 +++ .../global_objects/number/parseint/index.html | 102 +++ .../number/positive_infinity/index.html | 137 ++++ .../global_objects/number/toexponential/index.html | 136 ++++ .../global_objects/number/tofixed/index.html | 135 ++++ .../global_objects/number/toprecision/index.html | 134 ++++ .../global_objects/number/tostring/index.html | 141 ++++ .../global_objects/object/prototype/index.html | 215 ------ .../reference/global_objects/parsefloat/index.html | 166 ++++ .../reference/global_objects/set/add/index.html | 119 +++ .../reference/global_objects/set/clear/index.html | 105 +++ .../reference/global_objects/set/delete/index.html | 112 +++ .../global_objects/set/entries/index.html | 104 +++ .../reference/global_objects/set/has/index.html | 114 +++ .../reference/global_objects/set/index.html | 380 +++++++++ .../reference/global_objects/set/values/index.html | 106 +++ .../global_objects/string/anchor/index.html | 118 +++ .../reference/global_objects/string/big/index.html | 114 +++ .../global_objects/string/blink/index.html | 110 +++ .../global_objects/string/bold/index.html | 106 +++ .../global_objects/string/charat/index.html | 283 +++++++ .../global_objects/string/concat/index.html | 125 +++ .../global_objects/string/endswith/index.html | 133 ++++ .../global_objects/string/fixed/index.html | 103 +++ .../global_objects/string/fontcolor/index.html | 122 +++ .../global_objects/string/fontsize/index.html | 121 +++ .../global_objects/string/fromcharcode/index.html | 126 +++ .../reference/global_objects/string/index.html | 340 +++++++++ .../global_objects/string/indexof/index.html | 190 +++++ .../global_objects/string/italics/index.html | 104 +++ .../global_objects/string/length/index.html | 121 +++ .../global_objects/string/link/index.html | 119 +++ .../global_objects/string/normalize/index.html | 154 ++++ .../global_objects/string/small/index.html | 110 +++ .../global_objects/string/startswith/index.html | 128 ++++ .../reference/global_objects/string/sub/index.html | 109 +++ .../global_objects/string/substr/index.html | 156 ++++ .../reference/global_objects/string/sup/index.html | 107 +++ .../string/tolocalelowercase/index.html | 110 +++ .../string/tolocaleuppercase/index.html | 110 +++ .../global_objects/string/tolowercase/index.html | 111 +++ .../global_objects/string/tostring/index.html | 113 +++ .../global_objects/string/touppercase/index.html | 110 +++ .../global_objects/string/trim/index.html | 123 +++ .../global_objects/string/trimend/index.html | 94 +++ .../global_objects/string/trimstart/index.html | 94 +++ .../global_objects/syntaxerror/index.html | 166 ++++ .../reference/global_objects/undefined/index.html | 174 +++++ .../global_objects/weakmap/prototype/index.html | 133 ---- .../global_objects/weakset/prototype/index.html | 132 ---- files/ca/web/javascript/reference/index.html | 46 ++ .../reference/operators/comma_operator/index.html | 129 ++++ .../operators/conditional_operator/index.html | 170 +++++ .../reference/operators/function/index.html | 146 ++++ .../reference/operators/grouping/index.html | 128 ++++ .../web/javascript/reference/operators/index.html | 282 +++++++ .../reference/operators/super/index.html | 119 +++ .../reference/operators/typeof/index.html | 240 ++++++ .../javascript/reference/operators/void/index.html | 138 ++++ .../reference/operators/yield/index.html | 152 ++++ .../reference/statements/block/index.html | 138 ++++ .../reference/statements/break/index.html | 154 ++++ .../reference/statements/continue/index.html | 199 +++++ .../reference/statements/debugger/index.html | 116 +++ .../reference/statements/do...while/index.html | 124 +++ .../reference/statements/empty/index.html | 138 ++++ .../reference/statements/export/index.html | 158 ++++ .../reference/statements/for...of/index.html | 181 +++++ .../javascript/reference/statements/for/index.html | 190 +++++ .../reference/statements/function/index.html | 171 +++++ .../reference/statements/if...else/index.html | 203 +++++ .../web/javascript/reference/statements/index.html | 129 ++++ .../reference/statements/return/index.html | 183 +++++ .../reference/statements/throw/index.html | 228 ++++++ .../reference/statements/while/index.html | 131 ++++ .../referencia/classes/constructor/index.html | 129 ---- .../web/javascript/referencia/classes/index.html | 382 ---------- .../referencia/classes/static/index.html | 116 --- files/ca/web/javascript/referencia/index.html | 46 -- .../objectes_globals/array/entries/index.html | 105 --- .../objectes_globals/array/every/index.html | 220 ------ .../objectes_globals/array/fill/index.html | 173 ----- .../objectes_globals/array/filter/index.html | 213 ------ .../objectes_globals/array/find/index.html | 191 ----- .../objectes_globals/array/findindex/index.html | 173 ----- .../objectes_globals/array/foreach/index.html | 238 ------ .../objectes_globals/array/includes/index.html | 158 ---- .../referencia/objectes_globals/array/index.html | 482 ------------ .../objectes_globals/array/indexof/index.html | 235 ------ .../objectes_globals/array/isarray/index.html | 135 ---- .../objectes_globals/array/join/index.html | 123 --- .../objectes_globals/array/keys/index.html | 115 --- .../objectes_globals/array/lastindexof/index.html | 197 ----- .../objectes_globals/array/length/index.html | 128 ---- .../objectes_globals/array/map/index.html | 317 -------- .../objectes_globals/array/of/index.html | 120 --- .../objectes_globals/array/pop/index.html | 123 --- .../objectes_globals/array/prototype/index.html | 203 ----- .../objectes_globals/array/push/index.html | 146 ---- .../objectes_globals/array/reduce/index.html | 304 -------- .../objectes_globals/array/reverse/index.html | 119 --- .../objectes_globals/array/shift/index.html | 129 ---- .../objectes_globals/array/slice/index.html | 268 ------- .../objectes_globals/array/some/index.html | 213 ------ .../objectes_globals/array/splice/index.html | 171 ----- .../referencia/objectes_globals/boolean/index.html | 196 ----- .../objectes_globals/boolean/prototype/index.html | 118 --- .../objectes_globals/boolean/tosource/index.html | 98 --- .../objectes_globals/boolean/tostring/index.html | 121 --- .../objectes_globals/boolean/valueof/index.html | 117 --- .../objectes_globals/date/getdate/index.html | 119 --- .../objectes_globals/date/getday/index.html | 121 --- .../objectes_globals/date/getfullyear/index.html | 121 --- .../objectes_globals/date/gethours/index.html | 120 --- .../date/getmilliseconds/index.html | 118 --- .../objectes_globals/date/getminutes/index.html | 120 --- .../objectes_globals/date/getmonth/index.html | 120 --- .../objectes_globals/date/getseconds/index.html | 120 --- .../objectes_globals/date/gettime/index.html | 135 ---- .../date/gettimezoneoffset/index.html | 109 --- .../objectes_globals/date/getutcdate/index.html | 119 --- .../objectes_globals/date/getutcday/index.html | 119 --- .../date/getutcfullyear/index.html | 118 --- .../objectes_globals/date/getutchours/index.html | 118 --- .../date/getutcmilliseconds/index.html | 116 --- .../objectes_globals/date/getutcminutes/index.html | 116 --- .../objectes_globals/date/getutcmonth/index.html | 116 --- .../objectes_globals/date/getutcseconds/index.html | 118 --- .../objectes_globals/date/getyear/index.html | 162 ---- .../referencia/objectes_globals/date/index.html | 250 ------ .../objectes_globals/date/now/index.html | 126 --- .../objectes_globals/date/prototype/index.html | 222 ------ .../objectes_globals/date/setdate/index.html | 122 --- .../objectes_globals/date/setfullyear/index.html | 128 ---- .../objectes_globals/date/sethours/index.html | 129 ---- .../date/setmilliseconds/index.html | 117 --- .../objectes_globals/date/setminutes/index.html | 127 ---- .../objectes_globals/date/setmonth/index.html | 126 --- .../objectes_globals/date/setseconds/index.html | 125 --- .../objectes_globals/date/settime/index.html | 118 --- .../objectes_globals/date/setutcdate/index.html | 119 --- .../date/setutcfullyear/index.html | 123 --- .../objectes_globals/date/setutchours/index.html | 125 --- .../date/setutcmilliseconds/index.html | 117 --- .../objectes_globals/date/setutcminutes/index.html | 123 --- .../objectes_globals/date/setutcmonth/index.html | 121 --- .../objectes_globals/date/setutcseconds/index.html | 121 --- .../objectes_globals/date/setyear/index.html | 124 --- .../objectes_globals/date/todatestring/index.html | 115 --- .../objectes_globals/date/togmtstring/index.html | 115 --- .../objectes_globals/date/toisostring/index.html | 134 ---- .../objectes_globals/date/tojson/index.html | 108 --- .../objectes_globals/date/tostring/index.html | 142 ---- .../objectes_globals/date/totimestring/index.html | 115 --- .../objectes_globals/date/utc/index.html | 142 ---- .../objectes_globals/date/valueof/index.html | 118 --- .../objectes_globals/error/columnnumber/index.html | 83 -- .../objectes_globals/error/filename/index.html | 87 --- .../referencia/objectes_globals/error/index.html | 224 ------ .../objectes_globals/error/linenumber/index.html | 94 --- .../objectes_globals/error/message/index.html | 110 --- .../objectes_globals/error/name/index.html | 111 --- .../objectes_globals/error/prototype/index.html | 151 ---- .../objectes_globals/error/stack/index.html | 161 ---- .../objectes_globals/error/tosource/index.html | 91 --- .../objectes_globals/error/tostring/index.html | 146 ---- .../referencia/objectes_globals/index.html | 167 ---- .../objectes_globals/infinity/index.html | 114 --- .../referencia/objectes_globals/json/index.html | 242 ------ .../objectes_globals/map/clear/index.html | 104 --- .../objectes_globals/map/delete/index.html | 109 --- .../objectes_globals/map/entries/index.html | 104 --- .../objectes_globals/map/foreach/index.html | 136 ---- .../referencia/objectes_globals/map/get/index.html | 116 --- .../referencia/objectes_globals/map/has/index.html | 114 --- .../referencia/objectes_globals/map/index.html | 385 ---------- .../objectes_globals/map/keys/index.html | 104 --- .../objectes_globals/map/prototype/index.html | 126 --- .../referencia/objectes_globals/map/set/index.html | 122 --- .../objectes_globals/map/size/index.html | 105 --- .../objectes_globals/map/values/index.html | 103 --- .../objectes_globals/math/abs/index.html | 129 ---- .../objectes_globals/math/acos/index.html | 131 ---- .../objectes_globals/math/acosh/index.html | 126 --- .../objectes_globals/math/asin/index.html | 133 ---- .../objectes_globals/math/asinh/index.html | 125 --- .../objectes_globals/math/atan/index.html | 127 ---- .../objectes_globals/math/atan2/index.html | 139 ---- .../objectes_globals/math/atanh/index.html | 127 ---- .../objectes_globals/math/cbrt/index.html | 122 --- .../objectes_globals/math/ceil/index.html | 197 ----- .../objectes_globals/math/clz32/index.html | 155 ---- .../objectes_globals/math/cos/index.html | 128 ---- .../objectes_globals/math/cosh/index.html | 130 ---- .../referencia/objectes_globals/math/e/index.html | 118 --- .../objectes_globals/math/exp/index.html | 123 --- .../objectes_globals/math/expm1/index.html | 122 --- .../objectes_globals/math/floor/index.html | 194 ----- .../objectes_globals/math/fround/index.html | 118 --- .../objectes_globals/math/hypot/index.html | 139 ---- .../objectes_globals/math/imul/index.html | 120 --- .../referencia/objectes_globals/math/index.html | 205 ----- .../objectes_globals/math/ln10/index.html | 118 --- .../objectes_globals/math/ln2/index.html | 118 --- .../objectes_globals/math/log/index.html | 137 ---- .../objectes_globals/math/log10/index.html | 126 --- .../objectes_globals/math/log10e/index.html | 118 --- .../objectes_globals/math/log1p/index.html | 125 --- .../objectes_globals/math/log2/index.html | 127 ---- .../objectes_globals/math/log2e/index.html | 118 --- .../objectes_globals/math/max/index.html | 134 ---- .../objectes_globals/math/min/index.html | 140 ---- .../referencia/objectes_globals/math/pi/index.html | 116 --- .../objectes_globals/math/pow/index.html | 140 ---- .../objectes_globals/math/random/index.html | 126 --- .../objectes_globals/math/round/index.html | 207 ----- .../objectes_globals/math/sign/index.html | 131 ---- .../objectes_globals/math/sin/index.html | 127 ---- .../objectes_globals/math/sinh/index.html | 129 ---- .../objectes_globals/math/sqrt/index.html | 127 ---- .../objectes_globals/math/sqrt1_2/index.html | 117 --- .../objectes_globals/math/sqrt2/index.html | 117 --- .../objectes_globals/math/tan/index.html | 140 ---- .../objectes_globals/math/tanh/index.html | 142 ---- .../objectes_globals/math/trunc/index.html | 129 ---- .../referencia/objectes_globals/nan/index.html | 125 --- .../referencia/objectes_globals/null/index.html | 125 --- .../objectes_globals/number/epsilon/index.html | 102 --- .../referencia/objectes_globals/number/index.html | 214 ------ .../objectes_globals/number/isfinite/index.html | 118 --- .../objectes_globals/number/isinteger/index.html | 118 --- .../objectes_globals/number/isnan/index.html | 129 ---- .../number/issafeinteger/index.html | 117 --- .../number/max_safe_integer/index.html | 100 --- .../objectes_globals/number/max_value/index.html | 118 --- .../number/min_safe_integer/index.html | 100 --- .../objectes_globals/number/min_value/index.html | 118 --- .../objectes_globals/number/nan/index.html | 100 --- .../number/negative_infinity/index.html | 134 ---- .../objectes_globals/number/parsefloat/index.html | 103 --- .../objectes_globals/number/parseint/index.html | 102 --- .../number/positive_infinity/index.html | 137 ---- .../objectes_globals/number/prototype/index.html | 126 --- .../number/toexponential/index.html | 136 ---- .../objectes_globals/number/tofixed/index.html | 135 ---- .../objectes_globals/number/toprecision/index.html | 134 ---- .../objectes_globals/number/tostring/index.html | 141 ---- .../objectes_globals/parsefloat/index.html | 166 ---- .../referencia/objectes_globals/set/add/index.html | 119 --- .../objectes_globals/set/clear/index.html | 105 --- .../objectes_globals/set/delete/index.html | 112 --- .../objectes_globals/set/entries/index.html | 104 --- .../referencia/objectes_globals/set/has/index.html | 114 --- .../referencia/objectes_globals/set/index.html | 380 --------- .../objectes_globals/set/prototype/index.html | 124 --- .../objectes_globals/set/values/index.html | 106 --- .../objectes_globals/string/anchor/index.html | 118 --- .../objectes_globals/string/big/index.html | 114 --- .../objectes_globals/string/blink/index.html | 110 --- .../objectes_globals/string/bold/index.html | 106 --- .../objectes_globals/string/charat/index.html | 283 ------- .../objectes_globals/string/concat/index.html | 125 --- .../objectes_globals/string/endswith/index.html | 133 ---- .../objectes_globals/string/fixed/index.html | 103 --- .../objectes_globals/string/fontcolor/index.html | 122 --- .../objectes_globals/string/fontsize/index.html | 121 --- .../string/fromcharcode/index.html | 126 --- .../referencia/objectes_globals/string/index.html | 340 --------- .../objectes_globals/string/indexof/index.html | 190 ----- .../objectes_globals/string/italics/index.html | 104 --- .../objectes_globals/string/length/index.html | 121 --- .../objectes_globals/string/link/index.html | 119 --- .../objectes_globals/string/normalize/index.html | 154 ---- .../objectes_globals/string/small/index.html | 110 --- .../objectes_globals/string/startswith/index.html | 128 ---- .../objectes_globals/string/sub/index.html | 109 --- .../objectes_globals/string/substr/index.html | 156 ---- .../objectes_globals/string/sup/index.html | 107 --- .../string/tolocalelowercase/index.html | 110 --- .../string/tolocaleuppercase/index.html | 110 --- .../objectes_globals/string/tolowercase/index.html | 111 --- .../objectes_globals/string/tostring/index.html | 113 --- .../objectes_globals/string/touppercase/index.html | 110 --- .../objectes_globals/string/trim/index.html | 123 --- .../objectes_globals/string/trimleft/index.html | 94 --- .../objectes_globals/string/trimright/index.html | 94 --- .../objectes_globals/syntaxerror/index.html | 166 ---- .../syntaxerror/prototype/index.html | 122 --- .../objectes_globals/undefined/index.html | 174 ----- .../operadors/arithmetic_operators/index.html | 287 ------- .../operadors/bitwise_operators/index.html | 719 ----------------- .../operadors/conditional_operator/index.html | 170 ----- .../referencia/operadors/function/index.html | 146 ---- .../referencia/operadors/grouping/index.html | 128 ---- .../web/javascript/referencia/operadors/index.html | 282 ------- .../operadors/logical_operators/index.html | 302 -------- .../referencia/operadors/operador_coma/index.html | 129 ---- .../referencia/operadors/super/index.html | 119 --- .../referencia/operadors/typeof/index.html | 240 ------ .../referencia/operadors/void/index.html | 138 ---- .../referencia/operadors/yield/index.html | 152 ---- .../referencia/sentencies/block/index.html | 138 ---- .../referencia/sentencies/break/index.html | 154 ---- .../referencia/sentencies/buida/index.html | 138 ---- .../referencia/sentencies/continue/index.html | 199 ----- .../referencia/sentencies/debugger/index.html | 116 --- .../referencia/sentencies/do...while/index.html | 124 --- .../referencia/sentencies/export/index.html | 158 ---- .../referencia/sentencies/for...of/index.html | 181 ----- .../referencia/sentencies/for/index.html | 190 ----- .../referencia/sentencies/function/index.html | 171 ----- .../referencia/sentencies/if...else/index.html | 203 ----- .../javascript/referencia/sentencies/index.html | 129 ---- .../referencia/sentencies/return/index.html | 183 ----- .../referencia/sentencies/throw/index.html | 228 ------ .../referencia/sentencies/while/index.html | 131 ---- .../ca/web/javascript/referencia/sobre/index.html | 44 -- files/ca/web/opensearch/index.html | 33 + files/ca/web/progressive_web_apps/index.html | 49 ++ .../responsive/media_types/index.html | 402 ++++++++++ files/ca/web/svg/tutorial/svg_and_css/index.html | 223 ++++++ 574 files changed, 40308 insertions(+), 47617 deletions(-) create mode 100644 files/ca/web/api/canvas_api/tutorial/advanced_animations/index.html delete mode 100644 "files/ca/web/api/canvas_api/tutorial/animacions_avan\303\247ades/index.html" delete mode 100644 "files/ca/web/api/canvas_api/tutorial/animacions_b\303\240siques/index.html" delete mode 100644 files/ca/web/api/canvas_api/tutorial/aplicar_estils_i_colors/index.html create mode 100644 files/ca/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html create mode 100644 files/ca/web/api/canvas_api/tutorial/basic_animations/index.html create mode 100644 files/ca/web/api/canvas_api/tutorial/basic_usage/index.html delete mode 100644 "files/ca/web/api/canvas_api/tutorial/composici\303\263/index.html" create mode 100644 files/ca/web/api/canvas_api/tutorial/compositing/index.html delete mode 100644 files/ca/web/api/canvas_api/tutorial/dibuixar_text/index.html create mode 100644 files/ca/web/api/canvas_api/tutorial/drawing_text/index.html delete mode 100644 "files/ca/web/api/canvas_api/tutorial/manipular_p\303\255xels_amb_canvas/index.html" create mode 100644 files/ca/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html delete mode 100644 files/ca/web/api/canvas_api/tutorial/transformacions/index.html create mode 100644 files/ca/web/api/canvas_api/tutorial/transformations/index.html delete mode 100644 "files/ca/web/api/canvas_api/tutorial/\303\272s_b\303\240sic/index.html" delete mode 100644 files/ca/web/css/_colon_any/index.html create mode 100644 files/ca/web/css/_colon_is/index.html create mode 100644 files/ca/web/css/adjacent_sibling_combinator/index.html create mode 100644 files/ca/web/css/attribute_selectors/index.html create mode 100644 files/ca/web/css/child_combinator/index.html create mode 100644 files/ca/web/css/class_selectors/index.html delete mode 100644 files/ca/web/css/css_box_model/dominar_el_col.lapse_del_marge/index.html delete mode 100644 "files/ca/web/css/css_box_model/introducci\303\263_al_model_de_caixa_css/index.html" create mode 100644 files/ca/web/css/css_box_model/introduction_to_the_css_box_model/index.html create mode 100644 files/ca/web/css/css_box_model/mastering_margin_collapsing/index.html create mode 100644 files/ca/web/css/css_selectors/index.html create mode 100644 files/ca/web/css/css_selectors/using_the__colon_target_pseudo-class_in_selectors/index.html create mode 100644 files/ca/web/css/descendant_combinator/index.html create mode 100644 files/ca/web/css/general_sibling_combinator/index.html create mode 100644 files/ca/web/css/id_selectors/index.html create mode 100644 files/ca/web/css/reference/index.html delete mode 100644 "files/ca/web/css/refer\303\251ncia_css/index.html" delete mode 100644 files/ca/web/css/selectors_css/index.html delete mode 100644 files/ca/web/css/selectors_css/using_the__colon_target_pseudo-class_in_selectors/index.html delete mode 100644 files/ca/web/css/selectors_d'atribut/index.html delete mode 100644 files/ca/web/css/selectors_de_classe/index.html delete mode 100644 files/ca/web/css/selectors_de_descendents/index.html delete mode 100644 files/ca/web/css/selectors_de_fills/index.html delete mode 100644 files/ca/web/css/selectors_de_germans_adjacents/index.html delete mode 100644 files/ca/web/css/selectors_de_tipus/index.html delete mode 100644 files/ca/web/css/selectors_general_de_germans/index.html delete mode 100644 files/ca/web/css/selectors_id/index.html delete mode 100644 files/ca/web/css/selectors_universal/index.html delete mode 100644 files/ca/web/css/sintaxi/index.html create mode 100644 files/ca/web/css/syntax/index.html create mode 100644 files/ca/web/css/type_selectors/index.html create mode 100644 files/ca/web/css/universal_selectors/index.html create mode 100644 files/ca/web/guide/ajax/getting_started/index.html delete mode 100644 files/ca/web/guide/ajax/primers_passos/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/caixes/index.html delete mode 100644 "files/ca/web/guide/css/inici_en_css/cascada_i_her\303\250ncia/index.html" delete mode 100644 files/ca/web/guide/css/inici_en_css/color/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/com_funciona_el_css/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/css_llegible/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/disseny/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/estils_de_text/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/javascript/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/llistes/index.html delete mode 100644 "files/ca/web/guide/css/inici_en_css/mitj\303\240/index.html" delete mode 100644 "files/ca/web/guide/css/inici_en_css/per_qu\303\250_utilitzar_css/index.html" delete mode 100644 "files/ca/web/guide/css/inici_en_css/que_\303\251s_css/index.html" delete mode 100644 files/ca/web/guide/css/inici_en_css/selectors/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/svg_i_css/index.html delete mode 100644 files/ca/web/guide/css/inici_en_css/taules/index.html create mode 100644 files/ca/web/guide/graphics/index.html delete mode 100644 "files/ca/web/guide/gr\303\240fics/index.html" delete mode 100644 "files/ca/web/guide/html/_consells_per_crear_p\303\240gines_html_de_c\303\240rrega_r\303\240pida/index.html" delete mode 100644 files/ca/web/guide/html/us_de_seccions_i_esquemes_en_html/index.html create mode 100644 files/ca/web/guide/html/using_html_sections_and_outlines/index.html create mode 100644 files/ca/web/guide/mobile/a_hybrid_approach/index.html create mode 100644 files/ca/web/guide/mobile/index.html create mode 100644 files/ca/web/guide/mobile/mobile-friendliness/index.html create mode 100644 files/ca/web/guide/mobile/separate_sites/index.html delete mode 100644 files/ca/web/html/element/command/index.html delete mode 100644 files/ca/web/html/element/element/index.html delete mode 100644 "files/ca/web/html/elements_en_l\303\255nia/index.html" delete mode 100644 files/ca/web/html/global_attributes/dropzone/index.html create mode 100644 files/ca/web/html/inline_elements/index.html delete mode 100644 files/ca/web/html/optimizing_your_pages_for_speculative_parsing/index.html create mode 100644 files/ca/web/javascript/about_javascript/index.html create mode 100644 files/ca/web/javascript/guide/expressions_and_operators/index.html delete mode 100644 files/ca/web/javascript/guide/expressions_i_operadors/index.html delete mode 100644 "files/ca/web/javascript/guide/introducci\303\263/index.html" create mode 100644 files/ca/web/javascript/guide/introduction/index.html delete mode 100644 "files/ca/web/javascript/introducci\303\263_al_javascript_orientat_a_objectes/index.html" delete mode 100644 files/ca/web/javascript/quant_a_javascript/index.html create mode 100644 files/ca/web/javascript/reference/about/index.html create mode 100644 files/ca/web/javascript/reference/classes/constructor/index.html create mode 100644 files/ca/web/javascript/reference/classes/index.html create mode 100644 files/ca/web/javascript/reference/classes/static/index.html delete mode 100644 files/ca/web/javascript/reference/errors/nomes-lectura/index.html create mode 100644 files/ca/web/javascript/reference/errors/read-only/index.html delete mode 100644 files/ca/web/javascript/reference/functions/parameters_rest/index.html create mode 100644 files/ca/web/javascript/reference/functions/rest_parameters/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/entries/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/every/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/fill/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/filter/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/find/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/findindex/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/foreach/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/includes/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/indexof/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/isarray/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/join/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/keys/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/lastindexof/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/length/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/map/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/of/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/pop/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/push/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/reduce/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/reverse/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/shift/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/slice/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/some/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/array/splice/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/boolean/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/boolean/tosource/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/boolean/tostring/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/boolean/valueof/index.html delete mode 100644 files/ca/web/javascript/reference/global_objects/dataview/prototype/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getdate/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getday/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getfullyear/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/gethours/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getmilliseconds/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getminutes/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getmonth/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getseconds/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/gettime/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/gettimezoneoffset/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getutcdate/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getutcday/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getutcfullyear/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getutchours/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getutcmilliseconds/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getutcminutes/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getutcmonth/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getutcseconds/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/getyear/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/now/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setdate/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setfullyear/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/sethours/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setmilliseconds/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setminutes/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setmonth/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setseconds/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/settime/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setutcdate/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setutcfullyear/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setutchours/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setutcmilliseconds/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setutcminutes/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setutcmonth/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setutcseconds/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/setyear/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/todatestring/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/togmtstring/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/toisostring/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/tojson/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/tostring/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/totimestring/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/utc/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/date/valueof/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/error/columnnumber/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/error/filename/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/error/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/error/linenumber/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/error/message/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/error/name/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/error/stack/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/error/tosource/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/error/tostring/index.html delete mode 100644 files/ca/web/javascript/reference/global_objects/evalerror/prototype/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/infinity/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/json/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/clear/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/delete/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/entries/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/foreach/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/get/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/has/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/keys/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/set/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/size/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/map/values/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/abs/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/acos/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/acosh/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/asin/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/asinh/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/atan/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/atan2/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/atanh/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/cbrt/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/ceil/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/clz32/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/cos/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/cosh/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/e/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/exp/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/expm1/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/floor/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/fround/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/hypot/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/imul/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/ln10/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/ln2/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/log/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/log10/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/log10e/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/log1p/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/log2/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/log2e/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/max/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/min/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/pi/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/pow/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/random/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/round/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/sign/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/sin/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/sinh/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/sqrt/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/sqrt1_2/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/sqrt2/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/tan/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/tanh/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/math/trunc/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/nan/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/null/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/epsilon/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/isfinite/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/isinteger/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/isnan/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/issafeinteger/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/max_safe_integer/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/max_value/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/min_safe_integer/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/min_value/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/nan/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/negative_infinity/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/parsefloat/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/parseint/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/positive_infinity/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/toexponential/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/tofixed/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/toprecision/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/number/tostring/index.html delete mode 100644 files/ca/web/javascript/reference/global_objects/object/prototype/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/parsefloat/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/set/add/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/set/clear/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/set/delete/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/set/entries/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/set/has/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/set/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/set/values/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/anchor/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/big/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/blink/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/bold/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/charat/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/concat/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/endswith/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/fixed/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/fontcolor/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/fontsize/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/fromcharcode/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/indexof/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/italics/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/length/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/link/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/normalize/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/small/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/startswith/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/sub/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/substr/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/sup/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/tolocalelowercase/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/tolowercase/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/tostring/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/touppercase/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/trim/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/trimend/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/string/trimstart/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/syntaxerror/index.html create mode 100644 files/ca/web/javascript/reference/global_objects/undefined/index.html delete mode 100644 files/ca/web/javascript/reference/global_objects/weakmap/prototype/index.html delete mode 100644 files/ca/web/javascript/reference/global_objects/weakset/prototype/index.html create mode 100644 files/ca/web/javascript/reference/index.html create mode 100644 files/ca/web/javascript/reference/operators/comma_operator/index.html create mode 100644 files/ca/web/javascript/reference/operators/conditional_operator/index.html create mode 100644 files/ca/web/javascript/reference/operators/function/index.html create mode 100644 files/ca/web/javascript/reference/operators/grouping/index.html create mode 100644 files/ca/web/javascript/reference/operators/index.html create mode 100644 files/ca/web/javascript/reference/operators/super/index.html create mode 100644 files/ca/web/javascript/reference/operators/typeof/index.html create mode 100644 files/ca/web/javascript/reference/operators/void/index.html create mode 100644 files/ca/web/javascript/reference/operators/yield/index.html create mode 100644 files/ca/web/javascript/reference/statements/block/index.html create mode 100644 files/ca/web/javascript/reference/statements/break/index.html create mode 100644 files/ca/web/javascript/reference/statements/continue/index.html create mode 100644 files/ca/web/javascript/reference/statements/debugger/index.html create mode 100644 files/ca/web/javascript/reference/statements/do...while/index.html create mode 100644 files/ca/web/javascript/reference/statements/empty/index.html create mode 100644 files/ca/web/javascript/reference/statements/export/index.html create mode 100644 files/ca/web/javascript/reference/statements/for...of/index.html create mode 100644 files/ca/web/javascript/reference/statements/for/index.html create mode 100644 files/ca/web/javascript/reference/statements/function/index.html create mode 100644 files/ca/web/javascript/reference/statements/if...else/index.html create mode 100644 files/ca/web/javascript/reference/statements/index.html create mode 100644 files/ca/web/javascript/reference/statements/return/index.html create mode 100644 files/ca/web/javascript/reference/statements/throw/index.html create mode 100644 files/ca/web/javascript/reference/statements/while/index.html delete mode 100644 files/ca/web/javascript/referencia/classes/constructor/index.html delete mode 100644 files/ca/web/javascript/referencia/classes/index.html delete mode 100644 files/ca/web/javascript/referencia/classes/static/index.html delete mode 100644 files/ca/web/javascript/referencia/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/entries/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/every/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/fill/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/filter/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/find/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/findindex/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/foreach/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/includes/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/indexof/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/isarray/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/join/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/keys/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/lastindexof/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/length/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/map/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/of/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/pop/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/prototype/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/push/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/reduce/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/reverse/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/shift/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/slice/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/some/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/array/splice/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/boolean/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/boolean/prototype/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/boolean/tosource/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/boolean/tostring/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/boolean/valueof/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getdate/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getday/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getfullyear/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/gethours/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getmilliseconds/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getminutes/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getmonth/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getseconds/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/gettime/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/gettimezoneoffset/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getutcdate/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getutcday/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getutcfullyear/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getutchours/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getutcmilliseconds/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getutcminutes/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getutcmonth/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getutcseconds/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/getyear/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/now/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/prototype/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setdate/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setfullyear/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/sethours/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setmilliseconds/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setminutes/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setmonth/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setseconds/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/settime/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setutcdate/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setutcfullyear/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setutchours/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setutcmilliseconds/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setutcminutes/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setutcmonth/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setutcseconds/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/setyear/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/todatestring/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/togmtstring/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/toisostring/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/tojson/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/tostring/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/totimestring/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/utc/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/date/valueof/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/columnnumber/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/filename/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/linenumber/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/message/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/name/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/prototype/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/stack/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/tosource/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/error/tostring/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/infinity/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/json/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/clear/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/delete/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/entries/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/foreach/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/get/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/has/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/keys/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/prototype/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/set/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/size/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/map/values/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/abs/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/acos/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/acosh/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/asin/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/asinh/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/atan/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/atan2/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/atanh/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/cbrt/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/ceil/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/clz32/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/cos/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/cosh/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/e/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/exp/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/expm1/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/floor/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/fround/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/hypot/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/imul/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/ln10/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/ln2/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/log/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/log10/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/log10e/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/log1p/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/log2/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/log2e/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/max/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/min/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/pi/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/pow/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/random/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/round/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/sign/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/sin/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/sinh/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/sqrt/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/sqrt1_2/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/sqrt2/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/tan/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/tanh/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/math/trunc/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/nan/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/null/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/epsilon/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/isfinite/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/isinteger/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/isnan/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/issafeinteger/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/max_safe_integer/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/max_value/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/min_safe_integer/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/min_value/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/nan/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/negative_infinity/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/parsefloat/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/parseint/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/positive_infinity/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/prototype/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/toexponential/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/tofixed/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/toprecision/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/number/tostring/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/parsefloat/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/set/add/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/set/clear/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/set/delete/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/set/entries/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/set/has/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/set/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/set/prototype/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/set/values/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/anchor/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/big/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/blink/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/bold/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/charat/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/concat/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/endswith/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/fixed/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/fontcolor/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/fontsize/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/fromcharcode/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/indexof/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/italics/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/length/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/link/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/normalize/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/small/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/startswith/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/sub/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/substr/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/sup/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/tolocalelowercase/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/tolocaleuppercase/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/tolowercase/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/tostring/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/touppercase/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/trim/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/trimleft/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/string/trimright/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/syntaxerror/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/syntaxerror/prototype/index.html delete mode 100644 files/ca/web/javascript/referencia/objectes_globals/undefined/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/arithmetic_operators/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/bitwise_operators/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/conditional_operator/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/function/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/grouping/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/logical_operators/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/operador_coma/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/super/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/typeof/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/void/index.html delete mode 100644 files/ca/web/javascript/referencia/operadors/yield/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/block/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/break/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/buida/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/continue/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/debugger/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/do...while/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/export/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/for...of/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/for/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/function/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/if...else/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/return/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/throw/index.html delete mode 100644 files/ca/web/javascript/referencia/sentencies/while/index.html delete mode 100644 files/ca/web/javascript/referencia/sobre/index.html create mode 100644 files/ca/web/opensearch/index.html create mode 100644 files/ca/web/progressive_web_apps/index.html create mode 100644 files/ca/web/progressive_web_apps/responsive/media_types/index.html create mode 100644 files/ca/web/svg/tutorial/svg_and_css/index.html (limited to 'files/ca/web') diff --git a/files/ca/web/api/canvas_api/tutorial/advanced_animations/index.html b/files/ca/web/api/canvas_api/tutorial/advanced_animations/index.html new file mode 100644 index 0000000000..4aebb46529 --- /dev/null +++ b/files/ca/web/api/canvas_api/tutorial/advanced_animations/index.html @@ -0,0 +1,380 @@ +--- +title: Animacions avançades +slug: Web/API/Canvas_API/Tutorial/Animacions_avançades +tags: + - Canvas + - Graphics + - Tutorial +translation_of: Web/API/Canvas_API/Tutorial/Advanced_animations +--- +
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Basic_animations", "Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas")}}
+ +
+

En l'últim capítol vam fer algunes animacions bàsiques i vam conèixer maneres de fer moure les coses. En aquesta part veurem més d'a prop el moviment en si i afegirem una mica de física per fer que les nostres animacions siguin més avançades.

+
+ +

Dibuixar una bola

+ +

Usarem una bola per als nostres estudis d'animació, així que primer dibuixarem aquesta bola sobre el llenç. El següent codi ens configurarà.

+ +
<canvas id="canvas" width="600" height="300"></canvas>
+
+ +

Com és habitual, primer necessitem un context de dibuix. Per dibuixar la bola, hem crear un objecte ball que contingui propietats i un mètode draw() per pintar-la sobre el llenç.

+ +
var canvas = document.getElementById('canvas');
+var ctx = canvas.getContext('2d');
+
+var ball = {
+  x: 100,
+  y: 100,
+  radius: 25,
+  color: 'blue',
+  draw: function() {
+    ctx.beginPath();
+    ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, true);
+    ctx.closePath();
+    ctx.fillStyle = this.color;
+    ctx.fill();
+  }
+};
+
+ball.draw();
+ +

Aquí no hi ha res especial, la bola és en realitat un cercle senzill i es dibuixa amb l'ajuda del mètode {{domxref("CanvasRenderingContext2D.arc()", "arc()")}}.

+ +

Afegir velocitat

+ +

Ara que tenim la bola, estem preparats per afegir una animació bàsica tal com hem après en l'últim capítol d'aquest tutorial. Novament, {{domxref("window.requestAnimationFrame()")}} ens ajuda a controlar l'animació. La bola es mou en afegir un vector de velocitat a la posició. Per a cada fotograma, també {{domxref("CanvasRenderingContext2D.clearRect", "clear", "", 1)}} el llenç per eliminar cercles antics de fotogrames anteriors.

+ +
var canvas = document.getElementById('canvas');
+var ctx = canvas.getContext('2d');
+var raf;
+
+var ball = {
+  x: 100,
+  y: 100,
+  vx: 5,
+  vy: 2,
+  radius: 25,
+  color: 'blue',
+  draw: function() {
+    ctx.beginPath();
+    ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, true);
+    ctx.closePath();
+    ctx.fillStyle = this.color;
+    ctx.fill();
+  }
+};
+
+function draw() {
+  ctx.clearRect(0,0, canvas.width, canvas.height);
+  ball.draw();
+  ball.x += ball.vx;
+  ball.y += ball.vy;
+  raf = window.requestAnimationFrame(draw);
+}
+
+canvas.addEventListener('mouseover', function(e) {
+  raf = window.requestAnimationFrame(draw);
+});
+
+canvas.addEventListener('mouseout', function(e) {
+  window.cancelAnimationFrame(raf);
+});
+
+ball.draw();
+
+ +

Límits

+ +

Sense cap prova de col·lisió de límits, la nostra bola surt ràpidament del llenç. Hem de comprovar si la posició x i y de la bola està fora de les dimensions del llenç i invertir la direcció dels vectors de velocitat. Per fer-ho, afegim les següents comprovacions al mètode draw:

+ +
if (ball.y + ball.vy > canvas.height || ball.y + ball.vy < 0) {
+  ball.vy = -ball.vy;
+}
+if (ball.x + ball.vx > canvas.width || ball.x + ball.vx < 0) {
+  ball.vx = -ball.vx;
+}
+ +

Primera demostració

+ +

Vegem com es veu en acció fins ara. Movem el ratolí en el llenç per iniciar l'animació.

+ + + +

{{EmbedLiveSample("First_demo", "610", "310")}}

+ +

Acceleració

+ +

Per fer el moviment més real, es pots jugar amb la velocitat d'aquesta manera, per exemple:

+ +
ball.vy *= .99;
+ball.vy += .25;
+ +

Això retarda la velocitat vertical de cada fotograma, de manera que la bola només rebotarà en el sòl al final.

+ + + +

{{EmbedLiveSample("Second_demo", "610", "310")}}

+ +

Efecte cua

+ +

Fins ara, hem utilitzat el mètode {{domxref("CanvasRenderingContext2D.clearRect", "clearRect")}} per esborrar fotogrames anteriors. Si reemplacem aquest mètode per un semi-transparent {{domxref("CanvasRenderingContext2D.fillRect", "fillRect")}}, es pot crear fàcilment un efecte cua.

+ +
ctx.fillStyle = 'rgba(255, 255, 255, 0.3)';
+ctx.fillRect(0, 0, canvas.width, canvas.height);
+ + + +

{{EmbedLiveSample("Third_demo", "610", "310")}}

+ +

Afegir control al ratolí

+ +

Per tenir una mica de control sobre la bola, podem fer que segueixi al ratolí usant l'esdeveniment mousemove, per exemple. L'esdeveniment click allibera la bola i la deixa rebotar de nou.

+ + + +
var canvas = document.getElementById('canvas');
+var ctx = canvas.getContext('2d');
+var raf;
+var running = false;
+
+var ball = {
+  x: 100,
+  y: 100,
+  vx: 5,
+  vy: 1,
+  radius: 25,
+  color: 'blue',
+  draw: function() {
+    ctx.beginPath();
+    ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, true);
+    ctx.closePath();
+    ctx.fillStyle = this.color;
+    ctx.fill();
+  }
+};
+
+function clear() {
+  ctx.fillStyle = 'rgba(255, 255, 255, 0.3)';
+  ctx.fillRect(0,0,canvas.width,canvas.height);
+}
+
+function draw() {
+  clear();
+  ball.draw();
+  ball.x += ball.vx;
+  ball.y += ball.vy;
+
+  if (ball.y + ball.vy > canvas.height || ball.y + ball.vy < 0) {
+    ball.vy = -ball.vy;
+  }
+  if (ball.x + ball.vx > canvas.width || ball.x + ball.vx < 0) {
+    ball.vx = -ball.vx;
+  }
+
+  raf = window.requestAnimationFrame(draw);
+}
+
+canvas.addEventListener('mousemove', function(e) {
+  if (!running) {
+    clear();
+    ball.x = e.clientX;
+    ball.y = e.clientY;
+    ball.draw();
+  }
+});
+
+canvas.addEventListener('click', function(e) {
+  if (!running) {
+    raf = window.requestAnimationFrame(draw);
+    running = true;
+  }
+});
+
+canvas.addEventListener('mouseout', function(e) {
+  window.cancelAnimationFrame(raf);
+  running = false;
+});
+
+ball.draw();
+
+ +

Moure la bola amb el ratolí i allibera-la amb un clic.

+ +

{{EmbedLiveSample("Adding_mouse_control", "610", "310")}}

+ +

Escapada

+ +

Aquest breu capítol només explica algunes tècniques per crear animacions més avançades. Hi ha molts més! Què tal afegir una paleta, alguns maons, i convertir aquesta demostració en un joc Escapada? Consulta la nostra àrea de desenvolupament de jocs per veure més articles relacionats amb els jocs.

+ +

Vegeu també

+ + + +

{{PreviousNext("Web/API/Canvas_API/Tutorial/Basic_animations", "Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas")}}

diff --git "a/files/ca/web/api/canvas_api/tutorial/animacions_avan\303\247ades/index.html" "b/files/ca/web/api/canvas_api/tutorial/animacions_avan\303\247ades/index.html" deleted file mode 100644 index 4aebb46529..0000000000 --- "a/files/ca/web/api/canvas_api/tutorial/animacions_avan\303\247ades/index.html" +++ /dev/null @@ -1,380 +0,0 @@ ---- -title: Animacions avançades -slug: Web/API/Canvas_API/Tutorial/Animacions_avançades -tags: - - Canvas - - Graphics - - Tutorial -translation_of: Web/API/Canvas_API/Tutorial/Advanced_animations ---- -
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Basic_animations", "Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas")}}
- -
-

En l'últim capítol vam fer algunes animacions bàsiques i vam conèixer maneres de fer moure les coses. En aquesta part veurem més d'a prop el moviment en si i afegirem una mica de física per fer que les nostres animacions siguin més avançades.

-
- -

Dibuixar una bola

- -

Usarem una bola per als nostres estudis d'animació, així que primer dibuixarem aquesta bola sobre el llenç. El següent codi ens configurarà.

- -
<canvas id="canvas" width="600" height="300"></canvas>
-
- -

Com és habitual, primer necessitem un context de dibuix. Per dibuixar la bola, hem crear un objecte ball que contingui propietats i un mètode draw() per pintar-la sobre el llenç.

- -
var canvas = document.getElementById('canvas');
-var ctx = canvas.getContext('2d');
-
-var ball = {
-  x: 100,
-  y: 100,
-  radius: 25,
-  color: 'blue',
-  draw: function() {
-    ctx.beginPath();
-    ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, true);
-    ctx.closePath();
-    ctx.fillStyle = this.color;
-    ctx.fill();
-  }
-};
-
-ball.draw();
- -

Aquí no hi ha res especial, la bola és en realitat un cercle senzill i es dibuixa amb l'ajuda del mètode {{domxref("CanvasRenderingContext2D.arc()", "arc()")}}.

- -

Afegir velocitat

- -

Ara que tenim la bola, estem preparats per afegir una animació bàsica tal com hem après en l'últim capítol d'aquest tutorial. Novament, {{domxref("window.requestAnimationFrame()")}} ens ajuda a controlar l'animació. La bola es mou en afegir un vector de velocitat a la posició. Per a cada fotograma, també {{domxref("CanvasRenderingContext2D.clearRect", "clear", "", 1)}} el llenç per eliminar cercles antics de fotogrames anteriors.

- -
var canvas = document.getElementById('canvas');
-var ctx = canvas.getContext('2d');
-var raf;
-
-var ball = {
-  x: 100,
-  y: 100,
-  vx: 5,
-  vy: 2,
-  radius: 25,
-  color: 'blue',
-  draw: function() {
-    ctx.beginPath();
-    ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, true);
-    ctx.closePath();
-    ctx.fillStyle = this.color;
-    ctx.fill();
-  }
-};
-
-function draw() {
-  ctx.clearRect(0,0, canvas.width, canvas.height);
-  ball.draw();
-  ball.x += ball.vx;
-  ball.y += ball.vy;
-  raf = window.requestAnimationFrame(draw);
-}
-
-canvas.addEventListener('mouseover', function(e) {
-  raf = window.requestAnimationFrame(draw);
-});
-
-canvas.addEventListener('mouseout', function(e) {
-  window.cancelAnimationFrame(raf);
-});
-
-ball.draw();
-
- -

Límits

- -

Sense cap prova de col·lisió de límits, la nostra bola surt ràpidament del llenç. Hem de comprovar si la posició x i y de la bola està fora de les dimensions del llenç i invertir la direcció dels vectors de velocitat. Per fer-ho, afegim les següents comprovacions al mètode draw:

- -
if (ball.y + ball.vy > canvas.height || ball.y + ball.vy < 0) {
-  ball.vy = -ball.vy;
-}
-if (ball.x + ball.vx > canvas.width || ball.x + ball.vx < 0) {
-  ball.vx = -ball.vx;
-}
- -

Primera demostració

- -

Vegem com es veu en acció fins ara. Movem el ratolí en el llenç per iniciar l'animació.

- - - -

{{EmbedLiveSample("First_demo", "610", "310")}}

- -

Acceleració

- -

Per fer el moviment més real, es pots jugar amb la velocitat d'aquesta manera, per exemple:

- -
ball.vy *= .99;
-ball.vy += .25;
- -

Això retarda la velocitat vertical de cada fotograma, de manera que la bola només rebotarà en el sòl al final.

- - - -

{{EmbedLiveSample("Second_demo", "610", "310")}}

- -

Efecte cua

- -

Fins ara, hem utilitzat el mètode {{domxref("CanvasRenderingContext2D.clearRect", "clearRect")}} per esborrar fotogrames anteriors. Si reemplacem aquest mètode per un semi-transparent {{domxref("CanvasRenderingContext2D.fillRect", "fillRect")}}, es pot crear fàcilment un efecte cua.

- -
ctx.fillStyle = 'rgba(255, 255, 255, 0.3)';
-ctx.fillRect(0, 0, canvas.width, canvas.height);
- - - -

{{EmbedLiveSample("Third_demo", "610", "310")}}

- -

Afegir control al ratolí

- -

Per tenir una mica de control sobre la bola, podem fer que segueixi al ratolí usant l'esdeveniment mousemove, per exemple. L'esdeveniment click allibera la bola i la deixa rebotar de nou.

- - - -
var canvas = document.getElementById('canvas');
-var ctx = canvas.getContext('2d');
-var raf;
-var running = false;
-
-var ball = {
-  x: 100,
-  y: 100,
-  vx: 5,
-  vy: 1,
-  radius: 25,
-  color: 'blue',
-  draw: function() {
-    ctx.beginPath();
-    ctx.arc(this.x, this.y, this.radius, 0, Math.PI * 2, true);
-    ctx.closePath();
-    ctx.fillStyle = this.color;
-    ctx.fill();
-  }
-};
-
-function clear() {
-  ctx.fillStyle = 'rgba(255, 255, 255, 0.3)';
-  ctx.fillRect(0,0,canvas.width,canvas.height);
-}
-
-function draw() {
-  clear();
-  ball.draw();
-  ball.x += ball.vx;
-  ball.y += ball.vy;
-
-  if (ball.y + ball.vy > canvas.height || ball.y + ball.vy < 0) {
-    ball.vy = -ball.vy;
-  }
-  if (ball.x + ball.vx > canvas.width || ball.x + ball.vx < 0) {
-    ball.vx = -ball.vx;
-  }
-
-  raf = window.requestAnimationFrame(draw);
-}
-
-canvas.addEventListener('mousemove', function(e) {
-  if (!running) {
-    clear();
-    ball.x = e.clientX;
-    ball.y = e.clientY;
-    ball.draw();
-  }
-});
-
-canvas.addEventListener('click', function(e) {
-  if (!running) {
-    raf = window.requestAnimationFrame(draw);
-    running = true;
-  }
-});
-
-canvas.addEventListener('mouseout', function(e) {
-  window.cancelAnimationFrame(raf);
-  running = false;
-});
-
-ball.draw();
-
- -

Moure la bola amb el ratolí i allibera-la amb un clic.

- -

{{EmbedLiveSample("Adding_mouse_control", "610", "310")}}

- -

Escapada

- -

Aquest breu capítol només explica algunes tècniques per crear animacions més avançades. Hi ha molts més! Què tal afegir una paleta, alguns maons, i convertir aquesta demostració en un joc Escapada? Consulta la nostra àrea de desenvolupament de jocs per veure més articles relacionats amb els jocs.

- -

Vegeu també

- - - -

{{PreviousNext("Web/API/Canvas_API/Tutorial/Basic_animations", "Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas")}}

diff --git "a/files/ca/web/api/canvas_api/tutorial/animacions_b\303\240siques/index.html" "b/files/ca/web/api/canvas_api/tutorial/animacions_b\303\240siques/index.html" deleted file mode 100644 index e4a3751d1e..0000000000 --- "a/files/ca/web/api/canvas_api/tutorial/animacions_b\303\240siques/index.html" +++ /dev/null @@ -1,335 +0,0 @@ ---- -title: Animacions bàsiques -slug: Web/API/Canvas_API/Tutorial/Animacions_bàsiques -tags: - - Canvas - - Graphics - - HTML - - HTML5 - - Intermediate - - Tutorial -translation_of: Web/API/Canvas_API/Tutorial/Basic_animations ---- -
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Compositing", "Web/API/Canvas_API/Tutorial/Advanced_animations")}}
- -
-

Atès que estem usant Javascript per controlar els elements {{HTMLElement("canvas")}}, també és molt fàcil fer animacions (interactives). En aquest capítol veurem com fer algunes animacions bàsiques.

-
- -

Probablement, la major limitació és que, una vegada que es dibuixa una forma, aquesta es manté així. Si necessitem moure-la, hem de tornar a dibuixar-la i tot el que s'ha dibuixat abans. Es necessita molt temps per tornar a dibuixar quadres complexos i el rendiment depèn en gran manera de la velocitat de l'equip en el qual s'està executant.

- -

Passos bàsics d'animació

- -

Aquests són els passos que s'han de seguir per dibuixar un marc:

- -
    -
  1. Esborrar el llenç
    - A menys que les formes que es dibuixin omplin el llenç complet (per exemple, una imatge de fons), és necessari esborrar qualsevol forma que s'hi hagi dibuixat prèviament. La manera més fàcil de fer-ho, és usant el mètode {{domxref("CanvasRenderingContext2D.clearRect", "clearRect()")}}.
  2. -
  3. Guardar l'estat del llenç
    - Si es canvia qualsevol configuració (com ara estils, transformacions, etc.) que afectin a l'estat del llenç i ens volem assegurar que l'estat original s'utilitza cada vegada que es dibuixa un marc, hem de guardar aquest estat original.
  4. -
  5. Dibuixar formes animades
    - El pas on es fa la representació del marc real.
  6. -
  7. Restaurar l'estat del llenç
    - Si s'ha guardat l'estat, ho hem de restaurar abans de dibuixar un nou marc.
  8. -
- -

Controlar una animació

- -

Les formes es dibuixen al llenç usant els mètodes de canvas directament o cridant a les funcions personalitzades. En circumstàncies normals, només veiem que aquests resultats apareixen en el llenç quan el script acaba d'executar-se. Per exemple, no és possible fer una animació des d'un bucle for.

- -

Això significa que necessitem una forma d'executar les nostres funcions de dibuix durant un període de temps. Hi ha dues maneres de controlar una animació com aquesta.

- -

Actualitzacions programades

- -

Primer estan les funcions {{domxref("window.setInterval()")}}, {{domxref("window.setTimeout()")}} i {{domxref("window.requestAnimationFrame()")}}, que es poden utilitzar per cridar a una funció específica durant un període de temps determinat.

- -
-
{{domxref("WindowTimers.setInterval", "setInterval(function, delay)")}}
-
Inicia repetidament l'execució de la funció especificada per la funció, cada mil·lisegons de retard.
-
{{domxref("WindowTimers.setTimeout", "setTimeout(function, delay)")}}
-
Executa la funció especificada per la function en mil·lisegons de delay.
-
{{domxref("Window.requestAnimationFrame()", "requestAnimationFrame(callback)")}}
-
Li diu al navegador que desitja realitzar una animació i sol·licita al navegador que cridi a una funció especifica per actualitzar una animació abans del proper repintat.
-
- -

Si no es vol cap interacció amb l'usuari, es pot utilitzar la funció setInterval() que executa repetidament el codi proporcionat. Si volguéssim fer un joc, podríem usar esdeveniments de teclat o ratolí per controlar l'animació i usar setTimeout(). En establir {{domxref("EventListener")}}s, capturem qualsevol interacció de l'usuari i s'executan les nostres funcions d'animació

- -
-

En els exemples següents, utilitzarem el mètode {{domxref("window.requestAnimationFrame()")}} per controlar l'animació. El mètode requestAnimationFrame proporciona una manera fluïda i eficient per a l'animació, cridant al marc d'animació quan el sistema estigui preparat per pintar el marc. El nombre de crides retornades és generalment 60 vegades per segon i pot reduir-se a una taxa més baixa quan s'executa en les pestanyes de fons. Per a més informació sobre el bucle d'animació, especialment per a jocs, veure l'article Anatomia d'un videojoc en la nostra Zona de desenvolupament de jocs.

-
- -

Un sistema solar animat

- -

Aquest exemple anima un petit model del nostre sistema solar.

- -
var sun = new Image();
-var moon = new Image();
-var earth = new Image();
-function init() {
-  sun.src = 'https://mdn.mozillademos.org/files/1456/Canvas_sun.png';
-  moon.src = 'https://mdn.mozillademos.org/files/1443/Canvas_moon.png';
-  earth.src = 'https://mdn.mozillademos.org/files/1429/Canvas_earth.png';
-  window.requestAnimationFrame(draw);
-}
-
-function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  ctx.globalCompositeOperation = 'destination-over';
-  ctx.clearRect(0, 0, 300, 300); // clear canvas
-
-  ctx.fillStyle = 'rgba(0, 0, 0, 0.4)';
-  ctx.strokeStyle = 'rgba(0, 153, 255, 0.4)';
-  ctx.save();
-  ctx.translate(150, 150);
-
-  // Earth
-  var time = new Date();
-  ctx.rotate(((2 * Math.PI) / 60) * time.getSeconds() + ((2 * Math.PI) / 60000) * time.getMilliseconds());
-  ctx.translate(105, 0);
-  ctx.fillRect(0, -12, 50, 24); // Shadow
-  ctx.drawImage(earth, -12, -12);
-
-  // Moon
-  ctx.save();
-  ctx.rotate(((2 * Math.PI) / 6) * time.getSeconds() + ((2 * Math.PI) / 6000) * time.getMilliseconds());
-  ctx.translate(0, 28.5);
-  ctx.drawImage(moon, -3.5, -3.5);
-  ctx.restore();
-
-  ctx.restore();
-
-  ctx.beginPath();
-  ctx.arc(150, 150, 105, 0, Math.PI * 2, false); // Earth orbit
-  ctx.stroke();
-
-  ctx.drawImage(sun, 0, 0, 300, 300);
-
-  window.requestAnimationFrame(draw);
-}
-
-init();
-
- - - -

{{EmbedLiveSample("An_animated_solar_system", "310", "310", "https://mdn.mozillademos.org/files/202/Canvas_animation1.png")}}

- -

Un rellotge animat

- -

Aquest exemple dibuixa un rellotge animat que mostra l'hora actual.

- -
function clock() {
-  var now = new Date();
-  var ctx = document.getElementById('canvas').getContext('2d');
-  ctx.save();
-  ctx.clearRect(0, 0, 150, 150);
-  ctx.translate(75, 75);
-  ctx.scale(0.4, 0.4);
-  ctx.rotate(-Math.PI / 2);
-  ctx.strokeStyle = 'black';
-  ctx.fillStyle = 'white';
-  ctx.lineWidth = 8;
-  ctx.lineCap = 'round';
-
-  // Hour marks
-  ctx.save();
-  for (var i = 0; i < 12; i++) {
-    ctx.beginPath();
-    ctx.rotate(Math.PI / 6);
-    ctx.moveTo(100, 0);
-    ctx.lineTo(120, 0);
-    ctx.stroke();
-  }
-  ctx.restore();
-
-  // Minute marks
-  ctx.save();
-  ctx.lineWidth = 5;
-  for (i = 0; i < 60; i++) {
-    if (i % 5!= 0) {
-      ctx.beginPath();
-      ctx.moveTo(117, 0);
-      ctx.lineTo(120, 0);
-      ctx.stroke();
-    }
-    ctx.rotate(Math.PI / 30);
-  }
-  ctx.restore();
-
-  var sec = now.getSeconds();
-  var min = now.getMinutes();
-  var hr  = now.getHours();
-  hr = hr >= 12 ? hr - 12 : hr;
-
-  ctx.fillStyle = 'black';
-
-  // write Hours
-  ctx.save();
-  ctx.rotate(hr * (Math.PI / 6) + (Math.PI / 360) * min + (Math.PI / 21600) *sec);
-  ctx.lineWidth = 14;
-  ctx.beginPath();
-  ctx.moveTo(-20, 0);
-  ctx.lineTo(80, 0);
-  ctx.stroke();
-  ctx.restore();
-
-  // write Minutes
-  ctx.save();
-  ctx.rotate((Math.PI / 30) * min + (Math.PI / 1800) * sec);
-  ctx.lineWidth = 10;
-  ctx.beginPath();
-  ctx.moveTo(-28, 0);
-  ctx.lineTo(112, 0);
-  ctx.stroke();
-  ctx.restore();
-
-  // Write seconds
-  ctx.save();
-  ctx.rotate(sec * Math.PI / 30);
-  ctx.strokeStyle = '#D40000';
-  ctx.fillStyle = '#D40000';
-  ctx.lineWidth = 6;
-  ctx.beginPath();
-  ctx.moveTo(-30, 0);
-  ctx.lineTo(83, 0);
-  ctx.stroke();
-  ctx.beginPath();
-  ctx.arc(0, 0, 10, 0, Math.PI * 2, true);
-  ctx.fill();
-  ctx.beginPath();
-  ctx.arc(95, 0, 10, 0, Math.PI * 2, true);
-  ctx.stroke();
-  ctx.fillStyle = 'rgba(0, 0, 0, 0)';
-  ctx.arc(0, 0, 3, 0, Math.PI * 2, true);
-  ctx.fill();
-  ctx.restore();
-
-  ctx.beginPath();
-  ctx.lineWidth = 14;
-  ctx.strokeStyle = '#325FA2';
-  ctx.arc(0, 0, 142, 0, Math.PI * 2, true);
-  ctx.stroke();
-
-  ctx.restore();
-
-  window.requestAnimationFrame(clock);
-}
-
-window.requestAnimationFrame(clock);
- - - -

{{EmbedLiveSample("An_animated_clock", "180", "180", "https://mdn.mozillademos.org/files/203/Canvas_animation2.png")}}

- -

Un panorama en bucle

- -

En aquest exemple, es desplaça una imatge panoràmica d'esquerra a dreta. Estem usant una imatge del Parc Nacional Yosemite, que hem pres de Wikipedia, però es pot usar qualsevol imatge que sigui més gran que el llenç.

- -
var img = new Image();
-
-// User Variables - customize these to change the image being scrolled, its
-// direction, and the speed.
-
-img.src = 'https://mdn.mozillademos.org/files/4553/Capitan_Meadows,_Yosemite_National_Park.jpg';
-var CanvasXSize = 800;
-var CanvasYSize = 200;
-var speed = 30; // lower is faster
-var scale = 1.05;
-var y = -4.5; // vertical offset
-
-// Main program
-
-var dx = 0.75;
-var imgW;
-var imgH;
-var x = 0;
-var clearX;
-var clearY;
-var ctx;
-
-img.onload = function() {
-    imgW = img.width * scale;
-    imgH = img.height * scale;
-
-    if (imgW > CanvasXSize) {
-        // image larger than canvas
-        x = CanvasXSize - imgW;
-    }
-    if (imgW > CanvasXSize) {
-        // image width larger than canvas
-        clearX = imgW;
-    } else {
-        clearX = CanvasXSize;
-    }
-    if (imgH > CanvasYSize) {
-        // image height larger than canvas
-        clearY = imgH;
-    } else {
-        clearY = CanvasYSize;
-    }
-
-    // get canvas context
-    ctx = document.getElementById('canvas').getContext('2d');
-
-    // set refresh rate
-    return setInterval(draw, speed);
-}
-
-function draw() {
-    ctx.clearRect(0, 0, clearX, clearY); // clear the canvas
-
-    // if image is <= Canvas Size
-    if (imgW <= CanvasXSize) {
-        // reset, start from beginning
-        if (x > CanvasXSize) {
-            x = -imgW + x;
-        }
-        // draw additional image1
-        if (x > 0) {
-            ctx.drawImage(img, -imgW + x, y, imgW, imgH);
-        }
-        // draw additional image2
-        if (x - imgW > 0) {
-            ctx.drawImage(img, -imgW * 2 + x, y, imgW, imgH);
-        }
-    }
-
-    // image is > Canvas Size
-    else {
-        // reset, start from beginning
-        if (x > (CanvasXSize)) {
-            x = CanvasXSize - imgW;
-        }
-        // draw aditional image
-        if (x > (CanvasXSize-imgW)) {
-            ctx.drawImage(img, x - imgW + 1, y, imgW, imgH);
-        }
-    }
-    // draw image
-    ctx.drawImage(img, x, y,imgW, imgH);
-    // amount to move
-    x += dx;
-}
-
- -

A continuació un {{HTMLElement("canvas")}} en què es desplaça la imatge. Hem de tenir en compte que l'amplada i l'alçada especificades aquí, han de coincidir amb els valors de les variables CanvasXZSize i CanvasYSize en el codi JavaScript.

- -
<canvas id="canvas" width="800" height="200"></canvas>
- -

{{EmbedLiveSample("A_looping_panorama", "830", "230")}}

- -

Altres exemples

- -
-
Una roda de raigs bàsica
-
Un bon exemple de com fer animacions usant els controls del teclat.
-
Animacions avançades
-
En el proper capítol veurem algunes tècniques avançades d'animació i física.
-
- -

{{PreviousNext("Web/API/Canvas_API/Tutorial/Compositing", "Web/API/Canvas_API/Tutorial/Advanced_animations")}}

diff --git a/files/ca/web/api/canvas_api/tutorial/aplicar_estils_i_colors/index.html b/files/ca/web/api/canvas_api/tutorial/aplicar_estils_i_colors/index.html deleted file mode 100644 index 9adcc2d5f4..0000000000 --- a/files/ca/web/api/canvas_api/tutorial/aplicar_estils_i_colors/index.html +++ /dev/null @@ -1,733 +0,0 @@ ---- -title: Aplicar estils i colors -slug: Web/API/Canvas_API/Tutorial/Aplicar_estils_i_colors -tags: - - Canvas - - Graphics - - HTML - - HTML5 - - Intermediate - - Tutorial -translation_of: Web/API/Canvas_API/Tutorial/Applying_styles_and_colors ---- -
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Drawing_shapes", "Web/API/Canvas_API/Tutorial/Drawing_text")}}
- -
-

En el capítol sobre dibuixar formes, hem utilitzat només els estils de línia i de farciment predeterminats. Aquí explorarem les opcions de canvas que tenim a la nostra disposició per fer els nostres dibuixos una mica més atractius. Aprendreu com afegir diferents colors, estils de línies, gradients, patrons i ombres als vostres dibuixos.

-
- -

Colors

- -

Fins ara només hem vist mètodes del context de dibuix. Si volem aplicar colors a una forma, hi ha dues propietats importants que podem utilitzar: fillStyle i strokeStyle.

- -
-
{{domxref("CanvasRenderingContext2D.fillStyle", "fillStyle = color")}}
-
Estableix l'estil utilitzat per emplenar formes.
-
{{domxref("CanvasRenderingContext2D.strokeStyle", "strokeStyle = color")}}
-
Estableix l'estil per als contorns de les formes.
-
- -

color és una cadena que representa un {{cssxref("<color>")}} CSS, un objecte degradat o un objecte patró. Veurem els objectes de degradat i patró més endavant. Per defecte, el traç i el color del farciment estan establerts en negre (valor de color CSS #000000).

- -
-

Nota: Quan es defineix la propietat strokeStyle i/o fillStyle, el nou valor es converteix en el valor predeterminat per a totes les formes que s'estan dibuixant a partir d'aquest moment. Per a cada forma que desitgeu en un color diferent, haureu de tornar a assignar la propietat fillStyle o strokeStyle.

-
- -

Les cadenes vàlides que podeu introduir han de ser, segons l'especificació, valors de {{cssxref("<color>")}} CSS. Cadascun dels següents exemples descriu el mateix color.

- -
// these all set the fillStyle to 'orange'
-
-ctx.fillStyle = 'orange';
-ctx.fillStyle = '#FFA500';
-ctx.fillStyle = 'rgb(255, 165, 0)';
-ctx.fillStyle = 'rgba(255, 165, 0, 1)';
-
- -

Un exemple de fillStyle

- -

En aquest exemple, una vegada més, usem dos bucles for per dibuixar una graella de rectangles, cadascun en un color diferent. La imatge resultant hauria de ser similar a la captura de pantalla. Aquí no succeeix res espectacular. Utilitzem les dues variables i i j per generar un color RGB únic per a cada quadrat, i només modifiquen els valors vermell i verd. El canal blau té un valor fix. Modificant els canals, es poden generar tot tipus de paletes. En augmentar els passos, es pot aconseguir alguna cosa que se sembli a les paletes de color que utilitza Photoshop.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  for (var i = 0; i < 6; i++) {
-    for (var j = 0; j < 6; j++) {
-      ctx.fillStyle = 'rgb(' + Math.floor(255 - 42.5 * i) + ', ' +
-                       Math.floor(255 - 42.5 * j) + ', 0)';
-      ctx.fillRect(j * 25, i * 25, 25, 25);
-    }
-  }
-}
- - - -

The result looks like this:

- -

{{EmbedLiveSample("A_fillStyle_example", 160, 160, "https://mdn.mozillademos.org/files/5417/Canvas_fillstyle.png")}}

- -

Un exemple de strokeStyle

- -

Aquest exemple és similar a l'anterior, però usa la propietat strokeStyle per canviar els colors dels contorns de les formes. Usem el mètode arc() per dibuixar cercles en lloc de quadrats.

- -
  function draw() {
-    var ctx = document.getElementById('canvas').getContext('2d');
-    for (var i = 0; i < 6; i++) {
-      for (var j = 0; j < 6; j++) {
-        ctx.strokeStyle = 'rgb(0, ' + Math.floor(255 - 42.5 * i) + ', ' +
-                         Math.floor(255 - 42.5 * j) + ')';
-        ctx.beginPath();
-        ctx.arc(12.5 + j * 25, 12.5 + i * 25, 10, 0, Math.PI * 2, true);
-        ctx.stroke();
-      }
-    }
-  }
-
- - - -

El resultat és així:

- -

{{EmbedLiveSample("A_strokeStyle_example", "180", "180", "https://mdn.mozillademos.org/files/253/Canvas_strokestyle.png")}}

- -

Transparència

- -

A més de dibuixar formes opaques al llenç, també podem dibuixar formes semitransparents (o translúcides). Això es fa, ja sigui configurant la propietat globalAlpha o assignant un color semitransparent a l'estil de traç i/o d'ompliment.

- -
-
{{domxref("CanvasRenderingContext2D.globalAlpha", "globalAlpha = transparencyValue")}}
-
Aplica el valor de transparència especificat a totes les formes futures dibuixades en el llenç. El valor ha d'estar entre 0,0 (totalment transparent) a 1.0 (totalment opac). Aquest valor és 1.0 (totalment opac) per defecte.
-
- -

La propietat globalAlpha pot ser útil si voleu dibuixar moltes formes al llenç amb una transparència similar, però en general, és més útil establir la transparència en formes individuals quan establiu els seus colors.

- -

Atès que les propietats strokeStyle and fillStyle accepten valors de color CSS rgba, podem utilitzar la notació següent per assignar un color transparent a ells.

- -
// Assignar colors transparents a l'estil de traç i ompliment
-
-ctx.strokeStyle = 'rgba(255, 0, 0, 0.5)';
-ctx.fillStyle = 'rgba(255, 0, 0, 0.5)';
-
- -

La funció rgba() és similar a la funció rgb() però té un paràmetre addicional. L'últim paràmetre estableix el valor de transparència d'aquest color en particular. El rang vàlid se situa de nou entre 0.0 (totalment transparent) i 1.0 (completament opac).

- -

Un exemple de globalAlpha

- -

En aquest exemple, dibuixarem un fons de quatre quadrats de colors diferents. A més d'això, dibuixarem un conjunt de cercles semitransparents. La propietat globalAlpha s'estableix en 0.2 que s'utilitzarà per a totes les formes des d'aquest punt. Cada pas en el bucle for dibuixa un conjunt de cercles amb un radi creixent. El resultat final és un gradient radial. En superposar cada vegada més cercles un damunt de l'altre, reduïm efectivament la transparència dels cercles que ja s'han dibuixat. En augmentar el recompte de passos i, en efecte, dibuixar més cercles, el fons desapareixeria completament del centre de la imatge.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  // draw background
-  ctx.fillStyle = '#FD0';
-  ctx.fillRect(0, 0, 75, 75);
-  ctx.fillStyle = '#6C0';
-  ctx.fillRect(75, 0, 75, 75);
-  ctx.fillStyle = '#09F';
-  ctx.fillRect(0, 75, 75, 75);
-  ctx.fillStyle = '#F30';
-  ctx.fillRect(75, 75, 75, 75);
-  ctx.fillStyle = '#FFF';
-
-  // set transparency value
-  ctx.globalAlpha = 0.2;
-
-  // Draw semi transparent circles
-  for (i = 0; i < 7; i++) {
-    ctx.beginPath();
-    ctx.arc(75, 75, 10 + 10 * i, 0, Math.PI * 2, true);
-    ctx.fill();
-  }
-}
- - - -

{{EmbedLiveSample("A_globalAlpha_example", "180", "180", "https://mdn.mozillademos.org/files/232/Canvas_globalalpha.png")}}

- -

Un exemple usant rgba()

- -

En aquest segon exemple, fem alguna cosa semblant a l'anterior, però en comptes de dibuixar cercles un damunt de l'altre, dibuixem petits rectangles amb opacitat creixent. L'ús de rgba() dóna una mica més de control i flexibilitat, perquè podem definir l'estil d'emplenament i traç individualment.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  // Draw background
-  ctx.fillStyle = 'rgb(255, 221, 0)';
-  ctx.fillRect(0, 0, 150, 37.5);
-  ctx.fillStyle = 'rgb(102, 204, 0)';
-  ctx.fillRect(0, 37.5, 150, 37.5);
-  ctx.fillStyle = 'rgb(0, 153, 255)';
-  ctx.fillRect(0, 75, 150, 37.5);
-  ctx.fillStyle = 'rgb(255, 51, 0)';
-  ctx.fillRect(0, 112.5, 150, 37.5);
-
-  // Draw semi transparent rectangles
-  for (var i = 0; i < 10; i++) {
-    ctx.fillStyle = 'rgba(255, 255, 255, ' + (i + 1) / 10 + ')';
-    for (var j = 0; j < 4; j++) {
-      ctx.fillRect(5 + i * 14, 5 + j * 37.5, 14, 27.5);
-    }
-  }
-}
- - - -

{{EmbedLiveSample("An_example_using_rgba()", "180", "180", "https://mdn.mozillademos.org/files/246/Canvas_rgba.png")}}

- -

Estils de línia

- -

Hi ha diverses propietats que ens permeten donar estil a les línies.

- -
-
{{domxref("CanvasRenderingContext2D.lineWidth", "lineWidth = value")}}
-
Estableix l'amplària de les línies dibuixades en el futur.
-
{{domxref("CanvasRenderingContext2D.lineCap", "lineCap = type")}}
-
Estableix l'aparença dels extrems de les línies.
-
{{domxref("CanvasRenderingContext2D.lineJoin", "lineJoin = type")}}
-
Estableix l'aparença de les "cantonades" on s'uneixen les línies.
-
{{domxref("CanvasRenderingContext2D.miterLimit", "miterLimit = value")}}
-
Estableix un límit en la mitra, quan dues línies s'uneixen en un angle agut, per permetre-li controlar el grossor de la unió.
-
{{domxref("CanvasRenderingContext2D.getLineDash", "getLineDash()")}}
-
Retorna la matriu de patró de guió de la línia actual que conté un nombre parell de nombres no negatius.
-
{{domxref("CanvasRenderingContext2D.setLineDash", "setLineDash(segments)")}}
-
Estableix el patró de guió de línia actual.
-
{{domxref("CanvasRenderingContext2D.lineDashOffset", "lineDashOffset = value")}}
-
Especifica on iniciar una matriu de guions en una línia.
-
- -

Obtindreu una millor comprensió del que fan, en mirar els exemples a continuació.

- -

Un exemple de lineWidth

- -

Aquesta propietat estableix el gruix de la línia actual. Els valors han de ser nombres positius. Per defecte, aquest valor es fixa en 1.0 unitats.

- -

L'amplada de la línia és el gruix del traç centrat en la trajectòria indicada. En altres paraules, l'àrea que es dibuixa s'estén a la meitat de l'amplària de línia a cada costat de la trajectòria. Com que les coordenades del llenç no fan referència directa als píxels, s'ha de tenir especial cura per obtenir línies horitzontals i verticals nítides.

- -

En el següent exemple, es dibuixen 10 línies rectes amb amplades de línia creixents. La línia en l'extrem esquerre té 1.0 unitats d'ample. No obstant això, les línies de grossor més a l'esquerra i totes les altres d'ample imparell no apareixen nítides a causa del posicionament de la trajectòria.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  for (var i = 0; i < 10; i++) {
-    ctx.lineWidth = 1 + i;
-    ctx.beginPath();
-    ctx.moveTo(5 + i * 14, 5);
-    ctx.lineTo(5 + i * 14, 140);
-    ctx.stroke();
-  }
-}
-
- - - -

{{EmbedLiveSample("A_lineWidth_example", "180", "180", "https://mdn.mozillademos.org/files/239/Canvas_linewidth.png")}}

- -

L'obtenció de línies nítides requereix entendre com es tracen les trajectòries. En les imatges següents, la graella representa la graella de coordenades del llenç. Els quadrats entre les línies de la graella són píxels reals en pantalla. En la primera imatge de graella que apareix a continuació, s'emplena un rectangle de (2,1) a (5,5). Tota l'àrea entre ells (vermell clar) cau en els límits de píxels, per la qual cosa el rectangle emplenat resultant tindrà vores nítides.

- -

- -

Si es considera una trajectòria de (3,1) a (3,5) amb un gruix de línia  1.0, s'acaba amb la situació en la segona imatge. L'àrea real a emplenar (blau fosc) només s'estén fins a la meitat dels píxels a cada costat de la trajectòria. S'ha de representar una aproximació d'això, la qual cosa significa que aquests píxels estan ombrejats parcialment, i dóna com a resultat que tota l'àrea (blau clar i blau fosc) s'ompli amb un color la meitat de fosc que el color de traç real. Això és el que succeeix amb la línia d'ample 1.0 en el codi d'exemple anterior .

- -

Per arreglar això, s'ha de ser molt precís en la creació de la trajectòria. Sabent que una línia a 1.0 d'ample s'estendrà mitja unitat a cada costat de la trajectòria, creant la trajectòria de (3.5,1) a (3.5,5) resulta que la situació, en la tercera imatge, la línia d'ample 1.0 acaba completa i omplint, precisament, una sola línia vertical de píxels.

- -
-

Nota: Hem de tenir en compte que en el nostre exemple de línia vertical, la posició Y encara fa referència a una posició sencera de la graella; si no fos així, veuríem píxels amb una cobertura parcial en els punts finals (però també, hem de tenir en compte que aquest comportament depèn de l'estil actual de lineCap, el valor predeterminat del qual és butt; és possible que desitgem calcular traços uniformes amb coordenades de mig píxel per a línies d'ample imparell, establint l'estil lineCap a estil square, de manera que el límit exterior del traç al voltant del punt final s'ampliï automàticament per cobrir tot el píxel exactament).

- -

Tinguem en compte, també, que només es veuran afectats els extrems d'inici i fi d'una trajectòria: si es tanca una trajectòria amb closePath(), no hi ha un punt d'inici i final; en el seu lloc, tots els extrems de la trajectòria es connecten al segment anterior i següent utilitzant, la configuració actual de l'estil lineJoin, el valor predeterminat del qual és miter, amb l'efecte d'estendre automàticament els límits exteriors dels segments connectats al seu punt d'intersecció, de manera que el traç representat cobreixi exactament els píxels complets centrats en cada punt final, si aquests segments connectats són horitzontals i/o verticals). Vegeu les dues seccions següents per a les demostracions d'aquests estils de línia addicionals..

-
- -

Per a les línies d'ample parell, cada meitat acaba sent una quantitat sencera de píxels, per la qual cosa es desitjable una trajectòria que estigui entre els píxels (és a dir, (3,1) a (3,5)), en lloc de baixar per la mitad dels píxels

- -

Tot i que és lleugerament dolorós quan inicialment es treballa amb gràfics 2D escalables, si ens fixem en la graella de píxels i la posició de les trajectòries, ens hem d'assegurar que els dibuixos es vegin correctes, independentment de l'escalat o qualsevol altra transformació. Una línia vertical de 1.0 d'ample dibuixada en la posició correcta, es convertirà en una línia nítida de 2 píxels quan s'ampliï per 2, i apareixerà en la posició correcta.

- -

Un exemple de lineCap

- -

La propietat lineCap determina com es dibuixen els punts finals de cada línia. Hi ha tres valors possibles per a aquesta propietat i aquests són: butt, round i square. Per defecte, aquesta propietat està configurada com a butt.

- -

- -
-
butt
-
Els extrems de les línies es quadren en els punts finals.
-
round
-
Els extrems de les línies són arrodonits.
-
square
-
Els extrems de les línies es quadren en afegir una caixa amb un ample igual i la meitat de l'alçada del gruix de la línia.
-
- -

En aquest exemple, dibuixarem tres línies, cadascuna amb un valor diferent per a la propietat lineCap. També afegim dues guies per veure les diferències exactes entre les tres. Cadascuna d'aquestes línies comença i acaba exactament en aquestes guies.

- -

La línia de l'esquerra utilitza l'opció predeterminada butt. Notarem que està dibuixada completament al ras amb les guies. La segona s'estableix, utilitzant l'opció round. Això afegeix un semicercle al extrem que té un radi de la meitat de l'ample de la línia. La línia de la dreta utilitza l'opció square. Això afegeix una caixa amb un ample igual i la meitat de l'alçada del gruix de la línia.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  var lineCap = ['butt', 'round', 'square'];
-
-  // Draw guides
-  ctx.strokeStyle = '#09f';
-  ctx.beginPath();
-  ctx.moveTo(10, 10);
-  ctx.lineTo(140, 10);
-  ctx.moveTo(10, 140);
-  ctx.lineTo(140, 140);
-  ctx.stroke();
-
-  // Draw lines
-  ctx.strokeStyle = 'black';
-  for (var i = 0; i < lineCap.length; i++) {
-    ctx.lineWidth = 15;
-    ctx.lineCap = lineCap[i];
-    ctx.beginPath();
-    ctx.moveTo(25 + i * 50, 10);
-    ctx.lineTo(25 + i * 50, 140);
-    ctx.stroke();
-  }
-}
-
- - - -

{{EmbedLiveSample("A_lineCap_example", "180", "180", "https://mdn.mozillademos.org/files/236/Canvas_linecap.png")}}

- -

Un exemple de lineJoin

- -

La propietat lineJoin determina com s'uneixen dos segments de connexió (de línies, arcs o corbes) amb longituds diferents de zero en una forma (els segments degenerats amb longituds zero, que els punts finals i punts de control especificats estan exactament en la mateixa posició, s'ometen).

- -

Hi ha tres possibles valors per a aquesta propietat: round, bevel i miter. Per defecte aquesta propietat s'estableix a miter. Hem de tenir en compte que la configuració lineJoin no té cap efecte si els dos segments connectats tenen la mateixa direcció, ja que en aquest cas no s'afegirà cap àrea d'unió.

- -

- -
-
round
-
Arrodoneix les cantonades d'una forma emplenant un sector addicional del disc centrat en el punt final comú dels segments connectats. El radi per a aquestes cantonades arrodonides és igual a la meitat de l'amplada de la línia.
-
bevel
-
Emplena un àrea triangular addicional entre el punt final comú dels segments connectats i les cantonades rectangulars exteriors separades de cada segment..
-
miter
-
Els segments connectats s'uneixen estenent les seves vores exteriors per connectar-se en un sol punt, amb l'efecte d'emplenar un àrea addicional en forma de rombe. Aquest ajust s'efectua mitjançant la propietat miterLimit, que s'explica a continuació.
-
- -

L'exemple següent dibuixa tres trajectòries diferents, demostrant cadascuna d'aquestes tres configuracions de la propietat lineJoin; la sortida es mostra a dalt..

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  var lineJoin = ['round', 'bevel', 'miter'];
-  ctx.lineWidth = 10;
-  for (var i = 0; i < lineJoin.length; i++) {
-    ctx.lineJoin = lineJoin[i];
-    ctx.beginPath();
-    ctx.moveTo(-5, 5 + i * 40);
-    ctx.lineTo(35, 45 + i * 40);
-    ctx.lineTo(75, 5 + i * 40);
-    ctx.lineTo(115, 45 + i * 40);
-    ctx.lineTo(155, 5 + i * 40);
-    ctx.stroke();
-  }
-}
-
- - - -

{{EmbedLiveSample("A_lineJoin_example", "180", "180", "https://mdn.mozillademos.org/files/237/Canvas_linejoin.png")}}

- -

Una demostració de la propietat miterLimit

- -

Com s'ha vist en l'exemple anterior, en unir dues línies amb l'opció miter, les vores exteriors de les dues línies d'unió s'estenen fins al punt on es troben. En el cas de línies que tenen angles grans entre si, aquest punt no està lluny del punt de connexió interior. No obstant això, a mesura que els angles entre cada línia disminueixen, la distància (longitud de miter) entre aquests punts augmenta exponencialment.

- -

La propietat miterLimit determina quant lluny es pot col·locar el punt de connexió exterior des del punt de connexió interior. Si dues línies excedeixen aquest valor, es dibuixa una unió bisellada. S'ha de tenir en compte que la longitud màxima de miter és el producte de l'amplada de línia mesurat en el sistema de coordenades actual, pel valor d'aquesta propietat miterLimit  (el valor per defecte és 10.0 en HTML {{HTMLElement("canvas")}}), per la qual cosa miterLimit pot ajustar-se independentment de l'escala de visualització actual o de qualsevol transformació afí de les trajectòries: només influeix en la forma efectiva de les vores de la línia representada.

- -

Més exactament, el límit de miter és la proporció màxima permesa de la longitud de l'extensió (en el llenç HTML, es mesura entre la cantonada exterior de les vores unides de la línia i el punt final comú dels segments de connexió especificats en la trajectòria) a la meitat de l'ample de la línia. La seva definició equival a la relació màxima permesa entre la distància dels punts interiors i exteriors de la unió de les vores i l'amplada total de la línia. Llavors, aixó és igual a la cosecant de la meitat de l'angle intern mínim dels segments de connexió per sota dels quals no es representarà cap unió miter, sinó només una unió bisellada:

- - - -

Aquí tenim una petita demostració en la qual es pot configura miterLimit dinàmicament i veure com aquest afecta a les formes en el llenç. Les línies blaves mostren on es troben els punts d'inici i fi per a cadascuna de les línies en el patró de zig-zag.

- -

Si s'especifica un valor de miterLimit inferior a 4.2, en aquesta demostració, cap de les cantonades visibles s'unirà amb una extensió de miter, només hi haurà un petit bisell prop de les línies blaves; amb un miterLimit superior a 10, la majoria de les cantonades d'aquesta demostració haurien d'unir-se amb un miter allunyat de les línies blaves, i l'alçada del qual disminuiria entre les cantonades, d'esquerra a dreta perquè es connectarien amb angles creixents ; amb valors intermedis, les cantonades del costat esquerre només s'uneixen amb un bisell prop de les línies blaves, i les cantonades del costat dret amb una extensió de miter (també amb una altçada decreixent).

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  // Clear canvas
-  ctx.clearRect(0, 0, 150, 150);
-
-  // Draw guides
-  ctx.strokeStyle = '#09f';
-  ctx.lineWidth   = 2;
-  ctx.strokeRect(-5, 50, 160, 50);
-
-  // Set line styles
-  ctx.strokeStyle = '#000';
-  ctx.lineWidth = 10;
-
-  // check input
-  if (document.getElementById('miterLimit').value.match(/\d+(\.\d+)?/)) {
-    ctx.miterLimit = parseFloat(document.getElementById('miterLimit').value);
-  } else {
-    alert('Value must be a positive number');
-  }
-
-  // Draw lines
-  ctx.beginPath();
-  ctx.moveTo(0, 100);
-  for (i = 0; i < 24 ; i++) {
-    var dy = i % 2 == 0 ? 25 : -25;
-    ctx.lineTo(Math.pow(i, 1.5) * 2, 75 + dy);
-  }
-  ctx.stroke();
-  return false;
-}
-
- - - -

{{EmbedLiveSample("A_demo_of_the_miterLimit_property", "400", "180", "https://mdn.mozillademos.org/files/240/Canvas_miterlimit.png")}}

- -

Ús de guions de línia

- -

El mètode setLineDash i la propietat lineDashOffset especifiquen el patró de guió per a les línies. El mètode setLineDash accepta una llista de nombres que especifica distàncies per dibuixar alternativament una línia i un buit i la propietat lineDashOffset estableix un desplaçament on començar el patró

- -

En aquest exemple estem creant un efecte de formigues marxant. És una tècnica d'animació que es troba sovint en les eines de selecció de programes gràfics d'ordinador. Ajuda a l'usuari a distingir la vora de selecció del fons de la imatge, animant la vora. Més endavant, en aquest tutorial, podeu aprendre com fer-ho i altres animacions bàsiques.

- - - -
var ctx = document.getElementById('canvas').getContext('2d');
-var offset = 0;
-
-function draw() {
-  ctx.clearRect(0, 0, canvas.width, canvas.height);
-  ctx.setLineDash([4, 2]);
-  ctx.lineDashOffset = -offset;
-  ctx.strokeRect(10, 10, 100, 100);
-}
-
-function march() {
-  offset++;
-  if (offset > 16) {
-    offset = 0;
-  }
-  draw();
-  setTimeout(march, 20);
-}
-
-march();
- -

{{EmbedLiveSample("Using_line_dashes", "120", "120", "https://mdn.mozillademos.org/files/9853/marching-ants.png")}}

- -

Gradients

- -

Igual que qualsevol altre programa normal de dibuix , podem emplenar i traçar formes usant, gradients lineals i radials. Es crea un objecte {{domxref("CanvasGradient")}} utilitzant un dels mètodes següents. A continuació, podem assignar aquest objecte a les propietats fillStyle o strokeStyle.

- -
-
{{domxref("CanvasRenderingContext2D.createLinearGradient", "createLinearGradient(x1, y1, x2, y2)")}}
-
Crea un objecte de degradat lineal amb un punt inicial de (x1, y1) i un punt final de (x2, y2).
-
{{domxref("CanvasRenderingContext2D.createRadialGradient", "createRadialGradient(x1, y1, r1, x2, y2, r2)")}}
-
Crea un degradat radial. Els paràmetres representen dos cercles, un amb el seu centre en (x1, y1) i un radi de r1, i l'altre amb el seu centre en (x2, y2) amb un radi de r2.
-
- -

Per exemple:

- -
var lineargradient = ctx.createLinearGradient(0, 0, 150, 150);
-var radialgradient = ctx.createRadialGradient(75, 75, 0, 75, 75, 100);
-
- -

Una vegada s'ha creat un objecte CanvasGradient se li pot assignar colors usant el mètode addColorStop().

- -
-
{{domxref("CanvasGradient.addColorStop", "gradient.addColorStop(position, color)")}}
-
Crea una nova parada de color en l'objecte gradient. position és un nombre entre 0.0 i 1.0 i defineix la posició relativa del color en el degradat,  i l'argument color, ha de ser una cadena que representi un {{cssxref("<color>")}} CSS, indicant el color que el gradient ha d'aconseguir en aquest desplaçament en la transició.
-
- -

Es pot afegir tantes parades de color, a un gardient, com es necessiti. A continuació, es mostra un gradient lineal molt simple de blanc a negre.

- -
var lineargradient = ctx.createLinearGradient(0, 0, 150, 150);
-lineargradient.addColorStop(0, 'white');
-lineargradient.addColorStop(1, 'black');
-
- -

Un exemple de createLinearGradient

- -

En aquest exemple, es crearà dos gradientss diferents. Com es podrà veure aquí, tant les propietats strokeStyle com fillStyle poden acceptar un objecte canvasGradient com a entrada vàlida.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  // Create gradients
-  var lingrad = ctx.createLinearGradient(0, 0, 0, 150);
-  lingrad.addColorStop(0, '#00ABEB');
-  lingrad.addColorStop(0.5, '#fff');
-  lingrad.addColorStop(0.5, '#26C000');
-  lingrad.addColorStop(1, '#fff');
-
-  var lingrad2 = ctx.createLinearGradient(0, 50, 0, 95);
-  lingrad2.addColorStop(0.5, '#000');
-  lingrad2.addColorStop(1, 'rgba(0, 0, 0, 0)');
-
-  // assign gradients to fill and stroke styles
-  ctx.fillStyle = lingrad;
-  ctx.strokeStyle = lingrad2;
-
-  // draw shapes
-  ctx.fillRect(10, 10, 130, 130);
-  ctx.strokeRect(50, 50, 50, 50);
-
-}
-
- - - -

El primer és un gradient de fons. Com es veu, s'assignen dos colors a la mateixa posició. Això es fa per fer transicions de color molt nítides, en aquest cas del blanc al verd. No importa en quina ordre es defineixin les parades de color, però en aquest cas especial, ho fa de forma significativa. Si es mantenen les tasques en l'ordre en què es desitja que apareguin, això no serà un problema.

- -

En el segon gradient, no s'assigna el color inicial (a la posició 0.0), ja que no és estrictament necessari, perquè automàticament assumirà el color de la següent parada de color. Per tant, l'assignació del color negre en la posició 0.5, automàticament fa que el gradient, des de l'inici fins a aquest punt, sigui negre.

- -

{{EmbedLiveSample("A_createLinearGradient_example", "180", "180", "https://mdn.mozillademos.org/files/235/Canvas_lineargradient.png")}}

- -

Un exemple de createRadialGradient

- -

En aquest exemple, definim quatre gradients radials diferents. Com que tenim el control sobre els punts d'inici i de tancament del gradient, podem aconseguir efectes més complexos del que normalment tindríem en els gradients radials "clàssics" que veiem, per exemple, en Photoshop (és a dir, un gradient amb un únic punt central, on el gradient s'expandeix cap a l'exterior en forma circular).

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  // Create gradients
-  var radgrad = ctx.createRadialGradient(45, 45, 10, 52, 50, 30);
-  radgrad.addColorStop(0, '#A7D30C');
-  radgrad.addColorStop(0.9, '#019F62');
-  radgrad.addColorStop(1, 'rgba(1, 159, 98, 0)');
-
-  var radgrad2 = ctx.createRadialGradient(105, 105, 20, 112, 120, 50);
-  radgrad2.addColorStop(0, '#FF5F98');
-  radgrad2.addColorStop(0.75, '#FF0188');
-  radgrad2.addColorStop(1, 'rgba(255, 1, 136, 0)');
-
-  var radgrad3 = ctx.createRadialGradient(95, 15, 15, 102, 20, 40);
-  radgrad3.addColorStop(0, '#00C9FF');
-  radgrad3.addColorStop(0.8, '#00B5E2');
-  radgrad3.addColorStop(1, 'rgba(0, 201, 255, 0)');
-
-  var radgrad4 = ctx.createRadialGradient(0, 150, 50, 0, 140, 90);
-  radgrad4.addColorStop(0, '#F4F201');
-  radgrad4.addColorStop(0.8, '#E4C700');
-  radgrad4.addColorStop(1, 'rgba(228, 199, 0, 0)');
-
-  // draw shapes
-  ctx.fillStyle = radgrad4;
-  ctx.fillRect(0, 0, 150, 150);
-  ctx.fillStyle = radgrad3;
-  ctx.fillRect(0, 0, 150, 150);
-  ctx.fillStyle = radgrad2;
-  ctx.fillRect(0, 0, 150, 150);
-  ctx.fillStyle = radgrad;
-  ctx.fillRect(0, 0, 150, 150);
-}
-
- - - -

En aquest cas, hem desplaçat lleugerament el punt d'inici des del punt final per aconseguir un efecte 3D esfèric. Lo millor es tractar d'evitar que els cercles interns i externs se superposin, ja que això genera efectes estranys que són difícils de predir.

- -

L'última parada de color en cadascun dels quatre gradients, utilitza un color completament transparent. Si es desitja tenir una bona transició, d'aquesta a la parada de color anterior, tots dos colors han de ser iguals. Això no és molt obvi del codi, perquè utilitza dos mètodes de color CSS diferents com a demostració, però en el primer gradient #019F62 = rgba(1,159,98,1).

- -

{{EmbedLiveSample("A_createRadialGradient_example", "180", "180", "https://mdn.mozillademos.org/files/244/Canvas_radialgradient.png")}}

- -

Patrons

- -

En un dels exemples de la pàgina anterior, hem utilitzat una sèrie de bucles per crear un patró d'imatges. Hi ha, però, un mètode molt més senzill: el mètode createPattern().

- -
-
{{domxref("CanvasRenderingContext2D.createPattern", "createPattern(image, type)")}}
-
Crea i retorna un nou objecte de patró canvas. image es un {{domxref("CanvasImageSource")}} (és a dir, un {{domxref("HTMLImageElement")}}, altre llenç, un element {{HTMLElement("video")}} o similar. type és una cadena que indica com utilitzar la imatge.
-
- -

Type, especifica com utilitzar la imatge per crear el patró, i ha de ser un dels següents valors de cadena:

- -
-
repeat
-
Teixeix la imatge en ambdues direccions vertical i horitzontal.
-
repeat-x
-
Teixeix la imatge horitzontalment però no verticalment.
-
repeat-y
-
Teixeix la imatge verticalment però no horitzontalment.
-
no-repeat
-
No teixeix la imatge. S'utilitza només una vegada.
-
- -

S'utilitzar aquest mètode per crear un objecte {{domxref("CanvasPattern")}} que és molt similar als mètodes de gradient que hem vist anteriorment. Una vegada que s'ha creat un patró, se li pot assignar les propietats fillStyle o strokeStyle. Per exemple:

- -
var img = new Image();
-img.src = 'someimage.png';
-var ptrn = ctx.createPattern(img, 'repeat');
-
- -
-

Nota: Igual que amb el mètode drawImage(), ens hem d'assegurar que la imatge que utilitzem s'hagi carregat abans de cridar a aquest mètode o que el patró es dibuixi incorrectament.

-
- -

Un exemple de createPattern

- -

En aquest últim exemple, crearem un patró per assignar a la propietat fillStyle. L'únic que cal esmentar, és l'ús del controlador onload de la imatge. Això és per assegurar-se de que la imatge es carregui abans que s'assigni el patró.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  // create new image object to use as pattern
-  var img = new Image();
-  img.src = 'https://mdn.mozillademos.org/files/222/Canvas_createpattern.png';
-  img.onload = function() {
-
-    // create pattern
-    var ptrn = ctx.createPattern(img, 'repeat');
-    ctx.fillStyle = ptrn;
-    ctx.fillRect(0, 0, 150, 150);
-
-  }
-}
-
- - - -

{{EmbedLiveSample("A_createPattern_example", "180", "180", "https://mdn.mozillademos.org/files/222/Canvas_createpattern.png")}}

- -

Ombres (Shadows)

- -

L'ús d'ombres implica només quatre propietats:

- -
-
{{domxref("CanvasRenderingContext2D.shadowOffsetX", "shadowOffsetX = float")}}
-
Indica la distància horitzontal que l'ombra ha d'estendre's des de l'objecte. Aquest valor no es veu afectat per la matriu de transformació. El valor predeterminat és 0.
-
{{domxref("CanvasRenderingContext2D.shadowOffsetY", "shadowOffsetY = float")}}
-
Indica la distància vertical que l'ombra ha d'estendre's des de l'objecte. Aquest valor no es veu afectat per la matriu de transformació. El valor predeterminat és 0.
-
{{domxref("CanvasRenderingContext2D.shadowBlur", "shadowBlur = float")}}
-
Indica la grandària de l'efecte de desenfocament; aquest valor no es correspon a un nombre de píxels i no es veu afectat per la matriu de transformació actual. El valor per defecte és 0.
-
{{domxref("CanvasRenderingContext2D.shadowColor", "shadowColor = color")}}
-
Un valor de color CSS estàndard, que indica el color de l'efecte d'ombra; per defecte, és negre completament transparent.
-
- -

Les propietats shadowOffsetX i shadowOffsetY indiquen fins a on ha d'estendre's l'ombra des de l'objecte en les direccions X i Y; aquests valors no es veuen afectats per la matriu de transformació actual. Utilitzar valors negatius per fer que l'ombra s'estengui cap amunt o cap a l'esquerra, i valors positius perquè l'ombra s'estengui cap avall o cap a la dreta. Tots dos són 0 per defecte.

- -

La propietat shadowBlur indica la grandària de l'efecte de desenfocament; aquest valor no es correspon a un nombre de píxels i no es veu afectat per la matriu de transformació actual. El valor per defecte és 0.

- -

La propietat shadowColor és un valor de color CSS estàndard, que indica el color de l'efecte d'ombra; per defecte, és negre completament transparent.

- -
-

Nota: Les ombres només es dibuixen per a operacions de composició de fonts.

-
- -

Un exemple de text ombrejat

- -

Aquest exemple dibuixa una cadena de text amb un efecte d'ombra.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  ctx.shadowOffsetX = 2;
-  ctx.shadowOffsetY = 2;
-  ctx.shadowBlur = 2;
-  ctx.shadowColor = 'rgba(0, 0, 0, 0.5)';
-
-  ctx.font = '20px Times New Roman';
-  ctx.fillStyle = 'Black';
-  ctx.fillText('Sample String', 5, 30);
-}
-
- - - -

{{EmbedLiveSample("A_shadowed_text_example", "180", "100", "https://mdn.mozillademos.org/files/2505/shadowed-string.png")}}

- -

Veurem la propietat font i el mètode fillText en el següent capítol sobre com dibuixar text.

- -

Regles de farciment del llenç

- -

Quan s'utilitza fill (o {{domxref("CanvasRenderingContext2D.clip", "clip")}} i {{domxref("CanvasRenderingContext2D.isPointInPath", "isPointinPath")}}) es pot proporcionar opcionalment un algorisme de regles de farciment per determinar si un punt està dins o fora d'una trajectòria i, per tant, si s'emplena o no. Això és útil quan una trajectòria es creua o es nia.
-
- Dos valors són possibles:

- - - -

En aquest exemple estem usant la regla evenodd.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  ctx.beginPath();
-  ctx.arc(50, 50, 30, 0, Math.PI * 2, true);
-  ctx.arc(50, 50, 15, 0, Math.PI * 2, true);
-  ctx.fill('evenodd');
-}
- - - -

{{EmbedLiveSample("Canvas_fill_rules", "110", "110", "https://mdn.mozillademos.org/files/9855/fill-rule.png")}}

- -

{{PreviousNext("Web/API/Canvas_API/Tutorial/Drawing_shapes", "Web/API/Canvas_API/Tutorial/Drawing_text")}}

diff --git a/files/ca/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html b/files/ca/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html new file mode 100644 index 0000000000..9adcc2d5f4 --- /dev/null +++ b/files/ca/web/api/canvas_api/tutorial/applying_styles_and_colors/index.html @@ -0,0 +1,733 @@ +--- +title: Aplicar estils i colors +slug: Web/API/Canvas_API/Tutorial/Aplicar_estils_i_colors +tags: + - Canvas + - Graphics + - HTML + - HTML5 + - Intermediate + - Tutorial +translation_of: Web/API/Canvas_API/Tutorial/Applying_styles_and_colors +--- +
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Drawing_shapes", "Web/API/Canvas_API/Tutorial/Drawing_text")}}
+ +
+

En el capítol sobre dibuixar formes, hem utilitzat només els estils de línia i de farciment predeterminats. Aquí explorarem les opcions de canvas que tenim a la nostra disposició per fer els nostres dibuixos una mica més atractius. Aprendreu com afegir diferents colors, estils de línies, gradients, patrons i ombres als vostres dibuixos.

+
+ +

Colors

+ +

Fins ara només hem vist mètodes del context de dibuix. Si volem aplicar colors a una forma, hi ha dues propietats importants que podem utilitzar: fillStyle i strokeStyle.

+ +
+
{{domxref("CanvasRenderingContext2D.fillStyle", "fillStyle = color")}}
+
Estableix l'estil utilitzat per emplenar formes.
+
{{domxref("CanvasRenderingContext2D.strokeStyle", "strokeStyle = color")}}
+
Estableix l'estil per als contorns de les formes.
+
+ +

color és una cadena que representa un {{cssxref("<color>")}} CSS, un objecte degradat o un objecte patró. Veurem els objectes de degradat i patró més endavant. Per defecte, el traç i el color del farciment estan establerts en negre (valor de color CSS #000000).

+ +
+

Nota: Quan es defineix la propietat strokeStyle i/o fillStyle, el nou valor es converteix en el valor predeterminat per a totes les formes que s'estan dibuixant a partir d'aquest moment. Per a cada forma que desitgeu en un color diferent, haureu de tornar a assignar la propietat fillStyle o strokeStyle.

+
+ +

Les cadenes vàlides que podeu introduir han de ser, segons l'especificació, valors de {{cssxref("<color>")}} CSS. Cadascun dels següents exemples descriu el mateix color.

+ +
// these all set the fillStyle to 'orange'
+
+ctx.fillStyle = 'orange';
+ctx.fillStyle = '#FFA500';
+ctx.fillStyle = 'rgb(255, 165, 0)';
+ctx.fillStyle = 'rgba(255, 165, 0, 1)';
+
+ +

Un exemple de fillStyle

+ +

En aquest exemple, una vegada més, usem dos bucles for per dibuixar una graella de rectangles, cadascun en un color diferent. La imatge resultant hauria de ser similar a la captura de pantalla. Aquí no succeeix res espectacular. Utilitzem les dues variables i i j per generar un color RGB únic per a cada quadrat, i només modifiquen els valors vermell i verd. El canal blau té un valor fix. Modificant els canals, es poden generar tot tipus de paletes. En augmentar els passos, es pot aconseguir alguna cosa que se sembli a les paletes de color que utilitza Photoshop.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  for (var i = 0; i < 6; i++) {
+    for (var j = 0; j < 6; j++) {
+      ctx.fillStyle = 'rgb(' + Math.floor(255 - 42.5 * i) + ', ' +
+                       Math.floor(255 - 42.5 * j) + ', 0)';
+      ctx.fillRect(j * 25, i * 25, 25, 25);
+    }
+  }
+}
+ + + +

The result looks like this:

+ +

{{EmbedLiveSample("A_fillStyle_example", 160, 160, "https://mdn.mozillademos.org/files/5417/Canvas_fillstyle.png")}}

+ +

Un exemple de strokeStyle

+ +

Aquest exemple és similar a l'anterior, però usa la propietat strokeStyle per canviar els colors dels contorns de les formes. Usem el mètode arc() per dibuixar cercles en lloc de quadrats.

+ +
  function draw() {
+    var ctx = document.getElementById('canvas').getContext('2d');
+    for (var i = 0; i < 6; i++) {
+      for (var j = 0; j < 6; j++) {
+        ctx.strokeStyle = 'rgb(0, ' + Math.floor(255 - 42.5 * i) + ', ' +
+                         Math.floor(255 - 42.5 * j) + ')';
+        ctx.beginPath();
+        ctx.arc(12.5 + j * 25, 12.5 + i * 25, 10, 0, Math.PI * 2, true);
+        ctx.stroke();
+      }
+    }
+  }
+
+ + + +

El resultat és així:

+ +

{{EmbedLiveSample("A_strokeStyle_example", "180", "180", "https://mdn.mozillademos.org/files/253/Canvas_strokestyle.png")}}

+ +

Transparència

+ +

A més de dibuixar formes opaques al llenç, també podem dibuixar formes semitransparents (o translúcides). Això es fa, ja sigui configurant la propietat globalAlpha o assignant un color semitransparent a l'estil de traç i/o d'ompliment.

+ +
+
{{domxref("CanvasRenderingContext2D.globalAlpha", "globalAlpha = transparencyValue")}}
+
Aplica el valor de transparència especificat a totes les formes futures dibuixades en el llenç. El valor ha d'estar entre 0,0 (totalment transparent) a 1.0 (totalment opac). Aquest valor és 1.0 (totalment opac) per defecte.
+
+ +

La propietat globalAlpha pot ser útil si voleu dibuixar moltes formes al llenç amb una transparència similar, però en general, és més útil establir la transparència en formes individuals quan establiu els seus colors.

+ +

Atès que les propietats strokeStyle and fillStyle accepten valors de color CSS rgba, podem utilitzar la notació següent per assignar un color transparent a ells.

+ +
// Assignar colors transparents a l'estil de traç i ompliment
+
+ctx.strokeStyle = 'rgba(255, 0, 0, 0.5)';
+ctx.fillStyle = 'rgba(255, 0, 0, 0.5)';
+
+ +

La funció rgba() és similar a la funció rgb() però té un paràmetre addicional. L'últim paràmetre estableix el valor de transparència d'aquest color en particular. El rang vàlid se situa de nou entre 0.0 (totalment transparent) i 1.0 (completament opac).

+ +

Un exemple de globalAlpha

+ +

En aquest exemple, dibuixarem un fons de quatre quadrats de colors diferents. A més d'això, dibuixarem un conjunt de cercles semitransparents. La propietat globalAlpha s'estableix en 0.2 que s'utilitzarà per a totes les formes des d'aquest punt. Cada pas en el bucle for dibuixa un conjunt de cercles amb un radi creixent. El resultat final és un gradient radial. En superposar cada vegada més cercles un damunt de l'altre, reduïm efectivament la transparència dels cercles que ja s'han dibuixat. En augmentar el recompte de passos i, en efecte, dibuixar més cercles, el fons desapareixeria completament del centre de la imatge.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  // draw background
+  ctx.fillStyle = '#FD0';
+  ctx.fillRect(0, 0, 75, 75);
+  ctx.fillStyle = '#6C0';
+  ctx.fillRect(75, 0, 75, 75);
+  ctx.fillStyle = '#09F';
+  ctx.fillRect(0, 75, 75, 75);
+  ctx.fillStyle = '#F30';
+  ctx.fillRect(75, 75, 75, 75);
+  ctx.fillStyle = '#FFF';
+
+  // set transparency value
+  ctx.globalAlpha = 0.2;
+
+  // Draw semi transparent circles
+  for (i = 0; i < 7; i++) {
+    ctx.beginPath();
+    ctx.arc(75, 75, 10 + 10 * i, 0, Math.PI * 2, true);
+    ctx.fill();
+  }
+}
+ + + +

{{EmbedLiveSample("A_globalAlpha_example", "180", "180", "https://mdn.mozillademos.org/files/232/Canvas_globalalpha.png")}}

+ +

Un exemple usant rgba()

+ +

En aquest segon exemple, fem alguna cosa semblant a l'anterior, però en comptes de dibuixar cercles un damunt de l'altre, dibuixem petits rectangles amb opacitat creixent. L'ús de rgba() dóna una mica més de control i flexibilitat, perquè podem definir l'estil d'emplenament i traç individualment.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  // Draw background
+  ctx.fillStyle = 'rgb(255, 221, 0)';
+  ctx.fillRect(0, 0, 150, 37.5);
+  ctx.fillStyle = 'rgb(102, 204, 0)';
+  ctx.fillRect(0, 37.5, 150, 37.5);
+  ctx.fillStyle = 'rgb(0, 153, 255)';
+  ctx.fillRect(0, 75, 150, 37.5);
+  ctx.fillStyle = 'rgb(255, 51, 0)';
+  ctx.fillRect(0, 112.5, 150, 37.5);
+
+  // Draw semi transparent rectangles
+  for (var i = 0; i < 10; i++) {
+    ctx.fillStyle = 'rgba(255, 255, 255, ' + (i + 1) / 10 + ')';
+    for (var j = 0; j < 4; j++) {
+      ctx.fillRect(5 + i * 14, 5 + j * 37.5, 14, 27.5);
+    }
+  }
+}
+ + + +

{{EmbedLiveSample("An_example_using_rgba()", "180", "180", "https://mdn.mozillademos.org/files/246/Canvas_rgba.png")}}

+ +

Estils de línia

+ +

Hi ha diverses propietats que ens permeten donar estil a les línies.

+ +
+
{{domxref("CanvasRenderingContext2D.lineWidth", "lineWidth = value")}}
+
Estableix l'amplària de les línies dibuixades en el futur.
+
{{domxref("CanvasRenderingContext2D.lineCap", "lineCap = type")}}
+
Estableix l'aparença dels extrems de les línies.
+
{{domxref("CanvasRenderingContext2D.lineJoin", "lineJoin = type")}}
+
Estableix l'aparença de les "cantonades" on s'uneixen les línies.
+
{{domxref("CanvasRenderingContext2D.miterLimit", "miterLimit = value")}}
+
Estableix un límit en la mitra, quan dues línies s'uneixen en un angle agut, per permetre-li controlar el grossor de la unió.
+
{{domxref("CanvasRenderingContext2D.getLineDash", "getLineDash()")}}
+
Retorna la matriu de patró de guió de la línia actual que conté un nombre parell de nombres no negatius.
+
{{domxref("CanvasRenderingContext2D.setLineDash", "setLineDash(segments)")}}
+
Estableix el patró de guió de línia actual.
+
{{domxref("CanvasRenderingContext2D.lineDashOffset", "lineDashOffset = value")}}
+
Especifica on iniciar una matriu de guions en una línia.
+
+ +

Obtindreu una millor comprensió del que fan, en mirar els exemples a continuació.

+ +

Un exemple de lineWidth

+ +

Aquesta propietat estableix el gruix de la línia actual. Els valors han de ser nombres positius. Per defecte, aquest valor es fixa en 1.0 unitats.

+ +

L'amplada de la línia és el gruix del traç centrat en la trajectòria indicada. En altres paraules, l'àrea que es dibuixa s'estén a la meitat de l'amplària de línia a cada costat de la trajectòria. Com que les coordenades del llenç no fan referència directa als píxels, s'ha de tenir especial cura per obtenir línies horitzontals i verticals nítides.

+ +

En el següent exemple, es dibuixen 10 línies rectes amb amplades de línia creixents. La línia en l'extrem esquerre té 1.0 unitats d'ample. No obstant això, les línies de grossor més a l'esquerra i totes les altres d'ample imparell no apareixen nítides a causa del posicionament de la trajectòria.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  for (var i = 0; i < 10; i++) {
+    ctx.lineWidth = 1 + i;
+    ctx.beginPath();
+    ctx.moveTo(5 + i * 14, 5);
+    ctx.lineTo(5 + i * 14, 140);
+    ctx.stroke();
+  }
+}
+
+ + + +

{{EmbedLiveSample("A_lineWidth_example", "180", "180", "https://mdn.mozillademos.org/files/239/Canvas_linewidth.png")}}

+ +

L'obtenció de línies nítides requereix entendre com es tracen les trajectòries. En les imatges següents, la graella representa la graella de coordenades del llenç. Els quadrats entre les línies de la graella són píxels reals en pantalla. En la primera imatge de graella que apareix a continuació, s'emplena un rectangle de (2,1) a (5,5). Tota l'àrea entre ells (vermell clar) cau en els límits de píxels, per la qual cosa el rectangle emplenat resultant tindrà vores nítides.

+ +

+ +

Si es considera una trajectòria de (3,1) a (3,5) amb un gruix de línia  1.0, s'acaba amb la situació en la segona imatge. L'àrea real a emplenar (blau fosc) només s'estén fins a la meitat dels píxels a cada costat de la trajectòria. S'ha de representar una aproximació d'això, la qual cosa significa que aquests píxels estan ombrejats parcialment, i dóna com a resultat que tota l'àrea (blau clar i blau fosc) s'ompli amb un color la meitat de fosc que el color de traç real. Això és el que succeeix amb la línia d'ample 1.0 en el codi d'exemple anterior .

+ +

Per arreglar això, s'ha de ser molt precís en la creació de la trajectòria. Sabent que una línia a 1.0 d'ample s'estendrà mitja unitat a cada costat de la trajectòria, creant la trajectòria de (3.5,1) a (3.5,5) resulta que la situació, en la tercera imatge, la línia d'ample 1.0 acaba completa i omplint, precisament, una sola línia vertical de píxels.

+ +
+

Nota: Hem de tenir en compte que en el nostre exemple de línia vertical, la posició Y encara fa referència a una posició sencera de la graella; si no fos així, veuríem píxels amb una cobertura parcial en els punts finals (però també, hem de tenir en compte que aquest comportament depèn de l'estil actual de lineCap, el valor predeterminat del qual és butt; és possible que desitgem calcular traços uniformes amb coordenades de mig píxel per a línies d'ample imparell, establint l'estil lineCap a estil square, de manera que el límit exterior del traç al voltant del punt final s'ampliï automàticament per cobrir tot el píxel exactament).

+ +

Tinguem en compte, també, que només es veuran afectats els extrems d'inici i fi d'una trajectòria: si es tanca una trajectòria amb closePath(), no hi ha un punt d'inici i final; en el seu lloc, tots els extrems de la trajectòria es connecten al segment anterior i següent utilitzant, la configuració actual de l'estil lineJoin, el valor predeterminat del qual és miter, amb l'efecte d'estendre automàticament els límits exteriors dels segments connectats al seu punt d'intersecció, de manera que el traç representat cobreixi exactament els píxels complets centrats en cada punt final, si aquests segments connectats són horitzontals i/o verticals). Vegeu les dues seccions següents per a les demostracions d'aquests estils de línia addicionals..

+
+ +

Per a les línies d'ample parell, cada meitat acaba sent una quantitat sencera de píxels, per la qual cosa es desitjable una trajectòria que estigui entre els píxels (és a dir, (3,1) a (3,5)), en lloc de baixar per la mitad dels píxels

+ +

Tot i que és lleugerament dolorós quan inicialment es treballa amb gràfics 2D escalables, si ens fixem en la graella de píxels i la posició de les trajectòries, ens hem d'assegurar que els dibuixos es vegin correctes, independentment de l'escalat o qualsevol altra transformació. Una línia vertical de 1.0 d'ample dibuixada en la posició correcta, es convertirà en una línia nítida de 2 píxels quan s'ampliï per 2, i apareixerà en la posició correcta.

+ +

Un exemple de lineCap

+ +

La propietat lineCap determina com es dibuixen els punts finals de cada línia. Hi ha tres valors possibles per a aquesta propietat i aquests són: butt, round i square. Per defecte, aquesta propietat està configurada com a butt.

+ +

+ +
+
butt
+
Els extrems de les línies es quadren en els punts finals.
+
round
+
Els extrems de les línies són arrodonits.
+
square
+
Els extrems de les línies es quadren en afegir una caixa amb un ample igual i la meitat de l'alçada del gruix de la línia.
+
+ +

En aquest exemple, dibuixarem tres línies, cadascuna amb un valor diferent per a la propietat lineCap. També afegim dues guies per veure les diferències exactes entre les tres. Cadascuna d'aquestes línies comença i acaba exactament en aquestes guies.

+ +

La línia de l'esquerra utilitza l'opció predeterminada butt. Notarem que està dibuixada completament al ras amb les guies. La segona s'estableix, utilitzant l'opció round. Això afegeix un semicercle al extrem que té un radi de la meitat de l'ample de la línia. La línia de la dreta utilitza l'opció square. Això afegeix una caixa amb un ample igual i la meitat de l'alçada del gruix de la línia.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  var lineCap = ['butt', 'round', 'square'];
+
+  // Draw guides
+  ctx.strokeStyle = '#09f';
+  ctx.beginPath();
+  ctx.moveTo(10, 10);
+  ctx.lineTo(140, 10);
+  ctx.moveTo(10, 140);
+  ctx.lineTo(140, 140);
+  ctx.stroke();
+
+  // Draw lines
+  ctx.strokeStyle = 'black';
+  for (var i = 0; i < lineCap.length; i++) {
+    ctx.lineWidth = 15;
+    ctx.lineCap = lineCap[i];
+    ctx.beginPath();
+    ctx.moveTo(25 + i * 50, 10);
+    ctx.lineTo(25 + i * 50, 140);
+    ctx.stroke();
+  }
+}
+
+ + + +

{{EmbedLiveSample("A_lineCap_example", "180", "180", "https://mdn.mozillademos.org/files/236/Canvas_linecap.png")}}

+ +

Un exemple de lineJoin

+ +

La propietat lineJoin determina com s'uneixen dos segments de connexió (de línies, arcs o corbes) amb longituds diferents de zero en una forma (els segments degenerats amb longituds zero, que els punts finals i punts de control especificats estan exactament en la mateixa posició, s'ometen).

+ +

Hi ha tres possibles valors per a aquesta propietat: round, bevel i miter. Per defecte aquesta propietat s'estableix a miter. Hem de tenir en compte que la configuració lineJoin no té cap efecte si els dos segments connectats tenen la mateixa direcció, ja que en aquest cas no s'afegirà cap àrea d'unió.

+ +

+ +
+
round
+
Arrodoneix les cantonades d'una forma emplenant un sector addicional del disc centrat en el punt final comú dels segments connectats. El radi per a aquestes cantonades arrodonides és igual a la meitat de l'amplada de la línia.
+
bevel
+
Emplena un àrea triangular addicional entre el punt final comú dels segments connectats i les cantonades rectangulars exteriors separades de cada segment..
+
miter
+
Els segments connectats s'uneixen estenent les seves vores exteriors per connectar-se en un sol punt, amb l'efecte d'emplenar un àrea addicional en forma de rombe. Aquest ajust s'efectua mitjançant la propietat miterLimit, que s'explica a continuació.
+
+ +

L'exemple següent dibuixa tres trajectòries diferents, demostrant cadascuna d'aquestes tres configuracions de la propietat lineJoin; la sortida es mostra a dalt..

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  var lineJoin = ['round', 'bevel', 'miter'];
+  ctx.lineWidth = 10;
+  for (var i = 0; i < lineJoin.length; i++) {
+    ctx.lineJoin = lineJoin[i];
+    ctx.beginPath();
+    ctx.moveTo(-5, 5 + i * 40);
+    ctx.lineTo(35, 45 + i * 40);
+    ctx.lineTo(75, 5 + i * 40);
+    ctx.lineTo(115, 45 + i * 40);
+    ctx.lineTo(155, 5 + i * 40);
+    ctx.stroke();
+  }
+}
+
+ + + +

{{EmbedLiveSample("A_lineJoin_example", "180", "180", "https://mdn.mozillademos.org/files/237/Canvas_linejoin.png")}}

+ +

Una demostració de la propietat miterLimit

+ +

Com s'ha vist en l'exemple anterior, en unir dues línies amb l'opció miter, les vores exteriors de les dues línies d'unió s'estenen fins al punt on es troben. En el cas de línies que tenen angles grans entre si, aquest punt no està lluny del punt de connexió interior. No obstant això, a mesura que els angles entre cada línia disminueixen, la distància (longitud de miter) entre aquests punts augmenta exponencialment.

+ +

La propietat miterLimit determina quant lluny es pot col·locar el punt de connexió exterior des del punt de connexió interior. Si dues línies excedeixen aquest valor, es dibuixa una unió bisellada. S'ha de tenir en compte que la longitud màxima de miter és el producte de l'amplada de línia mesurat en el sistema de coordenades actual, pel valor d'aquesta propietat miterLimit  (el valor per defecte és 10.0 en HTML {{HTMLElement("canvas")}}), per la qual cosa miterLimit pot ajustar-se independentment de l'escala de visualització actual o de qualsevol transformació afí de les trajectòries: només influeix en la forma efectiva de les vores de la línia representada.

+ +

Més exactament, el límit de miter és la proporció màxima permesa de la longitud de l'extensió (en el llenç HTML, es mesura entre la cantonada exterior de les vores unides de la línia i el punt final comú dels segments de connexió especificats en la trajectòria) a la meitat de l'ample de la línia. La seva definició equival a la relació màxima permesa entre la distància dels punts interiors i exteriors de la unió de les vores i l'amplada total de la línia. Llavors, aixó és igual a la cosecant de la meitat de l'angle intern mínim dels segments de connexió per sota dels quals no es representarà cap unió miter, sinó només una unió bisellada:

+ + + +

Aquí tenim una petita demostració en la qual es pot configura miterLimit dinàmicament i veure com aquest afecta a les formes en el llenç. Les línies blaves mostren on es troben els punts d'inici i fi per a cadascuna de les línies en el patró de zig-zag.

+ +

Si s'especifica un valor de miterLimit inferior a 4.2, en aquesta demostració, cap de les cantonades visibles s'unirà amb una extensió de miter, només hi haurà un petit bisell prop de les línies blaves; amb un miterLimit superior a 10, la majoria de les cantonades d'aquesta demostració haurien d'unir-se amb un miter allunyat de les línies blaves, i l'alçada del qual disminuiria entre les cantonades, d'esquerra a dreta perquè es connectarien amb angles creixents ; amb valors intermedis, les cantonades del costat esquerre només s'uneixen amb un bisell prop de les línies blaves, i les cantonades del costat dret amb una extensió de miter (també amb una altçada decreixent).

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  // Clear canvas
+  ctx.clearRect(0, 0, 150, 150);
+
+  // Draw guides
+  ctx.strokeStyle = '#09f';
+  ctx.lineWidth   = 2;
+  ctx.strokeRect(-5, 50, 160, 50);
+
+  // Set line styles
+  ctx.strokeStyle = '#000';
+  ctx.lineWidth = 10;
+
+  // check input
+  if (document.getElementById('miterLimit').value.match(/\d+(\.\d+)?/)) {
+    ctx.miterLimit = parseFloat(document.getElementById('miterLimit').value);
+  } else {
+    alert('Value must be a positive number');
+  }
+
+  // Draw lines
+  ctx.beginPath();
+  ctx.moveTo(0, 100);
+  for (i = 0; i < 24 ; i++) {
+    var dy = i % 2 == 0 ? 25 : -25;
+    ctx.lineTo(Math.pow(i, 1.5) * 2, 75 + dy);
+  }
+  ctx.stroke();
+  return false;
+}
+
+ + + +

{{EmbedLiveSample("A_demo_of_the_miterLimit_property", "400", "180", "https://mdn.mozillademos.org/files/240/Canvas_miterlimit.png")}}

+ +

Ús de guions de línia

+ +

El mètode setLineDash i la propietat lineDashOffset especifiquen el patró de guió per a les línies. El mètode setLineDash accepta una llista de nombres que especifica distàncies per dibuixar alternativament una línia i un buit i la propietat lineDashOffset estableix un desplaçament on començar el patró

+ +

En aquest exemple estem creant un efecte de formigues marxant. És una tècnica d'animació que es troba sovint en les eines de selecció de programes gràfics d'ordinador. Ajuda a l'usuari a distingir la vora de selecció del fons de la imatge, animant la vora. Més endavant, en aquest tutorial, podeu aprendre com fer-ho i altres animacions bàsiques.

+ + + +
var ctx = document.getElementById('canvas').getContext('2d');
+var offset = 0;
+
+function draw() {
+  ctx.clearRect(0, 0, canvas.width, canvas.height);
+  ctx.setLineDash([4, 2]);
+  ctx.lineDashOffset = -offset;
+  ctx.strokeRect(10, 10, 100, 100);
+}
+
+function march() {
+  offset++;
+  if (offset > 16) {
+    offset = 0;
+  }
+  draw();
+  setTimeout(march, 20);
+}
+
+march();
+ +

{{EmbedLiveSample("Using_line_dashes", "120", "120", "https://mdn.mozillademos.org/files/9853/marching-ants.png")}}

+ +

Gradients

+ +

Igual que qualsevol altre programa normal de dibuix , podem emplenar i traçar formes usant, gradients lineals i radials. Es crea un objecte {{domxref("CanvasGradient")}} utilitzant un dels mètodes següents. A continuació, podem assignar aquest objecte a les propietats fillStyle o strokeStyle.

+ +
+
{{domxref("CanvasRenderingContext2D.createLinearGradient", "createLinearGradient(x1, y1, x2, y2)")}}
+
Crea un objecte de degradat lineal amb un punt inicial de (x1, y1) i un punt final de (x2, y2).
+
{{domxref("CanvasRenderingContext2D.createRadialGradient", "createRadialGradient(x1, y1, r1, x2, y2, r2)")}}
+
Crea un degradat radial. Els paràmetres representen dos cercles, un amb el seu centre en (x1, y1) i un radi de r1, i l'altre amb el seu centre en (x2, y2) amb un radi de r2.
+
+ +

Per exemple:

+ +
var lineargradient = ctx.createLinearGradient(0, 0, 150, 150);
+var radialgradient = ctx.createRadialGradient(75, 75, 0, 75, 75, 100);
+
+ +

Una vegada s'ha creat un objecte CanvasGradient se li pot assignar colors usant el mètode addColorStop().

+ +
+
{{domxref("CanvasGradient.addColorStop", "gradient.addColorStop(position, color)")}}
+
Crea una nova parada de color en l'objecte gradient. position és un nombre entre 0.0 i 1.0 i defineix la posició relativa del color en el degradat,  i l'argument color, ha de ser una cadena que representi un {{cssxref("<color>")}} CSS, indicant el color que el gradient ha d'aconseguir en aquest desplaçament en la transició.
+
+ +

Es pot afegir tantes parades de color, a un gardient, com es necessiti. A continuació, es mostra un gradient lineal molt simple de blanc a negre.

+ +
var lineargradient = ctx.createLinearGradient(0, 0, 150, 150);
+lineargradient.addColorStop(0, 'white');
+lineargradient.addColorStop(1, 'black');
+
+ +

Un exemple de createLinearGradient

+ +

En aquest exemple, es crearà dos gradientss diferents. Com es podrà veure aquí, tant les propietats strokeStyle com fillStyle poden acceptar un objecte canvasGradient com a entrada vàlida.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  // Create gradients
+  var lingrad = ctx.createLinearGradient(0, 0, 0, 150);
+  lingrad.addColorStop(0, '#00ABEB');
+  lingrad.addColorStop(0.5, '#fff');
+  lingrad.addColorStop(0.5, '#26C000');
+  lingrad.addColorStop(1, '#fff');
+
+  var lingrad2 = ctx.createLinearGradient(0, 50, 0, 95);
+  lingrad2.addColorStop(0.5, '#000');
+  lingrad2.addColorStop(1, 'rgba(0, 0, 0, 0)');
+
+  // assign gradients to fill and stroke styles
+  ctx.fillStyle = lingrad;
+  ctx.strokeStyle = lingrad2;
+
+  // draw shapes
+  ctx.fillRect(10, 10, 130, 130);
+  ctx.strokeRect(50, 50, 50, 50);
+
+}
+
+ + + +

El primer és un gradient de fons. Com es veu, s'assignen dos colors a la mateixa posició. Això es fa per fer transicions de color molt nítides, en aquest cas del blanc al verd. No importa en quina ordre es defineixin les parades de color, però en aquest cas especial, ho fa de forma significativa. Si es mantenen les tasques en l'ordre en què es desitja que apareguin, això no serà un problema.

+ +

En el segon gradient, no s'assigna el color inicial (a la posició 0.0), ja que no és estrictament necessari, perquè automàticament assumirà el color de la següent parada de color. Per tant, l'assignació del color negre en la posició 0.5, automàticament fa que el gradient, des de l'inici fins a aquest punt, sigui negre.

+ +

{{EmbedLiveSample("A_createLinearGradient_example", "180", "180", "https://mdn.mozillademos.org/files/235/Canvas_lineargradient.png")}}

+ +

Un exemple de createRadialGradient

+ +

En aquest exemple, definim quatre gradients radials diferents. Com que tenim el control sobre els punts d'inici i de tancament del gradient, podem aconseguir efectes més complexos del que normalment tindríem en els gradients radials "clàssics" que veiem, per exemple, en Photoshop (és a dir, un gradient amb un únic punt central, on el gradient s'expandeix cap a l'exterior en forma circular).

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  // Create gradients
+  var radgrad = ctx.createRadialGradient(45, 45, 10, 52, 50, 30);
+  radgrad.addColorStop(0, '#A7D30C');
+  radgrad.addColorStop(0.9, '#019F62');
+  radgrad.addColorStop(1, 'rgba(1, 159, 98, 0)');
+
+  var radgrad2 = ctx.createRadialGradient(105, 105, 20, 112, 120, 50);
+  radgrad2.addColorStop(0, '#FF5F98');
+  radgrad2.addColorStop(0.75, '#FF0188');
+  radgrad2.addColorStop(1, 'rgba(255, 1, 136, 0)');
+
+  var radgrad3 = ctx.createRadialGradient(95, 15, 15, 102, 20, 40);
+  radgrad3.addColorStop(0, '#00C9FF');
+  radgrad3.addColorStop(0.8, '#00B5E2');
+  radgrad3.addColorStop(1, 'rgba(0, 201, 255, 0)');
+
+  var radgrad4 = ctx.createRadialGradient(0, 150, 50, 0, 140, 90);
+  radgrad4.addColorStop(0, '#F4F201');
+  radgrad4.addColorStop(0.8, '#E4C700');
+  radgrad4.addColorStop(1, 'rgba(228, 199, 0, 0)');
+
+  // draw shapes
+  ctx.fillStyle = radgrad4;
+  ctx.fillRect(0, 0, 150, 150);
+  ctx.fillStyle = radgrad3;
+  ctx.fillRect(0, 0, 150, 150);
+  ctx.fillStyle = radgrad2;
+  ctx.fillRect(0, 0, 150, 150);
+  ctx.fillStyle = radgrad;
+  ctx.fillRect(0, 0, 150, 150);
+}
+
+ + + +

En aquest cas, hem desplaçat lleugerament el punt d'inici des del punt final per aconseguir un efecte 3D esfèric. Lo millor es tractar d'evitar que els cercles interns i externs se superposin, ja que això genera efectes estranys que són difícils de predir.

+ +

L'última parada de color en cadascun dels quatre gradients, utilitza un color completament transparent. Si es desitja tenir una bona transició, d'aquesta a la parada de color anterior, tots dos colors han de ser iguals. Això no és molt obvi del codi, perquè utilitza dos mètodes de color CSS diferents com a demostració, però en el primer gradient #019F62 = rgba(1,159,98,1).

+ +

{{EmbedLiveSample("A_createRadialGradient_example", "180", "180", "https://mdn.mozillademos.org/files/244/Canvas_radialgradient.png")}}

+ +

Patrons

+ +

En un dels exemples de la pàgina anterior, hem utilitzat una sèrie de bucles per crear un patró d'imatges. Hi ha, però, un mètode molt més senzill: el mètode createPattern().

+ +
+
{{domxref("CanvasRenderingContext2D.createPattern", "createPattern(image, type)")}}
+
Crea i retorna un nou objecte de patró canvas. image es un {{domxref("CanvasImageSource")}} (és a dir, un {{domxref("HTMLImageElement")}}, altre llenç, un element {{HTMLElement("video")}} o similar. type és una cadena que indica com utilitzar la imatge.
+
+ +

Type, especifica com utilitzar la imatge per crear el patró, i ha de ser un dels següents valors de cadena:

+ +
+
repeat
+
Teixeix la imatge en ambdues direccions vertical i horitzontal.
+
repeat-x
+
Teixeix la imatge horitzontalment però no verticalment.
+
repeat-y
+
Teixeix la imatge verticalment però no horitzontalment.
+
no-repeat
+
No teixeix la imatge. S'utilitza només una vegada.
+
+ +

S'utilitzar aquest mètode per crear un objecte {{domxref("CanvasPattern")}} que és molt similar als mètodes de gradient que hem vist anteriorment. Una vegada que s'ha creat un patró, se li pot assignar les propietats fillStyle o strokeStyle. Per exemple:

+ +
var img = new Image();
+img.src = 'someimage.png';
+var ptrn = ctx.createPattern(img, 'repeat');
+
+ +
+

Nota: Igual que amb el mètode drawImage(), ens hem d'assegurar que la imatge que utilitzem s'hagi carregat abans de cridar a aquest mètode o que el patró es dibuixi incorrectament.

+
+ +

Un exemple de createPattern

+ +

En aquest últim exemple, crearem un patró per assignar a la propietat fillStyle. L'únic que cal esmentar, és l'ús del controlador onload de la imatge. Això és per assegurar-se de que la imatge es carregui abans que s'assigni el patró.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  // create new image object to use as pattern
+  var img = new Image();
+  img.src = 'https://mdn.mozillademos.org/files/222/Canvas_createpattern.png';
+  img.onload = function() {
+
+    // create pattern
+    var ptrn = ctx.createPattern(img, 'repeat');
+    ctx.fillStyle = ptrn;
+    ctx.fillRect(0, 0, 150, 150);
+
+  }
+}
+
+ + + +

{{EmbedLiveSample("A_createPattern_example", "180", "180", "https://mdn.mozillademos.org/files/222/Canvas_createpattern.png")}}

+ +

Ombres (Shadows)

+ +

L'ús d'ombres implica només quatre propietats:

+ +
+
{{domxref("CanvasRenderingContext2D.shadowOffsetX", "shadowOffsetX = float")}}
+
Indica la distància horitzontal que l'ombra ha d'estendre's des de l'objecte. Aquest valor no es veu afectat per la matriu de transformació. El valor predeterminat és 0.
+
{{domxref("CanvasRenderingContext2D.shadowOffsetY", "shadowOffsetY = float")}}
+
Indica la distància vertical que l'ombra ha d'estendre's des de l'objecte. Aquest valor no es veu afectat per la matriu de transformació. El valor predeterminat és 0.
+
{{domxref("CanvasRenderingContext2D.shadowBlur", "shadowBlur = float")}}
+
Indica la grandària de l'efecte de desenfocament; aquest valor no es correspon a un nombre de píxels i no es veu afectat per la matriu de transformació actual. El valor per defecte és 0.
+
{{domxref("CanvasRenderingContext2D.shadowColor", "shadowColor = color")}}
+
Un valor de color CSS estàndard, que indica el color de l'efecte d'ombra; per defecte, és negre completament transparent.
+
+ +

Les propietats shadowOffsetX i shadowOffsetY indiquen fins a on ha d'estendre's l'ombra des de l'objecte en les direccions X i Y; aquests valors no es veuen afectats per la matriu de transformació actual. Utilitzar valors negatius per fer que l'ombra s'estengui cap amunt o cap a l'esquerra, i valors positius perquè l'ombra s'estengui cap avall o cap a la dreta. Tots dos són 0 per defecte.

+ +

La propietat shadowBlur indica la grandària de l'efecte de desenfocament; aquest valor no es correspon a un nombre de píxels i no es veu afectat per la matriu de transformació actual. El valor per defecte és 0.

+ +

La propietat shadowColor és un valor de color CSS estàndard, que indica el color de l'efecte d'ombra; per defecte, és negre completament transparent.

+ +
+

Nota: Les ombres només es dibuixen per a operacions de composició de fonts.

+
+ +

Un exemple de text ombrejat

+ +

Aquest exemple dibuixa una cadena de text amb un efecte d'ombra.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  ctx.shadowOffsetX = 2;
+  ctx.shadowOffsetY = 2;
+  ctx.shadowBlur = 2;
+  ctx.shadowColor = 'rgba(0, 0, 0, 0.5)';
+
+  ctx.font = '20px Times New Roman';
+  ctx.fillStyle = 'Black';
+  ctx.fillText('Sample String', 5, 30);
+}
+
+ + + +

{{EmbedLiveSample("A_shadowed_text_example", "180", "100", "https://mdn.mozillademos.org/files/2505/shadowed-string.png")}}

+ +

Veurem la propietat font i el mètode fillText en el següent capítol sobre com dibuixar text.

+ +

Regles de farciment del llenç

+ +

Quan s'utilitza fill (o {{domxref("CanvasRenderingContext2D.clip", "clip")}} i {{domxref("CanvasRenderingContext2D.isPointInPath", "isPointinPath")}}) es pot proporcionar opcionalment un algorisme de regles de farciment per determinar si un punt està dins o fora d'una trajectòria i, per tant, si s'emplena o no. Això és útil quan una trajectòria es creua o es nia.
+
+ Dos valors són possibles:

+ + + +

En aquest exemple estem usant la regla evenodd.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  ctx.beginPath();
+  ctx.arc(50, 50, 30, 0, Math.PI * 2, true);
+  ctx.arc(50, 50, 15, 0, Math.PI * 2, true);
+  ctx.fill('evenodd');
+}
+ + + +

{{EmbedLiveSample("Canvas_fill_rules", "110", "110", "https://mdn.mozillademos.org/files/9855/fill-rule.png")}}

+ +

{{PreviousNext("Web/API/Canvas_API/Tutorial/Drawing_shapes", "Web/API/Canvas_API/Tutorial/Drawing_text")}}

diff --git a/files/ca/web/api/canvas_api/tutorial/basic_animations/index.html b/files/ca/web/api/canvas_api/tutorial/basic_animations/index.html new file mode 100644 index 0000000000..e4a3751d1e --- /dev/null +++ b/files/ca/web/api/canvas_api/tutorial/basic_animations/index.html @@ -0,0 +1,335 @@ +--- +title: Animacions bàsiques +slug: Web/API/Canvas_API/Tutorial/Animacions_bàsiques +tags: + - Canvas + - Graphics + - HTML + - HTML5 + - Intermediate + - Tutorial +translation_of: Web/API/Canvas_API/Tutorial/Basic_animations +--- +
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Compositing", "Web/API/Canvas_API/Tutorial/Advanced_animations")}}
+ +
+

Atès que estem usant Javascript per controlar els elements {{HTMLElement("canvas")}}, també és molt fàcil fer animacions (interactives). En aquest capítol veurem com fer algunes animacions bàsiques.

+
+ +

Probablement, la major limitació és que, una vegada que es dibuixa una forma, aquesta es manté així. Si necessitem moure-la, hem de tornar a dibuixar-la i tot el que s'ha dibuixat abans. Es necessita molt temps per tornar a dibuixar quadres complexos i el rendiment depèn en gran manera de la velocitat de l'equip en el qual s'està executant.

+ +

Passos bàsics d'animació

+ +

Aquests són els passos que s'han de seguir per dibuixar un marc:

+ +
    +
  1. Esborrar el llenç
    + A menys que les formes que es dibuixin omplin el llenç complet (per exemple, una imatge de fons), és necessari esborrar qualsevol forma que s'hi hagi dibuixat prèviament. La manera més fàcil de fer-ho, és usant el mètode {{domxref("CanvasRenderingContext2D.clearRect", "clearRect()")}}.
  2. +
  3. Guardar l'estat del llenç
    + Si es canvia qualsevol configuració (com ara estils, transformacions, etc.) que afectin a l'estat del llenç i ens volem assegurar que l'estat original s'utilitza cada vegada que es dibuixa un marc, hem de guardar aquest estat original.
  4. +
  5. Dibuixar formes animades
    + El pas on es fa la representació del marc real.
  6. +
  7. Restaurar l'estat del llenç
    + Si s'ha guardat l'estat, ho hem de restaurar abans de dibuixar un nou marc.
  8. +
+ +

Controlar una animació

+ +

Les formes es dibuixen al llenç usant els mètodes de canvas directament o cridant a les funcions personalitzades. En circumstàncies normals, només veiem que aquests resultats apareixen en el llenç quan el script acaba d'executar-se. Per exemple, no és possible fer una animació des d'un bucle for.

+ +

Això significa que necessitem una forma d'executar les nostres funcions de dibuix durant un període de temps. Hi ha dues maneres de controlar una animació com aquesta.

+ +

Actualitzacions programades

+ +

Primer estan les funcions {{domxref("window.setInterval()")}}, {{domxref("window.setTimeout()")}} i {{domxref("window.requestAnimationFrame()")}}, que es poden utilitzar per cridar a una funció específica durant un període de temps determinat.

+ +
+
{{domxref("WindowTimers.setInterval", "setInterval(function, delay)")}}
+
Inicia repetidament l'execució de la funció especificada per la funció, cada mil·lisegons de retard.
+
{{domxref("WindowTimers.setTimeout", "setTimeout(function, delay)")}}
+
Executa la funció especificada per la function en mil·lisegons de delay.
+
{{domxref("Window.requestAnimationFrame()", "requestAnimationFrame(callback)")}}
+
Li diu al navegador que desitja realitzar una animació i sol·licita al navegador que cridi a una funció especifica per actualitzar una animació abans del proper repintat.
+
+ +

Si no es vol cap interacció amb l'usuari, es pot utilitzar la funció setInterval() que executa repetidament el codi proporcionat. Si volguéssim fer un joc, podríem usar esdeveniments de teclat o ratolí per controlar l'animació i usar setTimeout(). En establir {{domxref("EventListener")}}s, capturem qualsevol interacció de l'usuari i s'executan les nostres funcions d'animació

+ +
+

En els exemples següents, utilitzarem el mètode {{domxref("window.requestAnimationFrame()")}} per controlar l'animació. El mètode requestAnimationFrame proporciona una manera fluïda i eficient per a l'animació, cridant al marc d'animació quan el sistema estigui preparat per pintar el marc. El nombre de crides retornades és generalment 60 vegades per segon i pot reduir-se a una taxa més baixa quan s'executa en les pestanyes de fons. Per a més informació sobre el bucle d'animació, especialment per a jocs, veure l'article Anatomia d'un videojoc en la nostra Zona de desenvolupament de jocs.

+
+ +

Un sistema solar animat

+ +

Aquest exemple anima un petit model del nostre sistema solar.

+ +
var sun = new Image();
+var moon = new Image();
+var earth = new Image();
+function init() {
+  sun.src = 'https://mdn.mozillademos.org/files/1456/Canvas_sun.png';
+  moon.src = 'https://mdn.mozillademos.org/files/1443/Canvas_moon.png';
+  earth.src = 'https://mdn.mozillademos.org/files/1429/Canvas_earth.png';
+  window.requestAnimationFrame(draw);
+}
+
+function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  ctx.globalCompositeOperation = 'destination-over';
+  ctx.clearRect(0, 0, 300, 300); // clear canvas
+
+  ctx.fillStyle = 'rgba(0, 0, 0, 0.4)';
+  ctx.strokeStyle = 'rgba(0, 153, 255, 0.4)';
+  ctx.save();
+  ctx.translate(150, 150);
+
+  // Earth
+  var time = new Date();
+  ctx.rotate(((2 * Math.PI) / 60) * time.getSeconds() + ((2 * Math.PI) / 60000) * time.getMilliseconds());
+  ctx.translate(105, 0);
+  ctx.fillRect(0, -12, 50, 24); // Shadow
+  ctx.drawImage(earth, -12, -12);
+
+  // Moon
+  ctx.save();
+  ctx.rotate(((2 * Math.PI) / 6) * time.getSeconds() + ((2 * Math.PI) / 6000) * time.getMilliseconds());
+  ctx.translate(0, 28.5);
+  ctx.drawImage(moon, -3.5, -3.5);
+  ctx.restore();
+
+  ctx.restore();
+
+  ctx.beginPath();
+  ctx.arc(150, 150, 105, 0, Math.PI * 2, false); // Earth orbit
+  ctx.stroke();
+
+  ctx.drawImage(sun, 0, 0, 300, 300);
+
+  window.requestAnimationFrame(draw);
+}
+
+init();
+
+ + + +

{{EmbedLiveSample("An_animated_solar_system", "310", "310", "https://mdn.mozillademos.org/files/202/Canvas_animation1.png")}}

+ +

Un rellotge animat

+ +

Aquest exemple dibuixa un rellotge animat que mostra l'hora actual.

+ +
function clock() {
+  var now = new Date();
+  var ctx = document.getElementById('canvas').getContext('2d');
+  ctx.save();
+  ctx.clearRect(0, 0, 150, 150);
+  ctx.translate(75, 75);
+  ctx.scale(0.4, 0.4);
+  ctx.rotate(-Math.PI / 2);
+  ctx.strokeStyle = 'black';
+  ctx.fillStyle = 'white';
+  ctx.lineWidth = 8;
+  ctx.lineCap = 'round';
+
+  // Hour marks
+  ctx.save();
+  for (var i = 0; i < 12; i++) {
+    ctx.beginPath();
+    ctx.rotate(Math.PI / 6);
+    ctx.moveTo(100, 0);
+    ctx.lineTo(120, 0);
+    ctx.stroke();
+  }
+  ctx.restore();
+
+  // Minute marks
+  ctx.save();
+  ctx.lineWidth = 5;
+  for (i = 0; i < 60; i++) {
+    if (i % 5!= 0) {
+      ctx.beginPath();
+      ctx.moveTo(117, 0);
+      ctx.lineTo(120, 0);
+      ctx.stroke();
+    }
+    ctx.rotate(Math.PI / 30);
+  }
+  ctx.restore();
+
+  var sec = now.getSeconds();
+  var min = now.getMinutes();
+  var hr  = now.getHours();
+  hr = hr >= 12 ? hr - 12 : hr;
+
+  ctx.fillStyle = 'black';
+
+  // write Hours
+  ctx.save();
+  ctx.rotate(hr * (Math.PI / 6) + (Math.PI / 360) * min + (Math.PI / 21600) *sec);
+  ctx.lineWidth = 14;
+  ctx.beginPath();
+  ctx.moveTo(-20, 0);
+  ctx.lineTo(80, 0);
+  ctx.stroke();
+  ctx.restore();
+
+  // write Minutes
+  ctx.save();
+  ctx.rotate((Math.PI / 30) * min + (Math.PI / 1800) * sec);
+  ctx.lineWidth = 10;
+  ctx.beginPath();
+  ctx.moveTo(-28, 0);
+  ctx.lineTo(112, 0);
+  ctx.stroke();
+  ctx.restore();
+
+  // Write seconds
+  ctx.save();
+  ctx.rotate(sec * Math.PI / 30);
+  ctx.strokeStyle = '#D40000';
+  ctx.fillStyle = '#D40000';
+  ctx.lineWidth = 6;
+  ctx.beginPath();
+  ctx.moveTo(-30, 0);
+  ctx.lineTo(83, 0);
+  ctx.stroke();
+  ctx.beginPath();
+  ctx.arc(0, 0, 10, 0, Math.PI * 2, true);
+  ctx.fill();
+  ctx.beginPath();
+  ctx.arc(95, 0, 10, 0, Math.PI * 2, true);
+  ctx.stroke();
+  ctx.fillStyle = 'rgba(0, 0, 0, 0)';
+  ctx.arc(0, 0, 3, 0, Math.PI * 2, true);
+  ctx.fill();
+  ctx.restore();
+
+  ctx.beginPath();
+  ctx.lineWidth = 14;
+  ctx.strokeStyle = '#325FA2';
+  ctx.arc(0, 0, 142, 0, Math.PI * 2, true);
+  ctx.stroke();
+
+  ctx.restore();
+
+  window.requestAnimationFrame(clock);
+}
+
+window.requestAnimationFrame(clock);
+ + + +

{{EmbedLiveSample("An_animated_clock", "180", "180", "https://mdn.mozillademos.org/files/203/Canvas_animation2.png")}}

+ +

Un panorama en bucle

+ +

En aquest exemple, es desplaça una imatge panoràmica d'esquerra a dreta. Estem usant una imatge del Parc Nacional Yosemite, que hem pres de Wikipedia, però es pot usar qualsevol imatge que sigui més gran que el llenç.

+ +
var img = new Image();
+
+// User Variables - customize these to change the image being scrolled, its
+// direction, and the speed.
+
+img.src = 'https://mdn.mozillademos.org/files/4553/Capitan_Meadows,_Yosemite_National_Park.jpg';
+var CanvasXSize = 800;
+var CanvasYSize = 200;
+var speed = 30; // lower is faster
+var scale = 1.05;
+var y = -4.5; // vertical offset
+
+// Main program
+
+var dx = 0.75;
+var imgW;
+var imgH;
+var x = 0;
+var clearX;
+var clearY;
+var ctx;
+
+img.onload = function() {
+    imgW = img.width * scale;
+    imgH = img.height * scale;
+
+    if (imgW > CanvasXSize) {
+        // image larger than canvas
+        x = CanvasXSize - imgW;
+    }
+    if (imgW > CanvasXSize) {
+        // image width larger than canvas
+        clearX = imgW;
+    } else {
+        clearX = CanvasXSize;
+    }
+    if (imgH > CanvasYSize) {
+        // image height larger than canvas
+        clearY = imgH;
+    } else {
+        clearY = CanvasYSize;
+    }
+
+    // get canvas context
+    ctx = document.getElementById('canvas').getContext('2d');
+
+    // set refresh rate
+    return setInterval(draw, speed);
+}
+
+function draw() {
+    ctx.clearRect(0, 0, clearX, clearY); // clear the canvas
+
+    // if image is <= Canvas Size
+    if (imgW <= CanvasXSize) {
+        // reset, start from beginning
+        if (x > CanvasXSize) {
+            x = -imgW + x;
+        }
+        // draw additional image1
+        if (x > 0) {
+            ctx.drawImage(img, -imgW + x, y, imgW, imgH);
+        }
+        // draw additional image2
+        if (x - imgW > 0) {
+            ctx.drawImage(img, -imgW * 2 + x, y, imgW, imgH);
+        }
+    }
+
+    // image is > Canvas Size
+    else {
+        // reset, start from beginning
+        if (x > (CanvasXSize)) {
+            x = CanvasXSize - imgW;
+        }
+        // draw aditional image
+        if (x > (CanvasXSize-imgW)) {
+            ctx.drawImage(img, x - imgW + 1, y, imgW, imgH);
+        }
+    }
+    // draw image
+    ctx.drawImage(img, x, y,imgW, imgH);
+    // amount to move
+    x += dx;
+}
+
+ +

A continuació un {{HTMLElement("canvas")}} en què es desplaça la imatge. Hem de tenir en compte que l'amplada i l'alçada especificades aquí, han de coincidir amb els valors de les variables CanvasXZSize i CanvasYSize en el codi JavaScript.

+ +
<canvas id="canvas" width="800" height="200"></canvas>
+ +

{{EmbedLiveSample("A_looping_panorama", "830", "230")}}

+ +

Altres exemples

+ +
+
Una roda de raigs bàsica
+
Un bon exemple de com fer animacions usant els controls del teclat.
+
Animacions avançades
+
En el proper capítol veurem algunes tècniques avançades d'animació i física.
+
+ +

{{PreviousNext("Web/API/Canvas_API/Tutorial/Compositing", "Web/API/Canvas_API/Tutorial/Advanced_animations")}}

diff --git a/files/ca/web/api/canvas_api/tutorial/basic_usage/index.html b/files/ca/web/api/canvas_api/tutorial/basic_usage/index.html new file mode 100644 index 0000000000..fb15a62d81 --- /dev/null +++ b/files/ca/web/api/canvas_api/tutorial/basic_usage/index.html @@ -0,0 +1,158 @@ +--- +title: Ús bàsic de canvas +slug: Web/API/Canvas_API/Tutorial/Ús_bàsic +tags: + - Canvas + - Graphics + - HTML + - Intermediate + - Tutorial +translation_of: Web/API/Canvas_API/Tutorial/Basic_usage +--- +
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial", "Web/API/Canvas_API/Tutorial/Drawing_shapes")}}
+ +
+

Comencem aquest tutorial consultant l'element {{HTMLElement("canvas")}} {{Glossary("HTML")}}. Al final d'aquesta pàgina, sabreu com configurar un context 2D de canvas i haureu dibuixat un primer exemple en el vostre navegador.

+
+ +

L'element <canvas>

+ +
<canvas id="tutorial" width="150" height="150"></canvas>
+
+ +

A primera vista, {{HTMLElement("canvas")}} s'assembla l'element {{HTMLElement("img")}} amb l'única diferència clara, que no té els atributs src i alt. De fet, l'element <canvas> només té dos atributs, {{htmlattrxref("width", "canvas")}} i {{htmlattrxref("height", "canvas")}}. Aquests són opcionals i també es poden establir utilitzant les properties {{Glossary("DOM")}} . Quan no s'especifiquen els atributs width i height, inicialment canvas tindrà 300 píxels d'amplada i 150 píxels d'alçada. L'element es pot dimensionar arbitràriament per {{Glossary("CSS")}}, però durant la representació, la imatge s'escala per adaptar-se a la seva grandària de disseny: si el dimensionament CSS no respecta la relació inicial de canvas, apareixerà distorsionada

+ +
+

Nota: Si les vostres representacions semblen distorsionades, intenteu especificar els atributs width i height, explícitament, en els atributs <canvas> i no utilitzeu CSS.

+
+ +

L'atribut id no és específic de l'element <canvas>, però és un dels atributs HTML global que es pot aplicar a qualsevol element HTML (com class, per exemple). Sempre és una bona idea proporcionar un id, perquè això fa que sigui molt més fàcil identificar-lo en un script.

+ +

L'element <canvas> se li pot donar estil com qualsevol imatge normal ({{cssxref("margin")}}, {{cssxref("border")}}, {{cssxref("background")}}…). Aquestes regles, no obstant això, no afecten al dibuix real sobre el llenç. Veurem com això es fa en un capítol dedicat d'aquest tutorial. Quan no s'apliquen regles d'estil al llenç, inicialment, serà totalment transparent.

+ +
+

Contingut alternatiu

+ +

L'element <canvas> difereix d'una etiqueta {{HTMLElement("img")}} com per els elements {{HTMLElement("video")}}, {{HTMLElement("audio")}} o {{HTMLElement("picture")}}, és fàcil definir algun contingut alternatiu, que es mostri en navegadors antics que no ho suportin, com ara en versions d'Internet Explorer anteriors a la versió 9 o navegadors textuals. Sempre haureu de proporcionar contingut alternatiu perquè els navegadors ho mostrin.

+ +

Proporcionar contingut alternatiu és molt senzill: simplement inseriu el contingut alternatiu dins de l'element <canvas>. Els navegadors que no suporten <canvas> ignoraran el contenidor i mostraran el contingut alternatiu dins del mateix. Els navegadors que suporten <canvas> ignoraran el contingut dins del contenidor, i simplement mostraran el llenç, normalment.

+ +

Per exemple, podríem proporcionar una descripció de text del contingut del llenç o proporcionar una imatge estàtica del contingut presentat dinàmicament. Això pot semblar-se a això:

+ +
<canvas id="stockGraph" width="150" height="150">
+  current stock price: $3.15 + 0.15
+</canvas>
+
+<canvas id="clock" width="150" height="150">
+  <img src="images/clock.png" width="150" height="150" alt=""/>
+</canvas>
+
+ +

Dir-li a l'usuari que utilitzi un navegador diferent que suporti canvas no ajuda als usuaris que no poden llegir canvas en absolut, per exemple. Proporcionar un text alternatiu útil o un DOM secundari, ajuda a fer canvas més accessible.

+ +

Etiqueta </canvas> obligatoria

+ +

Com a conseqüència de la manera en què es proporciona una solució alternativa, a diferència de l'element {{HTMLElement("img")}}, l'element {{HTMLElement("canvas")}} requereix l'etiqueta de tancament (</canvas>). Si aquesta etiqueta no està present, la resta del document es consideraria contingut alternatiu i no es mostraria.

+ +

Si no es necessita un contingut alternatiu, un simple <canvas id="foo" ...></canvas> és totalment compatible amb tots els navegadors que suporten canvas.

+ +

El context de representació

+ +

L'element {{HTMLElement("canvas")}} crea una superfície de dibuix de grandària fixa que exposa un o més contextos de representació, que s'utilitzen per crear i manipular el contingut mostrat. En aquest tutorial, ens centrem en el context de representació 2D. Altres contextos poden proporcionar diferents tipus de representació; per exemple, WebGL utilitza un context 3D basat en OpenGL ÉS.Other contexts may provide different types of rendering; for example, WebGL uses a 3D context based on OpenGL ES.

+ +

El llenç està inicialment en blanc. Per mostrar alguna cosa, un script, primer necessita accedir al context de representació i dibuixar en ell. L'element {{HTMLElement("canvas")}} té un mètode anomenat {{domxref("HTMLCanvasElement.getContext", "getContext()")}}, utilitzat per obtenir el context de representació i les seves funcions de dibuix. getContext() pren un paràmetre, el tipus de context. Per als gràfics 2D, com els que es detallen en aquest tutorial, heu d'especificar "2d" per obtenir un {{domxref("CanvasRenderingContext2D")}}.

+ +
var canvas = document.getElementById('tutorial');
+var ctx = canvas.getContext('2d');
+
+ +

La primera línia del script recupera el node en el DOM, que representa l'element {{HTMLElement("canvas")}} cridant el mètode {{domxref("document.getElementById()")}}. Un cop tingueu el node d'element, podeu accedir al context del dibuix mitjançant el mètode getContext().

+ +
+

Comprovació del suport

+ +

El contingut alternatiu es mostra en navegadors que no admeten {{HTMLElement("canvas")}}. Les seqüències d'ordres, també poden comprovar la compatibilitat mitjançant programació, simplement provant la presència del mètode getContext(). El nostre fragment de codi de dalt es converteix en una cosa així:

+ +
var canvas = document.getElementById('tutorial');
+
+if (canvas.getContext) {
+  var ctx = canvas.getContext('2d');
+  // drawing code here
+} else {
+  // canvas-unsupported code here
+}
+
+
+
+ +

Una plantilla esquelet

+ +

Aquí teniu una plantilla minimalista, que usarem com a punt de partida per a exemples posteriors.

+ +
+

Nota: no és una bona pràctica incrustar un script dins d'HTML. Ho fem aquí per mantenir l'exemple concís.

+
+ +
<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8"/>
+    <title>Canvas tutorial</title>
+    <script type="text/javascript">
+      function draw() {
+        var canvas = document.getElementById('tutorial');
+        if (canvas.getContext) {
+          var ctx = canvas.getContext('2d');
+        }
+      }
+    </script>
+    <style type="text/css">
+      canvas { border: 1px solid black; }
+    </style>
+  </head>
+  <body onload="draw();">
+    <canvas id="tutorial" width="150" height="150"></canvas>
+  </body>
+</html>
+
+ +

El script inclou una funció anomenada draw(), que s'executa una vegada que la pàgina acaba de carregar-se; això es fa escoltant  l'esdeveniment {{event("load")}} en el document. Aquesta funció, o una similar, també pot ser cridada usant {{domxref("WindowTimers.setTimeout", "window.setTimeout()")}}, {{domxref("WindowTimers.setInterval", "window.setInterval()")}}, o qualsevol altre controlador d'esdeveniments, sempre que la pàgina s'hagi carregat primer.

+ +

Així és com es veuria una plantilla en acció. Com es mostra aquí, inicialment està en blanc.

+ +

{{EmbedLiveSample("A_skeleton_template", 160, 160)}}

+ +

Un exemple senzill

+ +

Per començar, feu un cop d'ull a un exemple senzill que dibuixa dos rectangles que es creuen, un dels quals té una transparència alfa. Explorarem com funciona això amb més detall en exemples posteriors.

+ +
<!DOCTYPE html>
+<html>
+ <head>
+  <meta charset="utf-8"/>
+  <script type="application/javascript">
+    function draw() {
+      var canvas = document.getElementById('canvas');
+      if (canvas.getContext) {
+        var ctx = canvas.getContext('2d');
+
+        ctx.fillStyle = 'rgb(200, 0, 0)';
+        ctx.fillRect(10, 10, 50, 50);
+
+        ctx.fillStyle = 'rgba(0, 0, 200, 0.5)';
+        ctx.fillRect(30, 30, 50, 50);
+      }
+    }
+  </script>
+ </head>
+ <body onload="draw();">
+   <canvas id="canvas" width="150" height="150"></canvas>
+ </body>
+</html>
+
+ +

Aquest exemple es veu així:

+ +

{{EmbedLiveSample("A_simple_example", 160, 160, "https://mdn.mozillademos.org/files/228/canvas_ex1.png")}}

+ +

{{PreviousNext("Web/API/Canvas_API/Tutorial", "Web/API/Canvas_API/Tutorial/Drawing_shapes")}}

diff --git "a/files/ca/web/api/canvas_api/tutorial/composici\303\263/index.html" "b/files/ca/web/api/canvas_api/tutorial/composici\303\263/index.html" deleted file mode 100644 index e556e911d4..0000000000 --- "a/files/ca/web/api/canvas_api/tutorial/composici\303\263/index.html" +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: Composició i retall -slug: Web/API/Canvas_API/Tutorial/Composició -tags: - - Canvas - - Graphics - - HTML - - HTML5 - - Intermediate - - Tutorial -translation_of: Web/API/Canvas_API/Tutorial/Compositing ---- -
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Transformations", "Web/API/Canvas_API/Tutorial/Basic_animations")}}
- -
-

En tots els nostres exemples anteriors, les formes sempre s'han dibuixat una damunt de l'altra. Això és més que adequat per a la majoria de les situacions, però limita l'ordre en què es construeixen formes compostes. No obstant això, podem canviar aquest comportament establint la propietat globalCompositeOperation. A més, la propietat clip permet ocultar parts de formes no desitjades.

-
- -

globalCompositeOperation

- -

No només podem dibuixar noves formes darrere de les formes existents, sinó que també, podem utilitzar-ho per emmascarar certes àrees, esborrar seccions del llenç (no limitades a rectangles, com ho fa el mètode {{domxref("CanvasRenderingContext2D.clearRect", "clearRect()")}}) i molt més.

- -
-
{{domxref("CanvasRenderingContext2D.globalCompositeOperation", "globalCompositeOperation = type")}}
-
Estableix el tipus d'operació de composició que s'aplicarà en dibuixar noves formes, on el tipus és una cadena que identifica quina de les dotze operacions de composició ha d'utilitzar-se.
-
- -

Veure exemples de composició per al codi dels següents exemples.

- -

{{EmbedLiveSample("Compositing_example", 750, 6750, "" ,"Web/API/Canvas_API/Tutorial/Compositing/Example")}}

- -

Trajectòries de retall

- -

Una trajectòria de retall és com una forma de llenç normal, però actua com una màscara per ocultar parts no desitjades de formes. Això es visualitza en la imatge de la dreta. La forma d'estel vermell és la nostre trajectòria de retall. Tot el que queda fora d'aquesta trajectòria no es dibuixarà en el llenç.

- -

Si comparem les trajectòries de retall  amb la propietat globalCompositeOperation, que hem vist anteriorment, veiem dos modes de composició que aconsegueixen més o menys el mateix efecte en source-in i source-atop. Les diferències més importants entre les dues, són que les trajectòries de retall mai es dibuixen realment al llenç i la trajectòria de retall mai es veu afectada per l'addició de noves formes. Això fa que les trajectòries de retall siguin ideals per dibuixar múltiples formes en un àrea restringida

- -

En el capítol sobre dibuixar formes, només s'ha esmentat els mètodes stroke() i fill(), però hi ha un tercer mètode que es pot utilitzar amb les trajectòries, anomenat clip().

- -
-
{{domxref("CanvasRenderingContext2D.clip", "clip()")}}
-
Converteix la trajectòria que s'està construint, en la trajectòria de retall actual.
-
- -

Utilitzar clip() en lloc de closePath() per tancar una trajectòria i convertir-la en una trajectòria de retall en lloc de traçar o emplenar la trajectòria.

- -

Per defecte, l'element {{HTMLElement("canvas")}}, té una trajectòria de retall de la mateixa grandària que el propi llenç. En altres paraules, no es produeix cap retall.

- -

Un exemple de clip

- -

En aquest exemple, utilitzarem un trajectòria de retall circular per restringir el dibuix d'un conjunt d'estels aleatòries a una regió en particular.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  ctx.fillRect(0, 0, 150, 150);
-  ctx.translate(75, 75);
-
-  // Crea una trajectòria de retall circular
-  ctx.beginPath();
-  ctx.arc(0, 0, 60, 0, Math.PI * 2, true);
-  ctx.clip();
-
-  // dibuixa el fons
-  var lingrad = ctx.createLinearGradient(0, -75, 0, 75);
-  lingrad.addColorStop(0, '#232256');
-  lingrad.addColorStop(1, '#143778');
-
-  ctx.fillStyle = lingrad;
-  ctx.fillRect(-75, -75, 150, 150);
-
-  // dibuixa els estels
-  for (var j = 1; j < 50; j++) {
-    ctx.save();
-    ctx.fillStyle = '#fff';
-    ctx.translate(75 - Math.floor(Math.random() * 150),
-                  75 - Math.floor(Math.random() * 150));
-    drawStar(ctx, Math.floor(Math.random() * 4) + 2);
-    ctx.restore();
-  }
-
-}
-
-function drawStar(ctx, r) {
-  ctx.save();
-  ctx.beginPath();
-  ctx.moveTo(r, 0);
-  for (var i = 0; i < 9; i++) {
-    ctx.rotate(Math.PI / 5);
-    if (i % 2 === 0) {
-      ctx.lineTo((r / 0.525731) * 0.200811, 0);
-    } else {
-      ctx.lineTo(r, 0);
-    }
-  }
-  ctx.closePath();
-  ctx.fill();
-  ctx.restore();
-}
-
- - - -

En les primeres línies de codi, dibuixem un rectangle negre de la grandària del llenç com a fons, després traslladem l'origen al centre. A continuació, creem la trajectòria de retall circular, dibuixant un arc i cridem clip(). Les trajectòries de retall també formen part de l'estat de guardat del llenç. Si haguéssim volgut mantenir la trajectòria de retall original, podríem haver guardat l'estat del llenç abans de crear el nou.

- -

Tot el que es dibuixa després de crear la trajectòria de retall, només apareixerà dins d'aquesta trajectòria. Es pot veure això clarament, en el gradient lineal que es dibuixa a continuació. Després d'això, es dibuixa un conjunt de 50 estels posicionats aleatòriament i escalats, usant la funció personalitzada drawStar(). De nou, els estels, només apareixen dins de la trajectòria de retall definida.

- -

{{EmbedLiveSample("A_clip_example", "180", "180", "https://mdn.mozillademos.org/files/208/Canvas_clip.png")}}

- -

{{PreviousNext("Web/API/Canvas_API/Tutorial/Transformations", "Web/API/Canvas_API/Tutorial/Basic_animations")}}

diff --git a/files/ca/web/api/canvas_api/tutorial/compositing/index.html b/files/ca/web/api/canvas_api/tutorial/compositing/index.html new file mode 100644 index 0000000000..e556e911d4 --- /dev/null +++ b/files/ca/web/api/canvas_api/tutorial/compositing/index.html @@ -0,0 +1,113 @@ +--- +title: Composició i retall +slug: Web/API/Canvas_API/Tutorial/Composició +tags: + - Canvas + - Graphics + - HTML + - HTML5 + - Intermediate + - Tutorial +translation_of: Web/API/Canvas_API/Tutorial/Compositing +--- +
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Transformations", "Web/API/Canvas_API/Tutorial/Basic_animations")}}
+ +
+

En tots els nostres exemples anteriors, les formes sempre s'han dibuixat una damunt de l'altra. Això és més que adequat per a la majoria de les situacions, però limita l'ordre en què es construeixen formes compostes. No obstant això, podem canviar aquest comportament establint la propietat globalCompositeOperation. A més, la propietat clip permet ocultar parts de formes no desitjades.

+
+ +

globalCompositeOperation

+ +

No només podem dibuixar noves formes darrere de les formes existents, sinó que també, podem utilitzar-ho per emmascarar certes àrees, esborrar seccions del llenç (no limitades a rectangles, com ho fa el mètode {{domxref("CanvasRenderingContext2D.clearRect", "clearRect()")}}) i molt més.

+ +
+
{{domxref("CanvasRenderingContext2D.globalCompositeOperation", "globalCompositeOperation = type")}}
+
Estableix el tipus d'operació de composició que s'aplicarà en dibuixar noves formes, on el tipus és una cadena que identifica quina de les dotze operacions de composició ha d'utilitzar-se.
+
+ +

Veure exemples de composició per al codi dels següents exemples.

+ +

{{EmbedLiveSample("Compositing_example", 750, 6750, "" ,"Web/API/Canvas_API/Tutorial/Compositing/Example")}}

+ +

Trajectòries de retall

+ +

Una trajectòria de retall és com una forma de llenç normal, però actua com una màscara per ocultar parts no desitjades de formes. Això es visualitza en la imatge de la dreta. La forma d'estel vermell és la nostre trajectòria de retall. Tot el que queda fora d'aquesta trajectòria no es dibuixarà en el llenç.

+ +

Si comparem les trajectòries de retall  amb la propietat globalCompositeOperation, que hem vist anteriorment, veiem dos modes de composició que aconsegueixen més o menys el mateix efecte en source-in i source-atop. Les diferències més importants entre les dues, són que les trajectòries de retall mai es dibuixen realment al llenç i la trajectòria de retall mai es veu afectada per l'addició de noves formes. Això fa que les trajectòries de retall siguin ideals per dibuixar múltiples formes en un àrea restringida

+ +

En el capítol sobre dibuixar formes, només s'ha esmentat els mètodes stroke() i fill(), però hi ha un tercer mètode que es pot utilitzar amb les trajectòries, anomenat clip().

+ +
+
{{domxref("CanvasRenderingContext2D.clip", "clip()")}}
+
Converteix la trajectòria que s'està construint, en la trajectòria de retall actual.
+
+ +

Utilitzar clip() en lloc de closePath() per tancar una trajectòria i convertir-la en una trajectòria de retall en lloc de traçar o emplenar la trajectòria.

+ +

Per defecte, l'element {{HTMLElement("canvas")}}, té una trajectòria de retall de la mateixa grandària que el propi llenç. En altres paraules, no es produeix cap retall.

+ +

Un exemple de clip

+ +

En aquest exemple, utilitzarem un trajectòria de retall circular per restringir el dibuix d'un conjunt d'estels aleatòries a una regió en particular.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  ctx.fillRect(0, 0, 150, 150);
+  ctx.translate(75, 75);
+
+  // Crea una trajectòria de retall circular
+  ctx.beginPath();
+  ctx.arc(0, 0, 60, 0, Math.PI * 2, true);
+  ctx.clip();
+
+  // dibuixa el fons
+  var lingrad = ctx.createLinearGradient(0, -75, 0, 75);
+  lingrad.addColorStop(0, '#232256');
+  lingrad.addColorStop(1, '#143778');
+
+  ctx.fillStyle = lingrad;
+  ctx.fillRect(-75, -75, 150, 150);
+
+  // dibuixa els estels
+  for (var j = 1; j < 50; j++) {
+    ctx.save();
+    ctx.fillStyle = '#fff';
+    ctx.translate(75 - Math.floor(Math.random() * 150),
+                  75 - Math.floor(Math.random() * 150));
+    drawStar(ctx, Math.floor(Math.random() * 4) + 2);
+    ctx.restore();
+  }
+
+}
+
+function drawStar(ctx, r) {
+  ctx.save();
+  ctx.beginPath();
+  ctx.moveTo(r, 0);
+  for (var i = 0; i < 9; i++) {
+    ctx.rotate(Math.PI / 5);
+    if (i % 2 === 0) {
+      ctx.lineTo((r / 0.525731) * 0.200811, 0);
+    } else {
+      ctx.lineTo(r, 0);
+    }
+  }
+  ctx.closePath();
+  ctx.fill();
+  ctx.restore();
+}
+
+ + + +

En les primeres línies de codi, dibuixem un rectangle negre de la grandària del llenç com a fons, després traslladem l'origen al centre. A continuació, creem la trajectòria de retall circular, dibuixant un arc i cridem clip(). Les trajectòries de retall també formen part de l'estat de guardat del llenç. Si haguéssim volgut mantenir la trajectòria de retall original, podríem haver guardat l'estat del llenç abans de crear el nou.

+ +

Tot el que es dibuixa després de crear la trajectòria de retall, només apareixerà dins d'aquesta trajectòria. Es pot veure això clarament, en el gradient lineal que es dibuixa a continuació. Després d'això, es dibuixa un conjunt de 50 estels posicionats aleatòriament i escalats, usant la funció personalitzada drawStar(). De nou, els estels, només apareixen dins de la trajectòria de retall definida.

+ +

{{EmbedLiveSample("A_clip_example", "180", "180", "https://mdn.mozillademos.org/files/208/Canvas_clip.png")}}

+ +

{{PreviousNext("Web/API/Canvas_API/Tutorial/Transformations", "Web/API/Canvas_API/Tutorial/Basic_animations")}}

diff --git a/files/ca/web/api/canvas_api/tutorial/dibuixar_text/index.html b/files/ca/web/api/canvas_api/tutorial/dibuixar_text/index.html deleted file mode 100644 index 37b730176a..0000000000 --- a/files/ca/web/api/canvas_api/tutorial/dibuixar_text/index.html +++ /dev/null @@ -1,165 +0,0 @@ ---- -title: Dibuixar text -slug: Web/API/Canvas_API/Tutorial/Dibuixar_text -tags: - - Canvas - - Graphics - - Intermediate - - Tutorial -translation_of: Web/API/Canvas_API/Tutorial/Drawing_text ---- -
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Applying_styles_and_colors", "Web/API/Canvas_API/Tutorial/Using_images")}}
- -
-

Després d'haver vist com aplicar estils i colors en el capítol anterior, ara veurem com dibuixar text sobre canvas.

-
- -

Dibuixar text

- -

El context de representació de canvas proporciona dos mètodes per representar el text:

- -
-
{{domxref("CanvasRenderingContext2D.fillText", "fillText(text, x, y [, maxWidth])")}}
-
Omple un text donat en la posició donada (x, y). Opcionalment amb ample màxim per dibuixar.
-
{{domxref("CanvasRenderingContext2D.strokeText", "strokeText(text, x, y [, maxWidth])")}}
-
Traça un text donat en la posició donada (x, y). Opcionalment amb ample màxim per dibuixar.
-
- -

Un exemple de fillText

- -

El text s'omple usant l'actual fillStyle.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  ctx.font = '48px serif';
-  ctx.fillText('Hello world', 10, 50);
-}
- - - -

{{EmbedLiveSample("A_fillText_example", 310, 110)}}

- -

Un exemple de strokeText

- -

El text s'omple usant l'actual strokeStyle.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  ctx.font = '48px serif';
-  ctx.strokeText('Hello world', 10, 50);
-}
- - - -

{{EmbedLiveSample("A_strokeText_example", 310, 110)}}

- -

Estil de text

- -

En els exemples anteriors ja hem fet ús de la propietat font per fer el text una mica més gran que la grandària predeterminada. Hi ha algunes propietats més que permeten ajustar la forma en què el text es mostra en el llenç:

- -
-
{{domxref("CanvasRenderingContext2D.font", "font = value")}}
-
L'estil de text actual que s'utilitza en dibuixar text. Aquesta cadena utilitza la mateixa sintaxi que la propietat CSS {{cssxref("font")}}. La font predeterminada és 10px sans-serif.
-
{{domxref("CanvasRenderingContext2D.textAlign", "textAlign = value")}}
-
Configuració de l'alineació del text. Valors possibles: start, end, left, right o center. El valor predeterminat és start.
-
{{domxref("CanvasRenderingContext2D.textBaseline", "textBaseline = value")}}
-
Configuració d'alineació de la línia de base. Valors possibles: top, hanging, middle, alphabetic, ideographic, bottom. El valor predeterminat és alphabetic.
-
{{domxref("CanvasRenderingContext2D.direction", "direction = value")}}
-
Direccionalitat. Valors possibles: ltr, rtl, inherit. El valor predeterminat és inherit.
-
- -

Aquestes propietats poden ser familiars, si heu treballat abans amb CSS.

- -

El següent diagrama del WHATWG mostra les diverses línies de base compatibles amb la propietat textBaseline.La part superior del quadrat em està aproximadament en la part superior dels glifos en una font, la línia de base penjant és on alguns glifos com आ estan ancorats, el mitjà està a mig camí entre la part superior del quadrat em i la part inferior del quadrat em,la línia de base alfabètica és on ancoren caràcters com Á, ÿ,
-f i Ω, la línia de base ideográfica és on glifos com 私 i 達 estan ancorats, i la part inferior del quadrat em està aproximadament en la part inferior dels glifos en una font. La part superior i inferior del quadre delimitador pot estar lluny d'aquestes línies de base, a causa que els glifos s'estenen molt més allà del quadrat em.

- -

Un exemple de textBaseline

- -

Editeu el codi següent i vegeu els canvis actualitzats en directe en el llenç:

- -
ctx.font = '48px serif';
-ctx.textBaseline = 'hanging';
-ctx.strokeText('Hello world', 0, 100);
-
- - - -

{{ EmbedLiveSample('Playable_code', 700, 360) }}

- -

Mesures avançades de text

- -

En el cas de necessitar obtenir més detalls sobre el text, el següent mètode permet mesurar-ho.

- -
-
{{domxref("CanvasRenderingContext2D.measureText", "measureText()")}}
-
Retorna un objecte {{domxref("TextMetrics")}} que conté l'amplada, en píxels, que serà el text especificat quan es dibuixi en l'estil de text actual.
-
- -

El següent fragment de codi mostra com es pot mesurar un text i obtenir la seva amplada

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  var text = ctx.measureText('foo'); // TextMetrics object
-  text.width; // 16;
-}
-
- -

Notes específiques de Gecko

- -

En Gecko (el motor de representació de Firefox, Firefox OS i altres aplicacions basades en Mozilla), es van implementar algunes APIs prefixades en versions anteriors per dibuixar text en un llenç. Ara estan desaprovades i eliminades, ja no es garanteix el seu funcionament.

- -

{{PreviousNext("Web/API/Canvas_API/Tutorial/Applying_styles_and_colors", "Web/API/Canvas_API/Tutorial/Using_images")}}

- -
- - -
 
- -
 
-
diff --git a/files/ca/web/api/canvas_api/tutorial/drawing_text/index.html b/files/ca/web/api/canvas_api/tutorial/drawing_text/index.html new file mode 100644 index 0000000000..37b730176a --- /dev/null +++ b/files/ca/web/api/canvas_api/tutorial/drawing_text/index.html @@ -0,0 +1,165 @@ +--- +title: Dibuixar text +slug: Web/API/Canvas_API/Tutorial/Dibuixar_text +tags: + - Canvas + - Graphics + - Intermediate + - Tutorial +translation_of: Web/API/Canvas_API/Tutorial/Drawing_text +--- +
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Applying_styles_and_colors", "Web/API/Canvas_API/Tutorial/Using_images")}}
+ +
+

Després d'haver vist com aplicar estils i colors en el capítol anterior, ara veurem com dibuixar text sobre canvas.

+
+ +

Dibuixar text

+ +

El context de representació de canvas proporciona dos mètodes per representar el text:

+ +
+
{{domxref("CanvasRenderingContext2D.fillText", "fillText(text, x, y [, maxWidth])")}}
+
Omple un text donat en la posició donada (x, y). Opcionalment amb ample màxim per dibuixar.
+
{{domxref("CanvasRenderingContext2D.strokeText", "strokeText(text, x, y [, maxWidth])")}}
+
Traça un text donat en la posició donada (x, y). Opcionalment amb ample màxim per dibuixar.
+
+ +

Un exemple de fillText

+ +

El text s'omple usant l'actual fillStyle.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  ctx.font = '48px serif';
+  ctx.fillText('Hello world', 10, 50);
+}
+ + + +

{{EmbedLiveSample("A_fillText_example", 310, 110)}}

+ +

Un exemple de strokeText

+ +

El text s'omple usant l'actual strokeStyle.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  ctx.font = '48px serif';
+  ctx.strokeText('Hello world', 10, 50);
+}
+ + + +

{{EmbedLiveSample("A_strokeText_example", 310, 110)}}

+ +

Estil de text

+ +

En els exemples anteriors ja hem fet ús de la propietat font per fer el text una mica més gran que la grandària predeterminada. Hi ha algunes propietats més que permeten ajustar la forma en què el text es mostra en el llenç:

+ +
+
{{domxref("CanvasRenderingContext2D.font", "font = value")}}
+
L'estil de text actual que s'utilitza en dibuixar text. Aquesta cadena utilitza la mateixa sintaxi que la propietat CSS {{cssxref("font")}}. La font predeterminada és 10px sans-serif.
+
{{domxref("CanvasRenderingContext2D.textAlign", "textAlign = value")}}
+
Configuració de l'alineació del text. Valors possibles: start, end, left, right o center. El valor predeterminat és start.
+
{{domxref("CanvasRenderingContext2D.textBaseline", "textBaseline = value")}}
+
Configuració d'alineació de la línia de base. Valors possibles: top, hanging, middle, alphabetic, ideographic, bottom. El valor predeterminat és alphabetic.
+
{{domxref("CanvasRenderingContext2D.direction", "direction = value")}}
+
Direccionalitat. Valors possibles: ltr, rtl, inherit. El valor predeterminat és inherit.
+
+ +

Aquestes propietats poden ser familiars, si heu treballat abans amb CSS.

+ +

El següent diagrama del WHATWG mostra les diverses línies de base compatibles amb la propietat textBaseline.La part superior del quadrat em està aproximadament en la part superior dels glifos en una font, la línia de base penjant és on alguns glifos com आ estan ancorats, el mitjà està a mig camí entre la part superior del quadrat em i la part inferior del quadrat em,la línia de base alfabètica és on ancoren caràcters com Á, ÿ,
+f i Ω, la línia de base ideográfica és on glifos com 私 i 達 estan ancorats, i la part inferior del quadrat em està aproximadament en la part inferior dels glifos en una font. La part superior i inferior del quadre delimitador pot estar lluny d'aquestes línies de base, a causa que els glifos s'estenen molt més allà del quadrat em.

+ +

Un exemple de textBaseline

+ +

Editeu el codi següent i vegeu els canvis actualitzats en directe en el llenç:

+ +
ctx.font = '48px serif';
+ctx.textBaseline = 'hanging';
+ctx.strokeText('Hello world', 0, 100);
+
+ + + +

{{ EmbedLiveSample('Playable_code', 700, 360) }}

+ +

Mesures avançades de text

+ +

En el cas de necessitar obtenir més detalls sobre el text, el següent mètode permet mesurar-ho.

+ +
+
{{domxref("CanvasRenderingContext2D.measureText", "measureText()")}}
+
Retorna un objecte {{domxref("TextMetrics")}} que conté l'amplada, en píxels, que serà el text especificat quan es dibuixi en l'estil de text actual.
+
+ +

El següent fragment de codi mostra com es pot mesurar un text i obtenir la seva amplada

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  var text = ctx.measureText('foo'); // TextMetrics object
+  text.width; // 16;
+}
+
+ +

Notes específiques de Gecko

+ +

En Gecko (el motor de representació de Firefox, Firefox OS i altres aplicacions basades en Mozilla), es van implementar algunes APIs prefixades en versions anteriors per dibuixar text en un llenç. Ara estan desaprovades i eliminades, ja no es garanteix el seu funcionament.

+ +

{{PreviousNext("Web/API/Canvas_API/Tutorial/Applying_styles_and_colors", "Web/API/Canvas_API/Tutorial/Using_images")}}

+ +
+ + +
 
+ +
 
+
diff --git "a/files/ca/web/api/canvas_api/tutorial/manipular_p\303\255xels_amb_canvas/index.html" "b/files/ca/web/api/canvas_api/tutorial/manipular_p\303\255xels_amb_canvas/index.html" deleted file mode 100644 index d792e62ef0..0000000000 --- "a/files/ca/web/api/canvas_api/tutorial/manipular_p\303\255xels_amb_canvas/index.html" +++ /dev/null @@ -1,307 +0,0 @@ ---- -title: Manipular píxels amb canvas -slug: Web/API/Canvas_API/Tutorial/Manipular_píxels_amb_canvas -tags: - - Canvas - - Graphics - - Intermediate - - Tutorial -translation_of: Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas ---- -
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Advanced_animations", "Web/API/Canvas_API/Tutorial/Hit_regions_and_accessibility")}}
- -
-

Fins ara no hem mirat els píxels reals del nostre llenç. Amb l'objecte ImageData podem llegir i escriure directament una matriu de dades per manipular dades de píxels. També veurem com es pot controlar el suavitzat de la imatge (anti-aliasing) i com guardar imatges del vostre llenç.

-
- -

L'objecte ImageData

- -

L'objecte {{domxref("ImageData")}} representa les dades de píxels subjacents d'un àrea d'un objecte canvas. Conté els següents atributs de només lectura:

- -
-
width
-
L'amplada de la imatge en píxels.
-
height
-
L'alçada de la imatge en píxels.
-
data
-
Un {{jsxref("Uint8ClampedArray")}} representa una matriu unidimensional que conté les dades en l'ordre RGBA, amb valors enters entre 0 i 255 (inclosos).
-
- -

La propietat data retorna un {{jsxref("Uint8ClampedArray")}} al que es pot accedir per veure les dades de píxel en brut; cada píxel està representat per quatre valors d'un byte (vermell, verd, blau i alfa, en aquest ordre; és a dir, format "RGBA"). Cada component de color està representat per un nombre enter entre 0 i 255. A cada component se li assigna un índex consecutiu dins de la matriu, el component vermell del píxel esquerre superior és l'índex 0 dins de la matriu. Els píxels es segueixen d'esquerra a dreta, a després cap avall, a través de la matriu.

- -

El {{jsxref("Uint8ClampedArray")}} conté height × width × 4 bytes de dades, amb valors d'índex que van des de 0 fins a (height×width×4)-1.

- -

Per exemple, per llegir el valor del component blau del píxel a la columna 200, fila 50 de la imatge, fariem el següent:

- -
blueComponent = imageData.data[((50 * (imageData.width * 4)) + (200 * 4)) + 2];
- -

Si se li dóna un conjunt de coordenades (X i Y), es pot acabar fent alguna cosa com això:

- -
var xCoord = 50;
-var yCoord = 100;
-var canvasWidth = 1024;
-
-function getColorIndicesForCoord(x, y, width) {
-  var red = y * (width * 4) + x * 4;
-  return [red, red + 1, red + 2, red + 3];
-}
-
-var colorIndices = getColorIndicesForCoord(xCoord, yCoord, canvasWidth);
-
-var redIndex = colorIndices[0];
-var greenIndex = colorIndices[1];
-var blueIndex = colorIndices[2];
-var alphaIndex = colorIndices[3];
-
-var redForCoord = imageData.data[redIndex];
-var greenForCoord = imageData.data[greenIndex];
-var blueForCoord = imageData.data[blueIndex];
-var alphaForCoord = imageData.data[alphaIndex];
-
- -

O, si ES6 is apropiat:

- -
const xCoord = 50;
-const yCoord = 100;
-const canvasWidth = 1024;
-
-const getColorIndicesForCoord = (x, y, width) => {
-  const red = y * (width * 4) + x * 4;
-  return [red, red + 1, red + 2, red + 3];
-};
-
-const colorIndices = getColorIndicesForCoord(xCoord, yCoord, canvasWidth);
-
-const [redIndex, greenIndex, blueIndex, alphaIndex] = colorIndices;
-
- -

També es pot accedir a la mida de la matriu de píxels en bytes llegint l'atribut Uint8ClampedArray.length:

- -
var numBytes = imageData.data.length;
-
- -

Crear un objecte ImageData

- -

Per crear un nou objecte ImageData en blanc, hem d'utilitzar el mètode {{domxref("CanvasRenderingContext2D.createImageData", "createImageData()")}}. Hi ha dues versions del mètode createImageData():

- -
var myImageData = ctx.createImageData(width, height);
- -

Crea un nou objecte ImageData amb les dimensions especificades. Tots els píxels estan predefinits en negre transparent.

- -

També podem crear un nou objecte ImageData amb les mateixes dimensions que l'objecte especificat amb anotherImageData. Els píxels del nou objecte, estan tots predefinits en negre transparent. Això no copia les dades de la imatge!

- -
var myImageData = ctx.createImageData(anotherImageData);
- -

Obtenir les dades de píxels per a un context

- -

Per obtenir un objecte ImageData que contingui una còpia de les dades de píxel per a un context de llenç, podem utilitzar el mètodegetImageData():

- -
var myImageData = ctx.getImageData(left, top, width, height);
- -

Aquest mètode retorna un objecte ImageData que representa les dades de píxel per a l'àrea del llenç, les cantonades del qual estan representades pels punts (left,top), (left+width, top), (left, top+height) i (left+width, top+height). Les coordenades s'especifiquen en unitats d'espai en coordenades canvas.

- -
-

Nota: Qualsevol píxel fora del llenç es retorna com a negre transparent en l'objecte ImageData resultant.

-
- -

Aquest mètode també es demostra a l'article Manipulant vídeo usant canvas.

- -

Un selector de colors

- -

En aquest exemple estem usant el mètode getImageData() per mostrar el color sota el cursor del ratolí. Per a això, necessitem la posició actual del ratolí amb layerX i layerY, llavors busquem les dades de píxels en aquesta posició en la matriu de píxels que getImageData() ens proporciona. Finalment, utilitzem les dades de la matriu per establir un color de fons i un text en el <div> per mostrar el color.

- - - -
var img = new Image();
-img.crossOrigin = 'anonymous';
-img.src = 'https://mdn.mozillademos.org/files/5397/rhino.jpg';
-var canvas = document.getElementById('canvas');
-var ctx = canvas.getContext('2d');
-img.onload = function() {
-  ctx.drawImage(img, 0, 0);
-  img.style.display = 'none';
-};
-var color = document.getElementById('color');
-function pick(event) {
-  var x = event.layerX;
-  var y = event.layerY;
-  var pixel = ctx.getImageData(x, y, 1, 1);
-  var data = pixel.data;
-  var rgba = 'rgba(' + data[0] + ', ' + data[1] +
-             ', ' + data[2] + ', ' + (data[3] / 255) + ')';
-  color.style.background =  rgba;
-  color.textContent = rgba;
-}
-canvas.addEventListener('mousemove', pick);
-
- -

{{ EmbedLiveSample('A_color_picker', 610, 240) }}

- -

Pintar dades de píxels en un context

- -

Utilitzem el mètode putImageData() per pintar dades de píxels en un context:

- -
ctx.putImageData(myImageData, dx, dy);
-
- -

Els paràmetres dx i dy indiquen les coordenades del dispositiu, dins del context en el que es pinta la cantonada superior esquerra de les dades de píxels que es vol dibuixar.

- -

Per exemple, per pintar tota la imatge representada per myImageData en la cantonada superior esquerra del context, simplement fem el següent:

- -
ctx.putImageData(myImageData, 0, 0);
-
- -

Escalat de grisos i inversió de colors

- -

En aquest exemple, iterem sobre tots els píxels per canviar els seus valors, després posem la matriu de píxels modificada, de nou, al llenç, utilitzant putImageData(). La funció invert, simplement, resta cada color del valor màxim 255. La funció grayscale, simplement, utilitza la mitjana de vermell, verd i blau. També es pot utilitzar una mitjana ponderada, donada per la fórmula x = 0.299r + 0.587g + 0.114b, per exemple. Vegeu Escala de grisos (Grayscale) a Wikipedia per obtenir més informació.

- - - -
var img = new Image();
-img.crossOrigin = 'anonymous';
-img.src = 'https://mdn.mozillademos.org/files/5397/rhino.jpg';
-img.onload = function() {
-  draw(this);
-};
-
-function draw(img) {
-  var canvas = document.getElementById('canvas');
-  var ctx = canvas.getContext('2d');
-  ctx.drawImage(img, 0, 0);
-  img.style.display = 'none';
-  var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
-  var data = imageData.data;
-
-  var invert = function() {
-    for (var i = 0; i < data.length; i += 4) {
-      data[i]     = 255 - data[i];     // red
-      data[i + 1] = 255 - data[i + 1]; // green
-      data[i + 2] = 255 - data[i + 2]; // blue
-    }
-    ctx.putImageData(imageData, 0, 0);
-  };
-
-  var grayscale = function() {
-    for (var i = 0; i < data.length; i += 4) {
-      var avg = (data[i] + data[i + 1] + data[i + 2]) / 3;
-      data[i]     = avg; // red
-      data[i + 1] = avg; // green
-      data[i + 2] = avg; // blue
-    }
-    ctx.putImageData(imageData, 0, 0);
-  };
-
-  var invertbtn = document.getElementById('invertbtn');
-  invertbtn.addEventListener('click', invert);
-  var grayscalebtn = document.getElementById('grayscalebtn');
-  grayscalebtn.addEventListener('click', grayscale);
-}
-
- -

{{ EmbedLiveSample('Grayscaling_and_inverting_colors', 330, 270) }}

- -

Ampliació i suavitzat

- -

Amb l'ajuda del mètode {{domxref("CanvasRenderingContext2D.drawImage", "drawImage()")}} un segon llenç i la propietat {{domxref("CanvasRenderingContext2D.imageSmoothingEnabled", "imageSmoothingEnabled")}}, podem ampliar la nostra imatge i veure els detalls.

- -

Obtenim la posició del ratolí, retallem una imatge de 5 píxels a l'esquerra i a dalt a 5 píxels a la dreta i a baix. A continuació, la copiem a un altre llenç i canviem la grandària de la imatge a la grandària que volguem. En el llenç de zoom, canviem la grandària de un retall de 10×10 píxels del llenç original a 200×200.

- -
zoomctx.drawImage(canvas,
-                  Math.abs(x - 5), Math.abs(y - 5),
-                  10, 10, 0, 0, 200, 200);
- -

Atès que el suavitzat (anti-aliasing) està habilitat per defecte, és possible que vulguem deshabilitar el suavitzat per veure els píxels clars. Alternant la casella de verificació es pot veure l'efecte de la propietat imageSmoothingEnabled (necessita prefixos per a diferents navegadors).

- - - - - -
var img = new Image();
-img.crossOrigin = 'anonymous';
-img.src = 'https://mdn.mozillademos.org/files/5397/rhino.jpg';
-img.onload = function() {
-  draw(this);
-};
-
-function draw(img) {
-  var canvas = document.getElementById('canvas');
-  var ctx = canvas.getContext('2d');
-  ctx.drawImage(img, 0, 0);
-  img.style.display = 'none';
-  var zoomctx = document.getElementById('zoom').getContext('2d');
-
-  var smoothbtn = document.getElementById('smoothbtn');
-  var toggleSmoothing = function(event) {
-    zoomctx.imageSmoothingEnabled = this.checked;
-    zoomctx.mozImageSmoothingEnabled = this.checked;
-    zoomctx.webkitImageSmoothingEnabled = this.checked;
-    zoomctx.msImageSmoothingEnabled = this.checked;
-  };
-  smoothbtn.addEventListener('change', toggleSmoothing);
-
-  var zoom = function(event) {
-    var x = event.layerX;
-    var y = event.layerY;
-    zoomctx.drawImage(canvas,
-                      Math.abs(x - 5),
-                      Math.abs(y - 5),
-                      10, 10,
-                      0, 0,
-                      200, 200);
-  };
-
-  canvas.addEventListener('mousemove', zoom);
-}
- -

{{ EmbedLiveSample('Zoom_example', 620, 490) }}

- -

Guardar imatges

- -

El {{domxref("HTMLCanvasElement")}} proporciona un mètode toDataURL(), que és útil quan es guarden imatges. Retorna un URI de dades que conté una representació de la imatge en el format especificat pel paràmetre type (per defecte en PNG). La imatge retornada té una resolució de 96 dpi.

- -
-
{{domxref("HTMLCanvasElement.toDataURL", "canvas.toDataURL('image/png')")}}
-
Configuració per defecte. Crea una imatge PNG.
-
{{domxref("HTMLCanvasElement.toDataURL", "canvas.toDataURL('image/jpeg', quality)")}}
-
Crea una imatge JPG. Opcionalment, pot proporcionar una qualitat en el rang de 0 a 1, sent una d'elles la millor qualitat i amb 0 gairebé no recognoscible, però, petita en grandària d'arxiu.
-
- -

Una vegada que s'hagi generat un URI de dades des del llenç, es podrà utilitzar com a font de qualsevol {{HTMLElement("image")}} o posar-ho en un hipervíncle amb un atribut de descàrrega per guardar-ho en el disc, per exemple.

- -

També es pot crear un {{domxref("Blob")}} des del llenç.

- -
-
{{domxref("HTMLCanvasElement.toBlob", "canvas.toBlob(callback, type, encoderOptions)")}}
-
Crea un objecte Blob, representant la imatge continguda en el llenç.
-
- -

Vegeu també

- - - -

{{PreviousNext("Web/API/Canvas_API/Tutorial/Advanced_animations", "Web/API/Canvas_API/Tutorial/Hit_regions_and_accessibility")}}

diff --git a/files/ca/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html b/files/ca/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html new file mode 100644 index 0000000000..d792e62ef0 --- /dev/null +++ b/files/ca/web/api/canvas_api/tutorial/pixel_manipulation_with_canvas/index.html @@ -0,0 +1,307 @@ +--- +title: Manipular píxels amb canvas +slug: Web/API/Canvas_API/Tutorial/Manipular_píxels_amb_canvas +tags: + - Canvas + - Graphics + - Intermediate + - Tutorial +translation_of: Web/API/Canvas_API/Tutorial/Pixel_manipulation_with_canvas +--- +
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Advanced_animations", "Web/API/Canvas_API/Tutorial/Hit_regions_and_accessibility")}}
+ +
+

Fins ara no hem mirat els píxels reals del nostre llenç. Amb l'objecte ImageData podem llegir i escriure directament una matriu de dades per manipular dades de píxels. També veurem com es pot controlar el suavitzat de la imatge (anti-aliasing) i com guardar imatges del vostre llenç.

+
+ +

L'objecte ImageData

+ +

L'objecte {{domxref("ImageData")}} representa les dades de píxels subjacents d'un àrea d'un objecte canvas. Conté els següents atributs de només lectura:

+ +
+
width
+
L'amplada de la imatge en píxels.
+
height
+
L'alçada de la imatge en píxels.
+
data
+
Un {{jsxref("Uint8ClampedArray")}} representa una matriu unidimensional que conté les dades en l'ordre RGBA, amb valors enters entre 0 i 255 (inclosos).
+
+ +

La propietat data retorna un {{jsxref("Uint8ClampedArray")}} al que es pot accedir per veure les dades de píxel en brut; cada píxel està representat per quatre valors d'un byte (vermell, verd, blau i alfa, en aquest ordre; és a dir, format "RGBA"). Cada component de color està representat per un nombre enter entre 0 i 255. A cada component se li assigna un índex consecutiu dins de la matriu, el component vermell del píxel esquerre superior és l'índex 0 dins de la matriu. Els píxels es segueixen d'esquerra a dreta, a després cap avall, a través de la matriu.

+ +

El {{jsxref("Uint8ClampedArray")}} conté height × width × 4 bytes de dades, amb valors d'índex que van des de 0 fins a (height×width×4)-1.

+ +

Per exemple, per llegir el valor del component blau del píxel a la columna 200, fila 50 de la imatge, fariem el següent:

+ +
blueComponent = imageData.data[((50 * (imageData.width * 4)) + (200 * 4)) + 2];
+ +

Si se li dóna un conjunt de coordenades (X i Y), es pot acabar fent alguna cosa com això:

+ +
var xCoord = 50;
+var yCoord = 100;
+var canvasWidth = 1024;
+
+function getColorIndicesForCoord(x, y, width) {
+  var red = y * (width * 4) + x * 4;
+  return [red, red + 1, red + 2, red + 3];
+}
+
+var colorIndices = getColorIndicesForCoord(xCoord, yCoord, canvasWidth);
+
+var redIndex = colorIndices[0];
+var greenIndex = colorIndices[1];
+var blueIndex = colorIndices[2];
+var alphaIndex = colorIndices[3];
+
+var redForCoord = imageData.data[redIndex];
+var greenForCoord = imageData.data[greenIndex];
+var blueForCoord = imageData.data[blueIndex];
+var alphaForCoord = imageData.data[alphaIndex];
+
+ +

O, si ES6 is apropiat:

+ +
const xCoord = 50;
+const yCoord = 100;
+const canvasWidth = 1024;
+
+const getColorIndicesForCoord = (x, y, width) => {
+  const red = y * (width * 4) + x * 4;
+  return [red, red + 1, red + 2, red + 3];
+};
+
+const colorIndices = getColorIndicesForCoord(xCoord, yCoord, canvasWidth);
+
+const [redIndex, greenIndex, blueIndex, alphaIndex] = colorIndices;
+
+ +

També es pot accedir a la mida de la matriu de píxels en bytes llegint l'atribut Uint8ClampedArray.length:

+ +
var numBytes = imageData.data.length;
+
+ +

Crear un objecte ImageData

+ +

Per crear un nou objecte ImageData en blanc, hem d'utilitzar el mètode {{domxref("CanvasRenderingContext2D.createImageData", "createImageData()")}}. Hi ha dues versions del mètode createImageData():

+ +
var myImageData = ctx.createImageData(width, height);
+ +

Crea un nou objecte ImageData amb les dimensions especificades. Tots els píxels estan predefinits en negre transparent.

+ +

També podem crear un nou objecte ImageData amb les mateixes dimensions que l'objecte especificat amb anotherImageData. Els píxels del nou objecte, estan tots predefinits en negre transparent. Això no copia les dades de la imatge!

+ +
var myImageData = ctx.createImageData(anotherImageData);
+ +

Obtenir les dades de píxels per a un context

+ +

Per obtenir un objecte ImageData que contingui una còpia de les dades de píxel per a un context de llenç, podem utilitzar el mètodegetImageData():

+ +
var myImageData = ctx.getImageData(left, top, width, height);
+ +

Aquest mètode retorna un objecte ImageData que representa les dades de píxel per a l'àrea del llenç, les cantonades del qual estan representades pels punts (left,top), (left+width, top), (left, top+height) i (left+width, top+height). Les coordenades s'especifiquen en unitats d'espai en coordenades canvas.

+ +
+

Nota: Qualsevol píxel fora del llenç es retorna com a negre transparent en l'objecte ImageData resultant.

+
+ +

Aquest mètode també es demostra a l'article Manipulant vídeo usant canvas.

+ +

Un selector de colors

+ +

En aquest exemple estem usant el mètode getImageData() per mostrar el color sota el cursor del ratolí. Per a això, necessitem la posició actual del ratolí amb layerX i layerY, llavors busquem les dades de píxels en aquesta posició en la matriu de píxels que getImageData() ens proporciona. Finalment, utilitzem les dades de la matriu per establir un color de fons i un text en el <div> per mostrar el color.

+ + + +
var img = new Image();
+img.crossOrigin = 'anonymous';
+img.src = 'https://mdn.mozillademos.org/files/5397/rhino.jpg';
+var canvas = document.getElementById('canvas');
+var ctx = canvas.getContext('2d');
+img.onload = function() {
+  ctx.drawImage(img, 0, 0);
+  img.style.display = 'none';
+};
+var color = document.getElementById('color');
+function pick(event) {
+  var x = event.layerX;
+  var y = event.layerY;
+  var pixel = ctx.getImageData(x, y, 1, 1);
+  var data = pixel.data;
+  var rgba = 'rgba(' + data[0] + ', ' + data[1] +
+             ', ' + data[2] + ', ' + (data[3] / 255) + ')';
+  color.style.background =  rgba;
+  color.textContent = rgba;
+}
+canvas.addEventListener('mousemove', pick);
+
+ +

{{ EmbedLiveSample('A_color_picker', 610, 240) }}

+ +

Pintar dades de píxels en un context

+ +

Utilitzem el mètode putImageData() per pintar dades de píxels en un context:

+ +
ctx.putImageData(myImageData, dx, dy);
+
+ +

Els paràmetres dx i dy indiquen les coordenades del dispositiu, dins del context en el que es pinta la cantonada superior esquerra de les dades de píxels que es vol dibuixar.

+ +

Per exemple, per pintar tota la imatge representada per myImageData en la cantonada superior esquerra del context, simplement fem el següent:

+ +
ctx.putImageData(myImageData, 0, 0);
+
+ +

Escalat de grisos i inversió de colors

+ +

En aquest exemple, iterem sobre tots els píxels per canviar els seus valors, després posem la matriu de píxels modificada, de nou, al llenç, utilitzant putImageData(). La funció invert, simplement, resta cada color del valor màxim 255. La funció grayscale, simplement, utilitza la mitjana de vermell, verd i blau. També es pot utilitzar una mitjana ponderada, donada per la fórmula x = 0.299r + 0.587g + 0.114b, per exemple. Vegeu Escala de grisos (Grayscale) a Wikipedia per obtenir més informació.

+ + + +
var img = new Image();
+img.crossOrigin = 'anonymous';
+img.src = 'https://mdn.mozillademos.org/files/5397/rhino.jpg';
+img.onload = function() {
+  draw(this);
+};
+
+function draw(img) {
+  var canvas = document.getElementById('canvas');
+  var ctx = canvas.getContext('2d');
+  ctx.drawImage(img, 0, 0);
+  img.style.display = 'none';
+  var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
+  var data = imageData.data;
+
+  var invert = function() {
+    for (var i = 0; i < data.length; i += 4) {
+      data[i]     = 255 - data[i];     // red
+      data[i + 1] = 255 - data[i + 1]; // green
+      data[i + 2] = 255 - data[i + 2]; // blue
+    }
+    ctx.putImageData(imageData, 0, 0);
+  };
+
+  var grayscale = function() {
+    for (var i = 0; i < data.length; i += 4) {
+      var avg = (data[i] + data[i + 1] + data[i + 2]) / 3;
+      data[i]     = avg; // red
+      data[i + 1] = avg; // green
+      data[i + 2] = avg; // blue
+    }
+    ctx.putImageData(imageData, 0, 0);
+  };
+
+  var invertbtn = document.getElementById('invertbtn');
+  invertbtn.addEventListener('click', invert);
+  var grayscalebtn = document.getElementById('grayscalebtn');
+  grayscalebtn.addEventListener('click', grayscale);
+}
+
+ +

{{ EmbedLiveSample('Grayscaling_and_inverting_colors', 330, 270) }}

+ +

Ampliació i suavitzat

+ +

Amb l'ajuda del mètode {{domxref("CanvasRenderingContext2D.drawImage", "drawImage()")}} un segon llenç i la propietat {{domxref("CanvasRenderingContext2D.imageSmoothingEnabled", "imageSmoothingEnabled")}}, podem ampliar la nostra imatge i veure els detalls.

+ +

Obtenim la posició del ratolí, retallem una imatge de 5 píxels a l'esquerra i a dalt a 5 píxels a la dreta i a baix. A continuació, la copiem a un altre llenç i canviem la grandària de la imatge a la grandària que volguem. En el llenç de zoom, canviem la grandària de un retall de 10×10 píxels del llenç original a 200×200.

+ +
zoomctx.drawImage(canvas,
+                  Math.abs(x - 5), Math.abs(y - 5),
+                  10, 10, 0, 0, 200, 200);
+ +

Atès que el suavitzat (anti-aliasing) està habilitat per defecte, és possible que vulguem deshabilitar el suavitzat per veure els píxels clars. Alternant la casella de verificació es pot veure l'efecte de la propietat imageSmoothingEnabled (necessita prefixos per a diferents navegadors).

+ + + + + +
var img = new Image();
+img.crossOrigin = 'anonymous';
+img.src = 'https://mdn.mozillademos.org/files/5397/rhino.jpg';
+img.onload = function() {
+  draw(this);
+};
+
+function draw(img) {
+  var canvas = document.getElementById('canvas');
+  var ctx = canvas.getContext('2d');
+  ctx.drawImage(img, 0, 0);
+  img.style.display = 'none';
+  var zoomctx = document.getElementById('zoom').getContext('2d');
+
+  var smoothbtn = document.getElementById('smoothbtn');
+  var toggleSmoothing = function(event) {
+    zoomctx.imageSmoothingEnabled = this.checked;
+    zoomctx.mozImageSmoothingEnabled = this.checked;
+    zoomctx.webkitImageSmoothingEnabled = this.checked;
+    zoomctx.msImageSmoothingEnabled = this.checked;
+  };
+  smoothbtn.addEventListener('change', toggleSmoothing);
+
+  var zoom = function(event) {
+    var x = event.layerX;
+    var y = event.layerY;
+    zoomctx.drawImage(canvas,
+                      Math.abs(x - 5),
+                      Math.abs(y - 5),
+                      10, 10,
+                      0, 0,
+                      200, 200);
+  };
+
+  canvas.addEventListener('mousemove', zoom);
+}
+ +

{{ EmbedLiveSample('Zoom_example', 620, 490) }}

+ +

Guardar imatges

+ +

El {{domxref("HTMLCanvasElement")}} proporciona un mètode toDataURL(), que és útil quan es guarden imatges. Retorna un URI de dades que conté una representació de la imatge en el format especificat pel paràmetre type (per defecte en PNG). La imatge retornada té una resolució de 96 dpi.

+ +
+
{{domxref("HTMLCanvasElement.toDataURL", "canvas.toDataURL('image/png')")}}
+
Configuració per defecte. Crea una imatge PNG.
+
{{domxref("HTMLCanvasElement.toDataURL", "canvas.toDataURL('image/jpeg', quality)")}}
+
Crea una imatge JPG. Opcionalment, pot proporcionar una qualitat en el rang de 0 a 1, sent una d'elles la millor qualitat i amb 0 gairebé no recognoscible, però, petita en grandària d'arxiu.
+
+ +

Una vegada que s'hagi generat un URI de dades des del llenç, es podrà utilitzar com a font de qualsevol {{HTMLElement("image")}} o posar-ho en un hipervíncle amb un atribut de descàrrega per guardar-ho en el disc, per exemple.

+ +

També es pot crear un {{domxref("Blob")}} des del llenç.

+ +
+
{{domxref("HTMLCanvasElement.toBlob", "canvas.toBlob(callback, type, encoderOptions)")}}
+
Crea un objecte Blob, representant la imatge continguda en el llenç.
+
+ +

Vegeu també

+ + + +

{{PreviousNext("Web/API/Canvas_API/Tutorial/Advanced_animations", "Web/API/Canvas_API/Tutorial/Hit_regions_and_accessibility")}}

diff --git a/files/ca/web/api/canvas_api/tutorial/transformacions/index.html b/files/ca/web/api/canvas_api/tutorial/transformacions/index.html deleted file mode 100644 index 2958d40498..0000000000 --- a/files/ca/web/api/canvas_api/tutorial/transformacions/index.html +++ /dev/null @@ -1,290 +0,0 @@ ---- -title: Transformacions -slug: Web/API/Canvas_API/Tutorial/Transformacions -tags: - - Canvas - - Graphics - - Guide - - HTML - - HTML5 - - Intermediate - - Web -translation_of: Web/API/Canvas_API/Tutorial/Transformations ---- -
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Using_images", "Web/API/Canvas_API/Tutorial/Compositing")}}
- -
Anteriorment en aquest tutorial hem après sobre la graella de canvas i l'espai de coordenades. Fins ara, només usàvem la graella per defecte i canviàvem la grandària del llenç per a les nostres necessitats. Amb les transformacions, hi ha formes més poderoses de traslladar l'origen a una posició diferent, girar la graella i fins i tot escalar-la.
- -

Guardar i restaurar l'estat

- -

Abans de veure els mètodes de transformació, vegem altres dos mètodes que són indispensables una vegada que comencem a generar dibuixos cada vegada més complexos.

- -
-
{{domxref("CanvasRenderingContext2D.save", "save()")}}
-
Guarda tot l'estat del llenç.
-
{{domxref("CanvasRenderingContext2D.restore", "restore()")}}
-
Restaura l'estat del llenç guardat més recent.
-
- -

Els estats del llenç s'emmagatzemen en una pila. Cada vegada que es crida al mètode save() l'estat del dibuix actual es mou a la pila. L'estat d'un dibuix consisteix de

- - - -

Es pot cridar al mètode save() tantes vegades com es vulgui. Cada vegada que es crida al mètode restore() l'últim estat desat s'elimina de la pila i es restauren tots les configuracions guardades.

- -

Un exemple de save i restore de l'estat del llenç

- -

Aquest exemple intenta il·lustrar com funciona la pila d'estats del dibuix en dibuixar un conjunt de rectangles consecutius.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  ctx.fillRect(0, 0, 150, 150);   // Dibuixa un rectangle amb la configuració per defecte
-  ctx.save();                  // Guarda el estat predeterminat
-
-  ctx.fillStyle = '#09F';      // Es fan canvis a la configuració
-  ctx.fillRect(15, 15, 120, 120); // Es dibuixa un rectangle amb la nova configuració
-
-  ctx.save();                  // Es guarda el estat actual
-  ctx.fillStyle = '#FFF';      // Es fan canvis a la configuració
-  ctx.globalAlpha = 0.5;
-  ctx.fillRect(30, 30, 90, 90);   // Es dibuixa un rectangle amb la nova configuració
-
-  ctx.restore();               // Es restaura el estat anterior
-  ctx.fillRect(45, 45, 60, 60);   // Es dibuixa un rectangle amb la configuració restaurada
-
-  ctx.restore();               // Es restaura el estat original
-  ctx.fillRect(60, 60, 30, 30);   // Es dibuixa un rectangle amb la configuració restaurada
- - - -

El primer pas és dibuixar un gran rectangle amb la configuració predeterminada.  A continuació guardem aquest estat i fem canvis en el color de farcit. Després dibuixem el segon rectangle blau i més petit i guardem l'estat. De nou canviem algunes configuracions de dibuix i dibuixem el tercer rectangle blanc semitransparent.

- -

Fins ara, això és bastant similar al que hem fet en les seccions anteriors. No obstant això, una vegada que cridem a la primera instrucció restore() l'estat del dibuix superior s'elimina de la pila i es restaura la configuració. Si no haguéssim guardat l'estat usant save(), hauríem de canviar el color de farcit i la transparència manualment, per tornar a l'estat anterior. Això seria fàcil per a dues propietats, però si tenim més que això, el nostre codi es faria molt llarg, molt ràpid.

- -

Quan es crida a la segona instrucció restore(), es restaura l'estat original (el que hem configurat abans de la primera crida save) i l'últim rectangle es dibuixa de nou en negre.

- -

{{EmbedLiveSample("A_save_and_restore_canvas_state_example", "180", "180", "https://mdn.mozillademos.org/files/249/Canvas_savestate.png")}}

- -

Traslladar

- -

El primer dels mètodes de transformació que veurem és translate(). Aquest mètode s'utilitza per moure el llenç i el seu origen a un punt diferent de la graella.

- -
-
{{domxref("CanvasRenderingContext2D.translate", "translate(x, y)")}}
-
Mou el llenç i el seu origen en la graella. x indica la distància horitzontal a moure, i y indica quanta distància s'ha de moure la graella verticalment.
-
- -

És una bona idea guardar l'estat del llenç abans de fer qualsevol transformació. En la majoria dels casos, és més fàcil cridar al mètode restore, que haver de fer una traslació inversa per tornar a l'estat original. També, si estem trasladant dins d'un bucle i no guardem i restaurem l'estat del llenç, pot ser que acabem perdent part del dibuix, ja que es va dibuixar fora de la vora del llenç.

- -

Un exemple de translate

- -

Aquest exemple demostra alguns dels beneficis de traslladar l'origen del llenç. Sense el mètode translate(), tots els rectangles es dibuixarien en la mateixa posició (0,0). El mètode translate(), també ens dóna la llibertat de col·locar el rectangle en qualsevol lloc del llenç, sense haver d'ajustar manualment les coordenades en la funció fillRect(). Això fa que sigui una mica més fàcil d'entendre i usar.

- -

En la funció draw(), cridem a la funció fillRect() nou vegades, usant dos  bucles for. En cada bucle, el llenç es trasllada, es dibuixa el rectangle i el llenç torna al seu estat original. Observem com la crida a fillRect() usa les mateixes coordenades cada vegada, confiant en translate() per ajustar la posició del dibuix.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-  for (var i = 0; i < 3; i++) {
-    for (var j = 0; j < 3; j++) {
-      ctx.save();
-      ctx.fillStyle = 'rgb(' + (51 * i) + ', ' + (255 - 51 * i) + ', 255)';
-      ctx.translate(10 + j * 50, 10 + i * 50);
-      ctx.fillRect(0, 0, 25, 25);
-      ctx.restore();
-    }
-  }
-}
-
- - - -

{{EmbedLiveSample("A_translate_example", "160", "160", "https://mdn.mozillademos.org/files/9857/translate.png")}}

- -

Girar

- -

El segon mètode de transformació és rotate(). Se usa per girar el llenç al voltant de l'origen actual.

- -
-
{{domxref("CanvasRenderingContext2D.rotate", "rotate(angle)")}}
-
Gira el llenç en sentit horari, al voltant de l'origen actual pel nombre d'angle de radiants.
-
- -

El punt central de gir és sempre l'origen del llenç. Per canviar el punt central, necessitarem moure el llenç usant el mètode translate().

- -

Un exemple de rotate

- -

En aquest exemple, usarem el mètode rotate() para girar primer un rectangle des de l'origen del llenç, i després des del centre del rectangle mateix amb l'ajuda de translate().

- -
-

Recordatori: Els angles estan en radiants, no en graus. Per fer la conversació, estem usant: radians = (Math.PI/180)*degrees.

-
- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  // rectangles esquerra, giren a partir d'origen del llenç
-  ctx.save();
-  // rect blau
-  ctx.fillStyle = '#0095DD';
-  ctx.fillRect(30, 30, 100, 100);
-  ctx.rotate((Math.PI / 180) * 25);
-  // grey rect
-  ctx.fillStyle = '#4D4E53';
-  ctx.fillRect(30, 30, 100, 100);
-  ctx.restore();
-
-  // rectangles drets, giren des del centre del rectangle
-  // dibuixa rect blau
-  ctx.fillStyle = '#0095DD';
-  ctx.fillRect(150, 30, 100, 100);
-
-  ctx.translate(200, 80); // trasllada al rectangle central
-                          // x = x + 0.5 * width
-                          // y = y + 0.5 * height
-  ctx.rotate((Math.PI / 180) * 25); // gira
-  ctx.translate(-200, -80); // traslladar de nou
-
-  // dibuixa rect gris
-  ctx.fillStyle = '#4D4E53';
-  ctx.fillRect(150, 30, 100, 100);
-}
-
- -

Per girar el rectangle al voltant del seu propi centre, traslladem el llenç al centre del rectangle, després girem el llenç i tornem a traslladar el llenç a 0,0, i a continuació dibuixem el rectangle.

- - - -

{{EmbedLiveSample("A_rotate_example", "310", "210", "https://mdn.mozillademos.org/files/9859/rotate.png")}}

- -

Escalar

- -

El següent mètode de transformació és l'escalat. Ho usem per augmentar o disminuir les unitats en la graella del llenç. Això es pot utilitzar per dibuixar formes i mapes de bits reduïts o ampliats.

- -
-
{{domxref("CanvasRenderingContext2D.scale", "scale(x, y)")}}
-
Escala les unitats del llenç, per x horitzontalment i per y verticalment. Tots dos paràmetres són nombres reals. Els valors inferiors a 1.0 redueixen la grandària de la unitat i els valors superiors a 1.0 augmenten la grandària de la unitat. Els valors a 1.0 deixen les unitats de la mateixa grandària.
-
- -

Usant nombres negatius es pot fer la replica d'eixos (per exemple, usant translate(0,canvas.height); scale(1,-1); tindrem el conegut sistema de coordenades cartesianes, amb l'origen en la cantonada inferior esquerra).

- -

Per defecte, una unitat en el llenç és exactament un píxel. Si apliquem, per exemple, un factor d'escala de 0.5, la unitat resultant es convertirà en 0.5 píxels i per tant les formes es dibuixaran a meitat de la seva grandària. De manera similar, si s'ajusta el factor d'escala a 2.0, la grandària de la unitat augmentarà i una unitat ara es converteix en dos píxels. Això dona com a resultat que les formes es dibuixin dues vegades més grans.

- -

Un exemple de scale

- -

En aquest últim exemple, dibuixarem formes amb diferents factors d'escala.

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  // dibuixar un rectangle senzill, però escalar-lo.
-  ctx.save();
-  ctx.scale(10, 3);
-  ctx.fillRect(1, 10, 10, 10);
-  ctx.restore();
-
-  // mirror horizontally
-  ctx.scale(-1, 1);
-  ctx.font = '48px serif';
-  ctx.fillText('MDN', -135, 120);
-}
-
-
- - - -

{{EmbedLiveSample("A_scale_example", "160", "160", "https://mdn.mozillademos.org/files/9861/scale.png")}}

- -

Transformar

- -

Finalment, els següents mètodes de transformació permeten modificar directament la matriu de transformació.

- -
-
{{domxref("CanvasRenderingContext2D.transform", "transform(a, b, c, d, e, f)")}}
-
Multiplica la matriu de transformació actual amb la matriu descrita pels seus arguments. La matriu de transformació és descrita per: [acebdf001]\left[ \begin{array}{ccc} a & c & e \\ b & d & f \\ 0 & 0 & 1 \end{array} \right]
-
- -
-
Si qualsevol dels arguments és Infinity, la matriu de transformació ha de ser marcada com a infinita en lloc que el mètode llanci una excepció.
-
- -

Els paràmetres d'aquesta funció són:

- -
-
a (m11)
-
Escalat horitzontal.
-
b (m12)
-
Desviació Horizontal.
-
c (m21)
-
Desviació Vertical.
-
d (m22)
-
Escalat Vertical.
-
e (dx)
-
Moviment Horizontal.
-
f (dy)
-
Moviment Vertical.
-
{{domxref("CanvasRenderingContext2D.setTransform", "setTransform(a, b, c, d, e, f)")}}
-
Reinicia la transformació actual a la matriu d'identitat i, a continuació, invoca el mètode transform() amb els mateixos arguments. Això, bàsicament, desfà la transformació actual, i després estableix la transformació especificada, tot en un sol pas.
-
{{domxref("CanvasRenderingContext2D.resetTransform", "resetTransform()")}}
-
Reinicia la transformació actual a la matriu d'identitat. Això és el mateix que cridar: ctx.setTransform(1, 0, 0, 1, 0, 0);
-
- -

Exemple de transform i setTransform

- -
function draw() {
-  var ctx = document.getElementById('canvas').getContext('2d');
-
-  var sin = Math.sin(Math.PI / 6);
-  var cos = Math.cos(Math.PI / 6);
-  ctx.translate(100, 100);
-  var c = 0;
-  for (var i = 0; i <= 12; i++) {
-    c = Math.floor(255 / 12 * i);
-    ctx.fillStyle = 'rgb(' + c + ', ' + c + ', ' + c + ')';
-    ctx.fillRect(0, 0, 100, 10);
-    ctx.transform(cos, sin, -sin, cos, 0, 0);
-  }
-
-  ctx.setTransform(-1, 0, 0, 1, 100, 100);
-  ctx.fillStyle = 'rgba(255, 128, 255, 0.5)';
-  ctx.fillRect(0, 50, 100, 100);
-}
-
- - - -

{{EmbedLiveSample("Example_for_transform_and_setTransform", "230", "280", "https://mdn.mozillademos.org/files/255/Canvas_transform.png")}}

- -

{{PreviousNext("Web/API/Canvas_API/Tutorial/Using_images", "Web/API/Canvas_API/Tutorial/Compositing")}}

- -
- - -
 
- -
 
-
diff --git a/files/ca/web/api/canvas_api/tutorial/transformations/index.html b/files/ca/web/api/canvas_api/tutorial/transformations/index.html new file mode 100644 index 0000000000..2958d40498 --- /dev/null +++ b/files/ca/web/api/canvas_api/tutorial/transformations/index.html @@ -0,0 +1,290 @@ +--- +title: Transformacions +slug: Web/API/Canvas_API/Tutorial/Transformacions +tags: + - Canvas + - Graphics + - Guide + - HTML + - HTML5 + - Intermediate + - Web +translation_of: Web/API/Canvas_API/Tutorial/Transformations +--- +
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial/Using_images", "Web/API/Canvas_API/Tutorial/Compositing")}}
+ +
Anteriorment en aquest tutorial hem après sobre la graella de canvas i l'espai de coordenades. Fins ara, només usàvem la graella per defecte i canviàvem la grandària del llenç per a les nostres necessitats. Amb les transformacions, hi ha formes més poderoses de traslladar l'origen a una posició diferent, girar la graella i fins i tot escalar-la.
+ +

Guardar i restaurar l'estat

+ +

Abans de veure els mètodes de transformació, vegem altres dos mètodes que són indispensables una vegada que comencem a generar dibuixos cada vegada més complexos.

+ +
+
{{domxref("CanvasRenderingContext2D.save", "save()")}}
+
Guarda tot l'estat del llenç.
+
{{domxref("CanvasRenderingContext2D.restore", "restore()")}}
+
Restaura l'estat del llenç guardat més recent.
+
+ +

Els estats del llenç s'emmagatzemen en una pila. Cada vegada que es crida al mètode save() l'estat del dibuix actual es mou a la pila. L'estat d'un dibuix consisteix de

+ + + +

Es pot cridar al mètode save() tantes vegades com es vulgui. Cada vegada que es crida al mètode restore() l'últim estat desat s'elimina de la pila i es restauren tots les configuracions guardades.

+ +

Un exemple de save i restore de l'estat del llenç

+ +

Aquest exemple intenta il·lustrar com funciona la pila d'estats del dibuix en dibuixar un conjunt de rectangles consecutius.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  ctx.fillRect(0, 0, 150, 150);   // Dibuixa un rectangle amb la configuració per defecte
+  ctx.save();                  // Guarda el estat predeterminat
+
+  ctx.fillStyle = '#09F';      // Es fan canvis a la configuració
+  ctx.fillRect(15, 15, 120, 120); // Es dibuixa un rectangle amb la nova configuració
+
+  ctx.save();                  // Es guarda el estat actual
+  ctx.fillStyle = '#FFF';      // Es fan canvis a la configuració
+  ctx.globalAlpha = 0.5;
+  ctx.fillRect(30, 30, 90, 90);   // Es dibuixa un rectangle amb la nova configuració
+
+  ctx.restore();               // Es restaura el estat anterior
+  ctx.fillRect(45, 45, 60, 60);   // Es dibuixa un rectangle amb la configuració restaurada
+
+  ctx.restore();               // Es restaura el estat original
+  ctx.fillRect(60, 60, 30, 30);   // Es dibuixa un rectangle amb la configuració restaurada
+ + + +

El primer pas és dibuixar un gran rectangle amb la configuració predeterminada.  A continuació guardem aquest estat i fem canvis en el color de farcit. Després dibuixem el segon rectangle blau i més petit i guardem l'estat. De nou canviem algunes configuracions de dibuix i dibuixem el tercer rectangle blanc semitransparent.

+ +

Fins ara, això és bastant similar al que hem fet en les seccions anteriors. No obstant això, una vegada que cridem a la primera instrucció restore() l'estat del dibuix superior s'elimina de la pila i es restaura la configuració. Si no haguéssim guardat l'estat usant save(), hauríem de canviar el color de farcit i la transparència manualment, per tornar a l'estat anterior. Això seria fàcil per a dues propietats, però si tenim més que això, el nostre codi es faria molt llarg, molt ràpid.

+ +

Quan es crida a la segona instrucció restore(), es restaura l'estat original (el que hem configurat abans de la primera crida save) i l'últim rectangle es dibuixa de nou en negre.

+ +

{{EmbedLiveSample("A_save_and_restore_canvas_state_example", "180", "180", "https://mdn.mozillademos.org/files/249/Canvas_savestate.png")}}

+ +

Traslladar

+ +

El primer dels mètodes de transformació que veurem és translate(). Aquest mètode s'utilitza per moure el llenç i el seu origen a un punt diferent de la graella.

+ +
+
{{domxref("CanvasRenderingContext2D.translate", "translate(x, y)")}}
+
Mou el llenç i el seu origen en la graella. x indica la distància horitzontal a moure, i y indica quanta distància s'ha de moure la graella verticalment.
+
+ +

És una bona idea guardar l'estat del llenç abans de fer qualsevol transformació. En la majoria dels casos, és més fàcil cridar al mètode restore, que haver de fer una traslació inversa per tornar a l'estat original. També, si estem trasladant dins d'un bucle i no guardem i restaurem l'estat del llenç, pot ser que acabem perdent part del dibuix, ja que es va dibuixar fora de la vora del llenç.

+ +

Un exemple de translate

+ +

Aquest exemple demostra alguns dels beneficis de traslladar l'origen del llenç. Sense el mètode translate(), tots els rectangles es dibuixarien en la mateixa posició (0,0). El mètode translate(), també ens dóna la llibertat de col·locar el rectangle en qualsevol lloc del llenç, sense haver d'ajustar manualment les coordenades en la funció fillRect(). Això fa que sigui una mica més fàcil d'entendre i usar.

+ +

En la funció draw(), cridem a la funció fillRect() nou vegades, usant dos  bucles for. En cada bucle, el llenç es trasllada, es dibuixa el rectangle i el llenç torna al seu estat original. Observem com la crida a fillRect() usa les mateixes coordenades cada vegada, confiant en translate() per ajustar la posició del dibuix.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+  for (var i = 0; i < 3; i++) {
+    for (var j = 0; j < 3; j++) {
+      ctx.save();
+      ctx.fillStyle = 'rgb(' + (51 * i) + ', ' + (255 - 51 * i) + ', 255)';
+      ctx.translate(10 + j * 50, 10 + i * 50);
+      ctx.fillRect(0, 0, 25, 25);
+      ctx.restore();
+    }
+  }
+}
+
+ + + +

{{EmbedLiveSample("A_translate_example", "160", "160", "https://mdn.mozillademos.org/files/9857/translate.png")}}

+ +

Girar

+ +

El segon mètode de transformació és rotate(). Se usa per girar el llenç al voltant de l'origen actual.

+ +
+
{{domxref("CanvasRenderingContext2D.rotate", "rotate(angle)")}}
+
Gira el llenç en sentit horari, al voltant de l'origen actual pel nombre d'angle de radiants.
+
+ +

El punt central de gir és sempre l'origen del llenç. Per canviar el punt central, necessitarem moure el llenç usant el mètode translate().

+ +

Un exemple de rotate

+ +

En aquest exemple, usarem el mètode rotate() para girar primer un rectangle des de l'origen del llenç, i després des del centre del rectangle mateix amb l'ajuda de translate().

+ +
+

Recordatori: Els angles estan en radiants, no en graus. Per fer la conversació, estem usant: radians = (Math.PI/180)*degrees.

+
+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  // rectangles esquerra, giren a partir d'origen del llenç
+  ctx.save();
+  // rect blau
+  ctx.fillStyle = '#0095DD';
+  ctx.fillRect(30, 30, 100, 100);
+  ctx.rotate((Math.PI / 180) * 25);
+  // grey rect
+  ctx.fillStyle = '#4D4E53';
+  ctx.fillRect(30, 30, 100, 100);
+  ctx.restore();
+
+  // rectangles drets, giren des del centre del rectangle
+  // dibuixa rect blau
+  ctx.fillStyle = '#0095DD';
+  ctx.fillRect(150, 30, 100, 100);
+
+  ctx.translate(200, 80); // trasllada al rectangle central
+                          // x = x + 0.5 * width
+                          // y = y + 0.5 * height
+  ctx.rotate((Math.PI / 180) * 25); // gira
+  ctx.translate(-200, -80); // traslladar de nou
+
+  // dibuixa rect gris
+  ctx.fillStyle = '#4D4E53';
+  ctx.fillRect(150, 30, 100, 100);
+}
+
+ +

Per girar el rectangle al voltant del seu propi centre, traslladem el llenç al centre del rectangle, després girem el llenç i tornem a traslladar el llenç a 0,0, i a continuació dibuixem el rectangle.

+ + + +

{{EmbedLiveSample("A_rotate_example", "310", "210", "https://mdn.mozillademos.org/files/9859/rotate.png")}}

+ +

Escalar

+ +

El següent mètode de transformació és l'escalat. Ho usem per augmentar o disminuir les unitats en la graella del llenç. Això es pot utilitzar per dibuixar formes i mapes de bits reduïts o ampliats.

+ +
+
{{domxref("CanvasRenderingContext2D.scale", "scale(x, y)")}}
+
Escala les unitats del llenç, per x horitzontalment i per y verticalment. Tots dos paràmetres són nombres reals. Els valors inferiors a 1.0 redueixen la grandària de la unitat i els valors superiors a 1.0 augmenten la grandària de la unitat. Els valors a 1.0 deixen les unitats de la mateixa grandària.
+
+ +

Usant nombres negatius es pot fer la replica d'eixos (per exemple, usant translate(0,canvas.height); scale(1,-1); tindrem el conegut sistema de coordenades cartesianes, amb l'origen en la cantonada inferior esquerra).

+ +

Per defecte, una unitat en el llenç és exactament un píxel. Si apliquem, per exemple, un factor d'escala de 0.5, la unitat resultant es convertirà en 0.5 píxels i per tant les formes es dibuixaran a meitat de la seva grandària. De manera similar, si s'ajusta el factor d'escala a 2.0, la grandària de la unitat augmentarà i una unitat ara es converteix en dos píxels. Això dona com a resultat que les formes es dibuixin dues vegades més grans.

+ +

Un exemple de scale

+ +

En aquest últim exemple, dibuixarem formes amb diferents factors d'escala.

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  // dibuixar un rectangle senzill, però escalar-lo.
+  ctx.save();
+  ctx.scale(10, 3);
+  ctx.fillRect(1, 10, 10, 10);
+  ctx.restore();
+
+  // mirror horizontally
+  ctx.scale(-1, 1);
+  ctx.font = '48px serif';
+  ctx.fillText('MDN', -135, 120);
+}
+
+
+ + + +

{{EmbedLiveSample("A_scale_example", "160", "160", "https://mdn.mozillademos.org/files/9861/scale.png")}}

+ +

Transformar

+ +

Finalment, els següents mètodes de transformació permeten modificar directament la matriu de transformació.

+ +
+
{{domxref("CanvasRenderingContext2D.transform", "transform(a, b, c, d, e, f)")}}
+
Multiplica la matriu de transformació actual amb la matriu descrita pels seus arguments. La matriu de transformació és descrita per: [acebdf001]\left[ \begin{array}{ccc} a & c & e \\ b & d & f \\ 0 & 0 & 1 \end{array} \right]
+
+ +
+
Si qualsevol dels arguments és Infinity, la matriu de transformació ha de ser marcada com a infinita en lloc que el mètode llanci una excepció.
+
+ +

Els paràmetres d'aquesta funció són:

+ +
+
a (m11)
+
Escalat horitzontal.
+
b (m12)
+
Desviació Horizontal.
+
c (m21)
+
Desviació Vertical.
+
d (m22)
+
Escalat Vertical.
+
e (dx)
+
Moviment Horizontal.
+
f (dy)
+
Moviment Vertical.
+
{{domxref("CanvasRenderingContext2D.setTransform", "setTransform(a, b, c, d, e, f)")}}
+
Reinicia la transformació actual a la matriu d'identitat i, a continuació, invoca el mètode transform() amb els mateixos arguments. Això, bàsicament, desfà la transformació actual, i després estableix la transformació especificada, tot en un sol pas.
+
{{domxref("CanvasRenderingContext2D.resetTransform", "resetTransform()")}}
+
Reinicia la transformació actual a la matriu d'identitat. Això és el mateix que cridar: ctx.setTransform(1, 0, 0, 1, 0, 0);
+
+ +

Exemple de transform i setTransform

+ +
function draw() {
+  var ctx = document.getElementById('canvas').getContext('2d');
+
+  var sin = Math.sin(Math.PI / 6);
+  var cos = Math.cos(Math.PI / 6);
+  ctx.translate(100, 100);
+  var c = 0;
+  for (var i = 0; i <= 12; i++) {
+    c = Math.floor(255 / 12 * i);
+    ctx.fillStyle = 'rgb(' + c + ', ' + c + ', ' + c + ')';
+    ctx.fillRect(0, 0, 100, 10);
+    ctx.transform(cos, sin, -sin, cos, 0, 0);
+  }
+
+  ctx.setTransform(-1, 0, 0, 1, 100, 100);
+  ctx.fillStyle = 'rgba(255, 128, 255, 0.5)';
+  ctx.fillRect(0, 50, 100, 100);
+}
+
+ + + +

{{EmbedLiveSample("Example_for_transform_and_setTransform", "230", "280", "https://mdn.mozillademos.org/files/255/Canvas_transform.png")}}

+ +

{{PreviousNext("Web/API/Canvas_API/Tutorial/Using_images", "Web/API/Canvas_API/Tutorial/Compositing")}}

+ +
+ + +
 
+ +
 
+
diff --git "a/files/ca/web/api/canvas_api/tutorial/\303\272s_b\303\240sic/index.html" "b/files/ca/web/api/canvas_api/tutorial/\303\272s_b\303\240sic/index.html" deleted file mode 100644 index fb15a62d81..0000000000 --- "a/files/ca/web/api/canvas_api/tutorial/\303\272s_b\303\240sic/index.html" +++ /dev/null @@ -1,158 +0,0 @@ ---- -title: Ús bàsic de canvas -slug: Web/API/Canvas_API/Tutorial/Ús_bàsic -tags: - - Canvas - - Graphics - - HTML - - Intermediate - - Tutorial -translation_of: Web/API/Canvas_API/Tutorial/Basic_usage ---- -
{{CanvasSidebar}} {{PreviousNext("Web/API/Canvas_API/Tutorial", "Web/API/Canvas_API/Tutorial/Drawing_shapes")}}
- -
-

Comencem aquest tutorial consultant l'element {{HTMLElement("canvas")}} {{Glossary("HTML")}}. Al final d'aquesta pàgina, sabreu com configurar un context 2D de canvas i haureu dibuixat un primer exemple en el vostre navegador.

-
- -

L'element <canvas>

- -
<canvas id="tutorial" width="150" height="150"></canvas>
-
- -

A primera vista, {{HTMLElement("canvas")}} s'assembla l'element {{HTMLElement("img")}} amb l'única diferència clara, que no té els atributs src i alt. De fet, l'element <canvas> només té dos atributs, {{htmlattrxref("width", "canvas")}} i {{htmlattrxref("height", "canvas")}}. Aquests són opcionals i també es poden establir utilitzant les properties {{Glossary("DOM")}} . Quan no s'especifiquen els atributs width i height, inicialment canvas tindrà 300 píxels d'amplada i 150 píxels d'alçada. L'element es pot dimensionar arbitràriament per {{Glossary("CSS")}}, però durant la representació, la imatge s'escala per adaptar-se a la seva grandària de disseny: si el dimensionament CSS no respecta la relació inicial de canvas, apareixerà distorsionada

- -
-

Nota: Si les vostres representacions semblen distorsionades, intenteu especificar els atributs width i height, explícitament, en els atributs <canvas> i no utilitzeu CSS.

-
- -

L'atribut id no és específic de l'element <canvas>, però és un dels atributs HTML global que es pot aplicar a qualsevol element HTML (com class, per exemple). Sempre és una bona idea proporcionar un id, perquè això fa que sigui molt més fàcil identificar-lo en un script.

- -

L'element <canvas> se li pot donar estil com qualsevol imatge normal ({{cssxref("margin")}}, {{cssxref("border")}}, {{cssxref("background")}}…). Aquestes regles, no obstant això, no afecten al dibuix real sobre el llenç. Veurem com això es fa en un capítol dedicat d'aquest tutorial. Quan no s'apliquen regles d'estil al llenç, inicialment, serà totalment transparent.

- -
-

Contingut alternatiu

- -

L'element <canvas> difereix d'una etiqueta {{HTMLElement("img")}} com per els elements {{HTMLElement("video")}}, {{HTMLElement("audio")}} o {{HTMLElement("picture")}}, és fàcil definir algun contingut alternatiu, que es mostri en navegadors antics que no ho suportin, com ara en versions d'Internet Explorer anteriors a la versió 9 o navegadors textuals. Sempre haureu de proporcionar contingut alternatiu perquè els navegadors ho mostrin.

- -

Proporcionar contingut alternatiu és molt senzill: simplement inseriu el contingut alternatiu dins de l'element <canvas>. Els navegadors que no suporten <canvas> ignoraran el contenidor i mostraran el contingut alternatiu dins del mateix. Els navegadors que suporten <canvas> ignoraran el contingut dins del contenidor, i simplement mostraran el llenç, normalment.

- -

Per exemple, podríem proporcionar una descripció de text del contingut del llenç o proporcionar una imatge estàtica del contingut presentat dinàmicament. Això pot semblar-se a això:

- -
<canvas id="stockGraph" width="150" height="150">
-  current stock price: $3.15 + 0.15
-</canvas>
-
-<canvas id="clock" width="150" height="150">
-  <img src="images/clock.png" width="150" height="150" alt=""/>
-</canvas>
-
- -

Dir-li a l'usuari que utilitzi un navegador diferent que suporti canvas no ajuda als usuaris que no poden llegir canvas en absolut, per exemple. Proporcionar un text alternatiu útil o un DOM secundari, ajuda a fer canvas més accessible.

- -

Etiqueta </canvas> obligatoria

- -

Com a conseqüència de la manera en què es proporciona una solució alternativa, a diferència de l'element {{HTMLElement("img")}}, l'element {{HTMLElement("canvas")}} requereix l'etiqueta de tancament (</canvas>). Si aquesta etiqueta no està present, la resta del document es consideraria contingut alternatiu i no es mostraria.

- -

Si no es necessita un contingut alternatiu, un simple <canvas id="foo" ...></canvas> és totalment compatible amb tots els navegadors que suporten canvas.

- -

El context de representació

- -

L'element {{HTMLElement("canvas")}} crea una superfície de dibuix de grandària fixa que exposa un o més contextos de representació, que s'utilitzen per crear i manipular el contingut mostrat. En aquest tutorial, ens centrem en el context de representació 2D. Altres contextos poden proporcionar diferents tipus de representació; per exemple, WebGL utilitza un context 3D basat en OpenGL ÉS.Other contexts may provide different types of rendering; for example, WebGL uses a 3D context based on OpenGL ES.

- -

El llenç està inicialment en blanc. Per mostrar alguna cosa, un script, primer necessita accedir al context de representació i dibuixar en ell. L'element {{HTMLElement("canvas")}} té un mètode anomenat {{domxref("HTMLCanvasElement.getContext", "getContext()")}}, utilitzat per obtenir el context de representació i les seves funcions de dibuix. getContext() pren un paràmetre, el tipus de context. Per als gràfics 2D, com els que es detallen en aquest tutorial, heu d'especificar "2d" per obtenir un {{domxref("CanvasRenderingContext2D")}}.

- -
var canvas = document.getElementById('tutorial');
-var ctx = canvas.getContext('2d');
-
- -

La primera línia del script recupera el node en el DOM, que representa l'element {{HTMLElement("canvas")}} cridant el mètode {{domxref("document.getElementById()")}}. Un cop tingueu el node d'element, podeu accedir al context del dibuix mitjançant el mètode getContext().

- -
-

Comprovació del suport

- -

El contingut alternatiu es mostra en navegadors que no admeten {{HTMLElement("canvas")}}. Les seqüències d'ordres, també poden comprovar la compatibilitat mitjançant programació, simplement provant la presència del mètode getContext(). El nostre fragment de codi de dalt es converteix en una cosa així:

- -
var canvas = document.getElementById('tutorial');
-
-if (canvas.getContext) {
-  var ctx = canvas.getContext('2d');
-  // drawing code here
-} else {
-  // canvas-unsupported code here
-}
-
-
-
- -

Una plantilla esquelet

- -

Aquí teniu una plantilla minimalista, que usarem com a punt de partida per a exemples posteriors.

- -
-

Nota: no és una bona pràctica incrustar un script dins d'HTML. Ho fem aquí per mantenir l'exemple concís.

-
- -
<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="utf-8"/>
-    <title>Canvas tutorial</title>
-    <script type="text/javascript">
-      function draw() {
-        var canvas = document.getElementById('tutorial');
-        if (canvas.getContext) {
-          var ctx = canvas.getContext('2d');
-        }
-      }
-    </script>
-    <style type="text/css">
-      canvas { border: 1px solid black; }
-    </style>
-  </head>
-  <body onload="draw();">
-    <canvas id="tutorial" width="150" height="150"></canvas>
-  </body>
-</html>
-
- -

El script inclou una funció anomenada draw(), que s'executa una vegada que la pàgina acaba de carregar-se; això es fa escoltant  l'esdeveniment {{event("load")}} en el document. Aquesta funció, o una similar, també pot ser cridada usant {{domxref("WindowTimers.setTimeout", "window.setTimeout()")}}, {{domxref("WindowTimers.setInterval", "window.setInterval()")}}, o qualsevol altre controlador d'esdeveniments, sempre que la pàgina s'hagi carregat primer.

- -

Així és com es veuria una plantilla en acció. Com es mostra aquí, inicialment està en blanc.

- -

{{EmbedLiveSample("A_skeleton_template", 160, 160)}}

- -

Un exemple senzill

- -

Per començar, feu un cop d'ull a un exemple senzill que dibuixa dos rectangles que es creuen, un dels quals té una transparència alfa. Explorarem com funciona això amb més detall en exemples posteriors.

- -
<!DOCTYPE html>
-<html>
- <head>
-  <meta charset="utf-8"/>
-  <script type="application/javascript">
-    function draw() {
-      var canvas = document.getElementById('canvas');
-      if (canvas.getContext) {
-        var ctx = canvas.getContext('2d');
-
-        ctx.fillStyle = 'rgb(200, 0, 0)';
-        ctx.fillRect(10, 10, 50, 50);
-
-        ctx.fillStyle = 'rgba(0, 0, 200, 0.5)';
-        ctx.fillRect(30, 30, 50, 50);
-      }
-    }
-  </script>
- </head>
- <body onload="draw();">
-   <canvas id="canvas" width="150" height="150"></canvas>
- </body>
-</html>
-
- -

Aquest exemple es veu així:

- -

{{EmbedLiveSample("A_simple_example", 160, 160, "https://mdn.mozillademos.org/files/228/canvas_ex1.png")}}

- -

{{PreviousNext("Web/API/Canvas_API/Tutorial", "Web/API/Canvas_API/Tutorial/Drawing_shapes")}}

diff --git a/files/ca/web/css/_colon_any/index.html b/files/ca/web/css/_colon_any/index.html deleted file mode 100644 index 6669bc645a..0000000000 --- a/files/ca/web/css/_colon_any/index.html +++ /dev/null @@ -1,198 +0,0 @@ ---- -title: ':any' -slug: 'Web/CSS/:any' -tags: - - CSS - - Experimental - - Pseudo-class - - Reference -translation_of: 'Web/CSS/:is' -translation_of_original: 'Web/CSS/:any' ---- -
{{CSSRef}}{{SeeCompatTable}}
- -

La pseudo-classe :any() permet crear un selector que contingui múltiples opcions, algun dels quals seran aparellats. Aquesta és una alternativa més senzilla que repetir un selector sencer diverses vegades perquè un element dins d'ell varia.

- -
/* Select any h2 inside a section, article, aside, or nav */
-/* Currently supported with -moz- and -webkit- prefixes */
-:-moz-any(section, article, aside, nav) h2 {
-  font-size: 4.5rem;
-}
-
-:-webkit-any(section, article, aside, nav) h2 {
-  font-size: 4.5rem;
-}
-
- -
Nota : Aquesta pseudo-classe està en curs de ser estandarditzada en CSS Selectors Level 4 sota el nom :matches(). És probable que la sintaxi i el nom de :-vendor-any() seran canviats perquè es reflecteixi en un futur proper.
- -

Sintaxi

- -

Sintaxi formal

- -
{{csssyntax}}
- -

Valors

- -
-
selector
-
Un selector. Això pot ser un selector simple o un selector múltiple compost de selectors simples CSS 3 i pot incloure el combinador descendent.
-
- -
Nota: Els selectors no poden contenir pseudo-elements i l'únic combinador permès és el combinador descendent.
- -

Exemples

- -

Per exemple, el següent CSS:

- -
/* 3 deep (or more) unordered lists use a square */
-ol ol ul,     ol ul ul,     ol menu ul,     ol dir ul,
-ol ol menu,   ol ul menu,   ol menu menu,   ol dir menu,
-ol ol dir,    ol ul dir,    ol menu dir,    ol dir dir,
-ul ol ul,     ul ul ul,     ul menu ul,     ul dir ul,
-ul ol menu,   ul ul menu,   ul menu menu,   ul dir menu,
-ul ol dir,    ul ul dir,    ul menu dir,    ul dir dir,
-menu ol ul,   menu ul ul,   menu menu ul,   menu dir ul,
-menu ol menu, menu ul menu, menu menu menu, menu dir menu,
-menu ol dir,  menu ul dir,  menu menu dir,  menu dir dir,
-dir ol ul,    dir ul ul,    dir menu ul,    dir dir ul,
-dir ol menu,  dir ul menu,  dir menu menu,  dir dir menu,
-dir ol dir,   dir ul dir,   dir menu dir,   dir dir dir {
-  list-style-type: square;
-}
-
- -

Pot substituir-se per:

- -
/* 3 deep (or more) unordered lists use a square */
-:-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) ul,
-:-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) menu,
-:-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) dir {
-  list-style-type: square;
-}
- -

No obstant això, no utilitzeu el següent: (Veure la secció sobre el rendiment més endavant.)

- -
:-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) :-moz-any(ul, menu, dir) {
-  list-style-type: square;
-}
- -

Notes

- -

Aquesta propietat és particularment útil quan es tracta de seccions i encapçalaments en HTML5. Des {{HTMLElement("section")}}, {{HTMLElement("article")}}, {{HTMLElement("aside")}} i {{HTMLElement("nav")}} es poden niar, sense :any() , l'estil d'aquests perquè coincideixin entre si pot ser difícil.

- -

Per exemple, sense :any(), donar estil a tot els elements {{HTMLElement("h1")}} a diferents profunditats podria ser molt complicat:

- -
/* Level 0 */
-h1 {
-  font-size: 30px;
-}
-/* Level 1 */
-section h1, article h1, aside h1, nav h1 {
-  font-size: 25px;
-}
-/* Level 2 */
-section section h1, section article h1, section aside h1, section nav h1,
-article section h1, article article h1, article aside h1, article nav h1,
-aside section h1, aside article h1, aside aside h1, aside nav h1,
-nav section h1, nav article h1, nav aside h1, nav nav h1, {
-  font-size: 20px;
-}
-/* Level 3 */
-/* ... don't even think about it*/
-
- -

Usant :-any(), és molt més fàcil:

- -
/* Level 0 */
-h1 {
-  font-size: 30px;
-}
-/* Level 1 */
-:-moz-any(section, article, aside, nav) h1 {
-  font-size: 25px;
-}
-/* Level 2 */
-:-moz-any(section, article, aside, nav)
-:-moz-any(section, article, aside, nav) h1 {
-  font-size: 20px;
-}
-/* Level 3 */
-:-moz-any(section, article, aside, nav)
-:-moz-any(section, article, aside, nav)
-:-moz-any(section, article, aside, nav) h1 {
-  font-size: 15px;
-}
- -

Problemes amb el rendiment i l'especificitat

- -

Bug 561154 registra un problema amb Gecko en el qual l'especificitat de: :-moz-any() és incorrecta. La implementació actual (com Firefox 12) posa: :-moz-any() en la categoria de regles universals, la qual cosa significa que usar-ho com el selector dret serà més lent que usar un ID, una classe o una etiqueta com el selector dret.

- -

Per exemple:

- -
.a > :-moz-any(.b, .c)
-
- -

és més lent que:

- -
.a > .b, .a > .c
-
- -

i el següent és més ràpid:

- -
:-moz-any(.a, .d) > .b, :-moz-any(.a, .d) > .c
-
- -

Navegadors compatibles

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
DescripcióFirefox (Gecko)ChromeInternet ExplorerOperaSafari
Suport bàsic{{CompatGeckoDesktop("2")}}{{property_prefix("-moz")}}12.0 (534.30){{property_prefix("-webkit")}}{{CompatUnknown}}{{CompatUnknown}}5
- {{property_prefix("-webkit")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióAndroidChrome for AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{property_prefix("-webkit")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}5
- {{property_prefix("-webkit")}}
-
diff --git a/files/ca/web/css/_colon_is/index.html b/files/ca/web/css/_colon_is/index.html new file mode 100644 index 0000000000..6669bc645a --- /dev/null +++ b/files/ca/web/css/_colon_is/index.html @@ -0,0 +1,198 @@ +--- +title: ':any' +slug: 'Web/CSS/:any' +tags: + - CSS + - Experimental + - Pseudo-class + - Reference +translation_of: 'Web/CSS/:is' +translation_of_original: 'Web/CSS/:any' +--- +
{{CSSRef}}{{SeeCompatTable}}
+ +

La pseudo-classe :any() permet crear un selector que contingui múltiples opcions, algun dels quals seran aparellats. Aquesta és una alternativa més senzilla que repetir un selector sencer diverses vegades perquè un element dins d'ell varia.

+ +
/* Select any h2 inside a section, article, aside, or nav */
+/* Currently supported with -moz- and -webkit- prefixes */
+:-moz-any(section, article, aside, nav) h2 {
+  font-size: 4.5rem;
+}
+
+:-webkit-any(section, article, aside, nav) h2 {
+  font-size: 4.5rem;
+}
+
+ +
Nota : Aquesta pseudo-classe està en curs de ser estandarditzada en CSS Selectors Level 4 sota el nom :matches(). És probable que la sintaxi i el nom de :-vendor-any() seran canviats perquè es reflecteixi en un futur proper.
+ +

Sintaxi

+ +

Sintaxi formal

+ +
{{csssyntax}}
+ +

Valors

+ +
+
selector
+
Un selector. Això pot ser un selector simple o un selector múltiple compost de selectors simples CSS 3 i pot incloure el combinador descendent.
+
+ +
Nota: Els selectors no poden contenir pseudo-elements i l'únic combinador permès és el combinador descendent.
+ +

Exemples

+ +

Per exemple, el següent CSS:

+ +
/* 3 deep (or more) unordered lists use a square */
+ol ol ul,     ol ul ul,     ol menu ul,     ol dir ul,
+ol ol menu,   ol ul menu,   ol menu menu,   ol dir menu,
+ol ol dir,    ol ul dir,    ol menu dir,    ol dir dir,
+ul ol ul,     ul ul ul,     ul menu ul,     ul dir ul,
+ul ol menu,   ul ul menu,   ul menu menu,   ul dir menu,
+ul ol dir,    ul ul dir,    ul menu dir,    ul dir dir,
+menu ol ul,   menu ul ul,   menu menu ul,   menu dir ul,
+menu ol menu, menu ul menu, menu menu menu, menu dir menu,
+menu ol dir,  menu ul dir,  menu menu dir,  menu dir dir,
+dir ol ul,    dir ul ul,    dir menu ul,    dir dir ul,
+dir ol menu,  dir ul menu,  dir menu menu,  dir dir menu,
+dir ol dir,   dir ul dir,   dir menu dir,   dir dir dir {
+  list-style-type: square;
+}
+
+ +

Pot substituir-se per:

+ +
/* 3 deep (or more) unordered lists use a square */
+:-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) ul,
+:-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) menu,
+:-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) dir {
+  list-style-type: square;
+}
+ +

No obstant això, no utilitzeu el següent: (Veure la secció sobre el rendiment més endavant.)

+ +
:-moz-any(ol, ul, menu, dir) :-moz-any(ol, ul, menu, dir) :-moz-any(ul, menu, dir) {
+  list-style-type: square;
+}
+ +

Notes

+ +

Aquesta propietat és particularment útil quan es tracta de seccions i encapçalaments en HTML5. Des {{HTMLElement("section")}}, {{HTMLElement("article")}}, {{HTMLElement("aside")}} i {{HTMLElement("nav")}} es poden niar, sense :any() , l'estil d'aquests perquè coincideixin entre si pot ser difícil.

+ +

Per exemple, sense :any(), donar estil a tot els elements {{HTMLElement("h1")}} a diferents profunditats podria ser molt complicat:

+ +
/* Level 0 */
+h1 {
+  font-size: 30px;
+}
+/* Level 1 */
+section h1, article h1, aside h1, nav h1 {
+  font-size: 25px;
+}
+/* Level 2 */
+section section h1, section article h1, section aside h1, section nav h1,
+article section h1, article article h1, article aside h1, article nav h1,
+aside section h1, aside article h1, aside aside h1, aside nav h1,
+nav section h1, nav article h1, nav aside h1, nav nav h1, {
+  font-size: 20px;
+}
+/* Level 3 */
+/* ... don't even think about it*/
+
+ +

Usant :-any(), és molt més fàcil:

+ +
/* Level 0 */
+h1 {
+  font-size: 30px;
+}
+/* Level 1 */
+:-moz-any(section, article, aside, nav) h1 {
+  font-size: 25px;
+}
+/* Level 2 */
+:-moz-any(section, article, aside, nav)
+:-moz-any(section, article, aside, nav) h1 {
+  font-size: 20px;
+}
+/* Level 3 */
+:-moz-any(section, article, aside, nav)
+:-moz-any(section, article, aside, nav)
+:-moz-any(section, article, aside, nav) h1 {
+  font-size: 15px;
+}
+ +

Problemes amb el rendiment i l'especificitat

+ +

Bug 561154 registra un problema amb Gecko en el qual l'especificitat de: :-moz-any() és incorrecta. La implementació actual (com Firefox 12) posa: :-moz-any() en la categoria de regles universals, la qual cosa significa que usar-ho com el selector dret serà més lent que usar un ID, una classe o una etiqueta com el selector dret.

+ +

Per exemple:

+ +
.a > :-moz-any(.b, .c)
+
+ +

és més lent que:

+ +
.a > .b, .a > .c
+
+ +

i el següent és més ràpid:

+ +
:-moz-any(.a, .d) > .b, :-moz-any(.a, .d) > .c
+
+ +

Navegadors compatibles

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
DescripcióFirefox (Gecko)ChromeInternet ExplorerOperaSafari
Suport bàsic{{CompatGeckoDesktop("2")}}{{property_prefix("-moz")}}12.0 (534.30){{property_prefix("-webkit")}}{{CompatUnknown}}{{CompatUnknown}}5
+ {{property_prefix("-webkit")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióAndroidChrome for AndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{property_prefix("-webkit")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}5
+ {{property_prefix("-webkit")}}
+
diff --git a/files/ca/web/css/adjacent_sibling_combinator/index.html b/files/ca/web/css/adjacent_sibling_combinator/index.html new file mode 100644 index 0000000000..911a395693 --- /dev/null +++ b/files/ca/web/css/adjacent_sibling_combinator/index.html @@ -0,0 +1,135 @@ +--- +title: Combinador de germans adjacents +slug: Web/CSS/Selectors_de_germans_adjacents +tags: + - CSS + - NeedsMobileBrowserCompatibility + - Reference + - Selectors +translation_of: Web/CSS/Adjacent_sibling_combinator +--- +
{{CSSRef("Selectors")}}
+ +

El combinador de germans adjacents (+) separa dos selectors i només coincideix amb el segon element si segueix immediatament el primer element, i tots dos són fills del mateix pare {{domxref("element")}}.

+ +
/* Paràgrafs que vénen immediatament després de qualsevol imatge */
+img + p {
+  font-style: bold;
+}
+ +

Sintaxi

+ +
former_element + target_element { style properties }
+
+ +

Exemple

+ +

CSS

+ +
li:first-of-type + li {
+  color: red;
+}
+
+ +

HTML

+ +
<ul>
+  <li>One</li>
+  <li>Two!</li>
+  <li>Three</li>
+</ul>
+ +

Resultat

+ +

{{EmbedLiveSample('Example', 200, 100)}}

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#adjacent-sibling-combinators', 'next-sibling combinator')}}{{Spec2('CSS4 Selectors')}}Li dóna un nou nom al combinador "next-sibling".
{{SpecName('CSS3 Selectors', '#adjacent-sibling-combinators', 'Adjacent sibling combinator')}}{{Spec2('CSS3 Selectors')}} 
{{SpecName('CSS2.1', 'selector.html#adjacent-selectors', 'Adjacent sibling selectors')}}{{Spec2('CSS2.1')}}Definició inicial
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}7.0[1]{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic2.1{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

[1] Internet Explorer 7 no actualitza l'estil correctament quan un element es col·loca dinàmicament abans d'un element que coincideixi amb el selector. En Internet Explorer 8, si un element s'insereix dinàmicament fent clic en un enllaç, l'estil del primer fill no s'aplicarà fins que l'enllaç perdi el focus.

+ +

Vegeu també

+ + diff --git a/files/ca/web/css/attribute_selectors/index.html b/files/ca/web/css/attribute_selectors/index.html new file mode 100644 index 0000000000..6778a2b3cb --- /dev/null +++ b/files/ca/web/css/attribute_selectors/index.html @@ -0,0 +1,250 @@ +--- +title: Selector Atribut +slug: Web/CSS/Selectors_d'Atribut +tags: + - Beginner + - CSS + - Reference + - Selectors +translation_of: Web/CSS/Attribute_selectors +--- +
{{CSSRef}}
+ +

El selector attribute CSS coincideix amb elements basats en la presència o el valor d'un atribut donat.

+ +
/* <a> elements amb l'atribut title */
+a[title] {
+  color: purple;
+}
+
+/* elements <a> amb una coincidència href "https://example.org" */
+a[href="https://example.org"] {
+  color: green;
+}
+
+/* elements <a> amb un href contenint "example" */
+a[href*="example"] {
+  font-size: 2em;
+}
+
+/* elements <a> amb un href amb una terminació ".org" */
+a[href$=".org"] {
+  font-style: italic;
+}
+ +
+
[attr]
+
Representa un element amb un nom d'atribut attr.
+
[attr=value]
+
Representa un element amb un nom d'atribut attr el valor del qual és exactament value.
+
[attr~=value]
+
Representa un element amb un nom d'atribut attr el valor del qual és una llista de paraules separades per espais en blanc, una de les quals és exactament value.
+
[attr|=value]
+
Representa un element amb un nom d'atribut attr el valor del qual pot ser exactament value o pot començar amb value immediatament seguit d'un guió, - (U+002D). Sovint s'utilitza per coincidències de subcodis de llenguatge.
+
[attr^=value]
+
Representa un element amb un nom d'atribut attr el valor del qual està prefixat (precedit) per value.
+
[attr$=value]
+
Representa un element amb un nom d'atribut attr el valor del qual és sufix (següit) per value.
+
[attr*=value]
+
Representa un element amb un nom d'atribut attr el valor del qual conté almenys una ocurrència value dins de la cadena.
+
[attr operator value i]
+
En afegir una i (o I) abans del claudàtor de tancament, el valor es compara entre majúscules i minúscules (per a caràcters dins del rang ASCII).
+
+ +

Exemples

+ + + +

CSS

+ +
a {
+  color: blue;
+}
+
+/* Internal links, beginning with "#" */
+a[href^="#"] {
+  background-color: gold;
+}
+
+/* Links with "example" anywhere in the URL */
+a[href*="example"] {
+  background-color: silver;
+}
+
+/* Links with "insensitive" anywhere in the URL,
+   regardless of capitalization */
+a[href*="insensitive" i] {
+  color: cyan;
+}
+
+/* Links that end in ".org" */
+a[href$=".org"] {
+  color: red;
+}
+
+ +

HTML

+ +
<ul>
+  <li><a href="#internal">Internal link</a></li>
+  <li><a href="http://example.com">Example link</a></li>
+  <li><a href="#InSensitive">Insensitive internal link</a></li>
+  <li><a href="http://example.org">Example org link</a></li>
+</ul>
+ +

Resultat

+ +

{{EmbedLiveSample('Links')}}

+ +

Llengües

+ +

CSS

+ +
/* Tots els divs amb un atribut `lang` són en negreta. */
+div[lang] {
+  font-weight: bold;
+}
+
+/* Tots els divs en US Anglès són blaus. */
+div[lang~="en-us"] {
+  color: blue;
+}
+
+/* Tots els divs en Portuguès són verds. */
+div[lang="pt"] {
+  color: green;
+}
+
+/* Tots els divs en Xinès són vermells, ja sigui
+   simplificat (zh-CN) o tradicional (zh-TW). */
+div[lang|="zh"] {
+  color: red;
+}
+
+/* Tots els divs en Xinès Traditional
+   `data-lang` són porpra */
+/* Nota: També podeu utilitzar atributs amb guions sense cometes dobles */
+div[data-lang="zh-TW"] {
+  color: purple;
+}
+
+ +

HTML

+ +
<div lang="en-us en-gb en-au en-nz">Hello World!</div>
+<div lang="pt">Olá Mundo!</div>
+<div lang="zh-CN">世界您好!</div>
+<div lang="zh-TW">世界您好!</div>
+<div data-lang="zh-TW">?世界您好!</div>
+
+ +

Resultat

+ +

{{EmbedLiveSample('Languages')}}

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#attribute-selectors', 'attribute selectors')}}{{Spec2('CSS4 Selectors')}}Afegit modificador per a la selecció del valor d'atribut ASCII sense distinció de majúscules i minúscules.
{{SpecName('CSS3 Selectors', '#attribute-selectors', 'attribute selectors')}}{{Spec2('CSS3 Selectors')}} 
{{SpecName('CSS2.1', 'selector.html#attribute-selectors', 'attribute selectors')}}{{Spec2('CSS2.1')}}Definició inicial
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("1")}}793
Modificador sense distinció de majúscules i minúscules{{CompatChrome(49.0)}}{{CompatNo}}{{CompatGeckoDesktop("47.0")}}{{CompatUnknown}}{{CompatOpera(36)}}{{CompatSafari(9)}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari MobileChrome for Android
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
Modificador sense distinció de majúscules i minúscules{{CompatUnknown}}{{CompatChrome(49.0)}}{{CompatNo}}{{CompatGeckoMobile("47.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatSafari(9)}}{{CompatChrome(49.0)}}
+
diff --git a/files/ca/web/css/child_combinator/index.html b/files/ca/web/css/child_combinator/index.html new file mode 100644 index 0000000000..f5cb8139f9 --- /dev/null +++ b/files/ca/web/css/child_combinator/index.html @@ -0,0 +1,135 @@ +--- +title: Combinador de fills +slug: Web/CSS/Selectors_de_fills +tags: + - CSS + - NeedsMobileBrowserCompatibility + - Reference + - Selectors +translation_of: Web/CSS/Child_combinator +--- +
{{CSSRef("Selectors")}}
+ +

El combinador de fills (>) es col·loca entre dos selectors CSS. Solament coincideix amb aquells elements que coincideixen amb el segon selector que són fills d'elements que coincideixen amb el primer.

+ +
/* Enumera els elements que són fills de la llista "my-things" */
+ul.my-things > li {
+  margin: 2em;
+}
+ +

Els elements que coincideixin amb el segon selector han de ser els fills immediats dels elements que coincideixin amb el primer selector. Això és més estricte que el selector descendent, que coincideix amb tots els elements que coincideixen amb el segon selector per al qual existeix un element ancestral coincident amb el primer selector, independentment de la quantitat de "salts" en el DOM

+ +

Sintaxi

+ +
selector1 > selector2 { style properties }
+
+ +

Exemple

+ +

CSS

+ +
span {
+  background-color: white;
+}
+
+div > span {
+  background-color: DodgerBlue;
+}
+
+ +

HTML

+ +
<div>
+  <span>Span #1, in the div.
+    <span>Span #2, in the span that's in the div.</span>
+  </span>
+</div>
+<span>Span #3, not in the div at all.</span>
+
+ +

Resultat

+ +

{{EmbedLiveSample("Example", 200, 100)}}

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#child-combinators', 'child combinator')}}{{Spec2('CSS4 Selectors')}} 
{{SpecName('CSS3 Selectors', '#child-combinators', 'child combinators')}}{{Spec2('CSS3 Selectors')}}Sense canvis
{{SpecName('CSS2.1', 'selector.html#child-selectors', 'child selectors')}}{{Spec2('CSS2.1')}}Definició inicial
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}7.0{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
diff --git a/files/ca/web/css/class_selectors/index.html b/files/ca/web/css/class_selectors/index.html new file mode 100644 index 0000000000..1f8cfdbee4 --- /dev/null +++ b/files/ca/web/css/class_selectors/index.html @@ -0,0 +1,139 @@ +--- +title: Selector Class +slug: Web/CSS/Selectors_de_Classe +tags: + - CSS + - Reference + - Selectors +translation_of: Web/CSS/Class_selectors +--- +
{{CSSRef}}
+ +

El selector class CSS coincideix amb elements basats en el contingut de l'atribut {{htmlattrxref("class")}}.

+ +
/* Tots els elements amb class="spacious" */
+.spacious {
+  margin: 2em;
+}
+
+/* Tots els elements <li> amb class="spacious" */
+li.spacious {
+  margin: 2em;
+}
+ +

Sintaxi

+ +
.classname { style properties }
+ +

Recordeu que això és equivalent al següent {{Cssxref("Attribute_selectors", "attribute selector")}}:

+ +
[class~=classname] { style properties }
+ +

Exemple

+ +

CSS

+ +
div.classy {
+  background-color: skyblue;
+}
+
+ +

HTML

+ +
<div class="classy">This div has a special class on it!</div>
+<div>This is just a regular div.</div>
+
+ +

Resultat

+ +

{{EmbedLiveSample('Example', '100%', 50)}}

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#class-html', 'class selectors')}}{{Spec2('CSS4 Selectors')}}Sense canvis
{{SpecName('CSS3 Selectors', '#class-html', 'class selectors')}}{{Spec2('CSS3 Selectors')}} 
{{SpecName('CSS2.1', 'selector.html#class-html', 'child selectors')}}{{Spec2('CSS2.1')}} 
{{SpecName('CSS1', '#class-as-selector', 'child selectors')}}{{Spec2('CSS1')}}Definició inicial
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
diff --git a/files/ca/web/css/css_box_model/dominar_el_col.lapse_del_marge/index.html b/files/ca/web/css/css_box_model/dominar_el_col.lapse_del_marge/index.html deleted file mode 100644 index 9b312fc789..0000000000 --- a/files/ca/web/css/css_box_model/dominar_el_col.lapse_del_marge/index.html +++ /dev/null @@ -1,89 +0,0 @@ ---- -title: Dominar el col.lapse del marge -slug: Web/CSS/CSS_Box_Model/Dominar_el_col.lapse_del_marge -tags: - - CSS - - CSS Box Model - - Guide - - Reference -translation_of: Web/CSS/CSS_Box_Model/Mastering_margin_collapsing ---- -
{{CSSRef}}
- -

Els marges superior (top) i inferior (bottom) dels blocs, a vegades, es combinen (col·lapsats) en un únic marge, la grandària del qual és el més gran dels marges individuals (o només un d'ells, si són iguals), un comportament conegut com col·lapse del marge. Tingueu en compte que els marges dels elements flotants i absolutament posicionats mai es col·lapsen.

- -

El col·lapse de marges es produeix en tres casos bàsics:

- -
-
Germans adjacents
-
Els marges dels germans adjacents estan col·lapsats (excepte quan el darrer germà ha de ser eliminat dels flotadors anteriors).
-
Pare i primer/últim fill
-
Si no hi ha una vora, farcit, part en línia, context de format de blocs creat, o un espaia lliure per separar el {{cssxref("margin-top")}} d'un bloc del {{cssxref("margin-top")}} del seu primer bloc fill; o sense vora, farcit, contingut en línia, {{cssxref("height")}}, {{cssxref("min-height")}}, o {{cssxref("max-height")}} per separar el {{cssxref("margin-bottom")}} d'un bloc del {{cssxref("margin-bottom")}} del seu últim fill, llavors aquests marges es col·lapsen. El marge col·lapsat acaba fora del pare
-
Blocs buits
-
Si no hi ha vora, farcit, contingut en línia, {{cssxref("height")}} o {{cssxref("min-height")}} per separar un bloc {{cssxref("margin-top")}} del seu {{cssxref("margin-bottom")}}, llavors els marges superior i inferior es col·lapsen.
-
- -

Algunes coses a destacar:

- - - -

Exemples

- -

HTML

- -
<p>The bottom margin of this paragraph is collapsed …</p>
-<p>… with the top margin of this paragraph, yielding a margin of <code>1.2rem</code> in between.</p>
-
-<div>This parent element contains two paragraphs!
-  <p>This paragraph has a <code>.4rem</code> margin between it and the text above.</p>
-  <p>My bottom margin collapses with my parent, yielding a bottom margin of <code>2rem</code>.</p>
-</div>
-
-<p>I am <code>2rem</code> below the element above.</p>
- -

CSS

- -
div {
-  margin: 2rem 0;
-  background: lavender;
-}
-
-p {
-  margin: .4rem 0 1.2rem 0;
-  background: yellow;
-}
- -

Resultat

- -

{{EmbedLiveSample('Examples', 'auto', 350)}}

- -

Especificacions

- - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName("CSS2.1", "box.html#collapsing-margins", "margin collapsing")}}{{Spec2("CSS2.1")}}Definició inicial.
- -

Vegeu també

- - diff --git "a/files/ca/web/css/css_box_model/introducci\303\263_al_model_de_caixa_css/index.html" "b/files/ca/web/css/css_box_model/introducci\303\263_al_model_de_caixa_css/index.html" deleted file mode 100644 index bfb613ed6c..0000000000 --- "a/files/ca/web/css/css_box_model/introducci\303\263_al_model_de_caixa_css/index.html" +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: Introducció al model de caixa CSS -slug: Web/CSS/CSS_Box_Model/Introducció_al_model_de_caixa_CSS -tags: - - CSS - - CSS Box Model - - Guide - - Reference -translation_of: Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model ---- -
{{CSSRef}}
- -

Quan es dissenya un document, el motor d'interpretació del navegador representa cada element com una caixa rectangular d'acord amb el model de caixa CSS estàndard. CSS determina la grandària, la posició i les propietats (color, fons, grandària de la vora, etc.) d'aquests caixes.

- -

Cada caixa es compon de quatre parts (o àrees), definides per les seves respectives vores: la vora del contingut, la vora del farciment, la vora de la vora i la vora del marge.

- -

CSS Box model

- -

L'àrea de contingut, limitada per la vora del contingut, conté el contingut "real" de l'element, com ara text, una imatge o un reproductor de vídeo. Les seves dimensions són l'amplada del contingut (o l'amplada de la caixa de contingut) i l'alçada del contingut (o l'alçada de la caixa de contingut). Sovint té un color de fons o una imatge de fons.

- -

Si la propietat {{cssxref("box-sizing")}} s'estableix a content-box (predeterminat), la grandària de l'àrea de contingut es pot definir explícitament amb les propietats {{cssxref("width")}}, {{cssxref("min-width")}}, {{cssxref("max-width")}}, {{ cssxref("height") }}, {{cssxref("min-height")}} i {{cssxref("max-height")}}.

- -

L'àrea de farcit, delimitada per la vora de farcit, estén l'àrea de contingut per incloure el farciment de l'element. Les seves dimensions són l'amplada de la caixa de farcit i l'alçada de la caixa de farcit. Quan l'àrea de contingut té un fons, s'estén en el farcit.

- -

El gruix del farciment està determinat pel {{cssxref("padding-top")}}, {{cssxref("padding-right")}}, {{cssxref("padding-bottom")}}, {{cssxref("padding-left")}} i les propietats abreujades de {{cssxref("padding")}}.

- -

L'àrea de vora, delimitada per la vora de la vora, estén l'àrea de farciment per incloure les vores de l'element. Les seves dimensions són l'amplada de la caixa de vora i l'alçada de la caixa de vora.

- -

El gruix de les vores està determinat per les propietats {{cssxref("border-width")}} i les propietats abreujades {{cssxref("border")}}. Si la propietat {{cssxref("box-sizing")}} s'estableix a border-box, la grandària de l'àrea de la vora es pot definir explícitament amb les propietats {{cssxref("width")}}, {{cssxref("min-width")}}, {{cssxref("max-width")}}, {{ cssxref("height") }}, {{cssxref("min-height")}} i {{cssxref("max-height")}}.

- -

L'àrea de marge, delimitada per la vora del marge, estén l'àrea de la vora per incloure una àrea buida utilitzada per separar l'element dels seus veïns. Les seves dimensions són l'amplada de la caixa de marge i l'alçada de la caixa de marge.

- -

La grandària de l'àrea de marge està determinada pel {{cssxref("margin-top")}}, {{cssxref("margin-right")}}, {{cssxref("margin-bottom")}}, {{cssxref("margin-left")}} i les propietats abreujades {{cssxref("margin")}}. Quan es produeix el col.lapse del marge, l'àrea de marge no està clarament definida, ja que els marges es comparteixen entre les caixes.

- -

Finalment, tingueu en compte que, per als elements en línia no reemplaçats, la quantitat d'espai ocupat (la contribució a l'alçada de la línia) està determinat per la propietat {{cssxref('line-height')}} encara que les vores i el farciment encara es mostran al voltant del contingut.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{ SpecName("CSS2.1","box.html#box-dimensions")}}{{ Spec2('CSS2.1') }}Encara que formulat amb més precisió, no hi ha canvi pràctic.
{{ SpecName("CSS1","#formatting-model")}}{{ Spec2('CSS1') }}Definició inicial.
- -

Vegeu també

- - diff --git a/files/ca/web/css/css_box_model/introduction_to_the_css_box_model/index.html b/files/ca/web/css/css_box_model/introduction_to_the_css_box_model/index.html new file mode 100644 index 0000000000..bfb613ed6c --- /dev/null +++ b/files/ca/web/css/css_box_model/introduction_to_the_css_box_model/index.html @@ -0,0 +1,67 @@ +--- +title: Introducció al model de caixa CSS +slug: Web/CSS/CSS_Box_Model/Introducció_al_model_de_caixa_CSS +tags: + - CSS + - CSS Box Model + - Guide + - Reference +translation_of: Web/CSS/CSS_Box_Model/Introduction_to_the_CSS_box_model +--- +
{{CSSRef}}
+ +

Quan es dissenya un document, el motor d'interpretació del navegador representa cada element com una caixa rectangular d'acord amb el model de caixa CSS estàndard. CSS determina la grandària, la posició i les propietats (color, fons, grandària de la vora, etc.) d'aquests caixes.

+ +

Cada caixa es compon de quatre parts (o àrees), definides per les seves respectives vores: la vora del contingut, la vora del farciment, la vora de la vora i la vora del marge.

+ +

CSS Box model

+ +

L'àrea de contingut, limitada per la vora del contingut, conté el contingut "real" de l'element, com ara text, una imatge o un reproductor de vídeo. Les seves dimensions són l'amplada del contingut (o l'amplada de la caixa de contingut) i l'alçada del contingut (o l'alçada de la caixa de contingut). Sovint té un color de fons o una imatge de fons.

+ +

Si la propietat {{cssxref("box-sizing")}} s'estableix a content-box (predeterminat), la grandària de l'àrea de contingut es pot definir explícitament amb les propietats {{cssxref("width")}}, {{cssxref("min-width")}}, {{cssxref("max-width")}}, {{ cssxref("height") }}, {{cssxref("min-height")}} i {{cssxref("max-height")}}.

+ +

L'àrea de farcit, delimitada per la vora de farcit, estén l'àrea de contingut per incloure el farciment de l'element. Les seves dimensions són l'amplada de la caixa de farcit i l'alçada de la caixa de farcit. Quan l'àrea de contingut té un fons, s'estén en el farcit.

+ +

El gruix del farciment està determinat pel {{cssxref("padding-top")}}, {{cssxref("padding-right")}}, {{cssxref("padding-bottom")}}, {{cssxref("padding-left")}} i les propietats abreujades de {{cssxref("padding")}}.

+ +

L'àrea de vora, delimitada per la vora de la vora, estén l'àrea de farciment per incloure les vores de l'element. Les seves dimensions són l'amplada de la caixa de vora i l'alçada de la caixa de vora.

+ +

El gruix de les vores està determinat per les propietats {{cssxref("border-width")}} i les propietats abreujades {{cssxref("border")}}. Si la propietat {{cssxref("box-sizing")}} s'estableix a border-box, la grandària de l'àrea de la vora es pot definir explícitament amb les propietats {{cssxref("width")}}, {{cssxref("min-width")}}, {{cssxref("max-width")}}, {{ cssxref("height") }}, {{cssxref("min-height")}} i {{cssxref("max-height")}}.

+ +

L'àrea de marge, delimitada per la vora del marge, estén l'àrea de la vora per incloure una àrea buida utilitzada per separar l'element dels seus veïns. Les seves dimensions són l'amplada de la caixa de marge i l'alçada de la caixa de marge.

+ +

La grandària de l'àrea de marge està determinada pel {{cssxref("margin-top")}}, {{cssxref("margin-right")}}, {{cssxref("margin-bottom")}}, {{cssxref("margin-left")}} i les propietats abreujades {{cssxref("margin")}}. Quan es produeix el col.lapse del marge, l'àrea de marge no està clarament definida, ja que els marges es comparteixen entre les caixes.

+ +

Finalment, tingueu en compte que, per als elements en línia no reemplaçats, la quantitat d'espai ocupat (la contribució a l'alçada de la línia) està determinat per la propietat {{cssxref('line-height')}} encara que les vores i el farciment encara es mostran al voltant del contingut.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{ SpecName("CSS2.1","box.html#box-dimensions")}}{{ Spec2('CSS2.1') }}Encara que formulat amb més precisió, no hi ha canvi pràctic.
{{ SpecName("CSS1","#formatting-model")}}{{ Spec2('CSS1') }}Definició inicial.
+ +

Vegeu també

+ + diff --git a/files/ca/web/css/css_box_model/mastering_margin_collapsing/index.html b/files/ca/web/css/css_box_model/mastering_margin_collapsing/index.html new file mode 100644 index 0000000000..9b312fc789 --- /dev/null +++ b/files/ca/web/css/css_box_model/mastering_margin_collapsing/index.html @@ -0,0 +1,89 @@ +--- +title: Dominar el col.lapse del marge +slug: Web/CSS/CSS_Box_Model/Dominar_el_col.lapse_del_marge +tags: + - CSS + - CSS Box Model + - Guide + - Reference +translation_of: Web/CSS/CSS_Box_Model/Mastering_margin_collapsing +--- +
{{CSSRef}}
+ +

Els marges superior (top) i inferior (bottom) dels blocs, a vegades, es combinen (col·lapsats) en un únic marge, la grandària del qual és el més gran dels marges individuals (o només un d'ells, si són iguals), un comportament conegut com col·lapse del marge. Tingueu en compte que els marges dels elements flotants i absolutament posicionats mai es col·lapsen.

+ +

El col·lapse de marges es produeix en tres casos bàsics:

+ +
+
Germans adjacents
+
Els marges dels germans adjacents estan col·lapsats (excepte quan el darrer germà ha de ser eliminat dels flotadors anteriors).
+
Pare i primer/últim fill
+
Si no hi ha una vora, farcit, part en línia, context de format de blocs creat, o un espaia lliure per separar el {{cssxref("margin-top")}} d'un bloc del {{cssxref("margin-top")}} del seu primer bloc fill; o sense vora, farcit, contingut en línia, {{cssxref("height")}}, {{cssxref("min-height")}}, o {{cssxref("max-height")}} per separar el {{cssxref("margin-bottom")}} d'un bloc del {{cssxref("margin-bottom")}} del seu últim fill, llavors aquests marges es col·lapsen. El marge col·lapsat acaba fora del pare
+
Blocs buits
+
Si no hi ha vora, farcit, contingut en línia, {{cssxref("height")}} o {{cssxref("min-height")}} per separar un bloc {{cssxref("margin-top")}} del seu {{cssxref("margin-bottom")}}, llavors els marges superior i inferior es col·lapsen.
+
+ +

Algunes coses a destacar:

+ + + +

Exemples

+ +

HTML

+ +
<p>The bottom margin of this paragraph is collapsed …</p>
+<p>… with the top margin of this paragraph, yielding a margin of <code>1.2rem</code> in between.</p>
+
+<div>This parent element contains two paragraphs!
+  <p>This paragraph has a <code>.4rem</code> margin between it and the text above.</p>
+  <p>My bottom margin collapses with my parent, yielding a bottom margin of <code>2rem</code>.</p>
+</div>
+
+<p>I am <code>2rem</code> below the element above.</p>
+ +

CSS

+ +
div {
+  margin: 2rem 0;
+  background: lavender;
+}
+
+p {
+  margin: .4rem 0 1.2rem 0;
+  background: yellow;
+}
+ +

Resultat

+ +

{{EmbedLiveSample('Examples', 'auto', 350)}}

+ +

Especificacions

+ + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName("CSS2.1", "box.html#collapsing-margins", "margin collapsing")}}{{Spec2("CSS2.1")}}Definició inicial.
+ +

Vegeu també

+ + diff --git a/files/ca/web/css/css_selectors/index.html b/files/ca/web/css/css_selectors/index.html new file mode 100644 index 0000000000..9eaf8daffc --- /dev/null +++ b/files/ca/web/css/css_selectors/index.html @@ -0,0 +1,156 @@ +--- +title: Selectors CSS +slug: Web/CSS/Selectors_CSS +tags: + - CSS + - CSS Selectors + - Overview + - Reference + - Selectors +translation_of: Web/CSS/CSS_Selectors +--- +
{{CSSRef}}
+ +

Els Selectors CSS defineixen els elements als quals s'aplica un conjunt de normes CSS.

+ +

Selectors Bàsics

+ +
+
Selector de tipus
+
Selecciona tots els elements que coincideixen amb el nom del node donat.
+ Sintaxi: eltname
+ Exemple: input coincidirà amb qualsevol element {{HTMLElement('input')}}
+
Selector de clase
+
Selecciona tots els elements que tenen l'atribut class donat.
+ Sintaxi: .classname
+ Exemple: .index coincidirà amb qualsevol element que tingui una classe "index"
+
Selector de ID
+
Selecciona un element basat en el valor del seu atribut id. Només hi ha d'haver un element amb una ID determinat en un document.
+ Sintaxi: #idname
+ Exemple: #toc coincidiran amb l'element que té l'ID "toc".
+
Selector universal
+
Selecciona tots els elements. De manera opcional, pot estar restringit a un espai de noms específic o a tots els espais de noms.
+ Sintaxi: * ns|* *|*
+ Exemple: * coincideix amb tots els elements del document.
+
Selector d'atribut
+
Selecciona elements basats en el valor de l'atribut donat.
+ Sintaxi: [attr] [attr=value] [attr~=value] [attr|=value] [attr^=value] [attr$=value] [attr*=value]
+ Exemple: [autoplay] coincidiran tots els elements que tenen establert l'atribut autoplay (a qualsevol valor).
+
+ +

Combinadors

+ +
+
Combinador de germans adjacents
+
El combinador + selecciona els germans adjacents. Això significa que el segon element segueix directament el primer, i ambdós comparteixen el mateix pare.
+ Sintaxi: A + B
+ Exemple: h2 + p coincidirà amb tots el elements {{HTMLElement('p')}} que segueixen directament un {{HTMLElement('h2')}}.
+
Combinador general de germans
+
El combinador ~ selecciona els germans. Això significa que el segon element segueix el primer (encara que no necessàriament de forma immediata), i tots dos comparteixen el mateix pare.
+ Sintaxi: A ~ B
+ Exemple: p ~ span coincidirà amb tots els elements {{HTMLElement('span')}} que segueixen un {{HTMLElement('p')}}.
+
Combinador de fills
+
El combinador > selecciona els nodes que són fills directes del primer element.
+ Sintaxi: A > B
+ Exemple: ul > li coincidirà amb tots els elements {{HTMLElement('li')}} que estan niats directament dins d'un element {{HTMLElement('ul')}}.
+
Combinador de descendents
+
El combinador    selecciona els nodes que són descendents del primer element.
+ Sintaxi: A B
+ Exemple: div span coincidirà amb tots els elements {{HTMLElement('span')}} que es troben dins d'un element {{HTMLElement('div')}}.
+
+ +

Pseudo-classes

+ +

Pseudo-classes permeten la selecció d'elements basats en informació d'estat que no es troba a l'arbre del document.

+ +

Exemple: a:visited coincidirà amb tots els elements {{HTMLElement('a')}} que hagi visitat l'usuari.

+ +

Pseudo-elements

+ +

Pseudo-elements representen entitats que no estan incloses en HTML.

+ +

Exemple: p::first-line coincidirà amb la primera línia de tots els elements {{HTMLElement('p')}}.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors')}}{{Spec2('CSS4 Selectors')}}
{{SpecName('CSS3 Selectors')}}{{Spec2('CSS3 Selectors')}}
{{SpecName('CSS2.1', 'selector.html')}}{{Spec2('CSS2.1')}}
{{SpecName('CSS1')}}{{Spec2('CSS1')}}Definició inicial
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
DescripcióChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic1{{CompatGeckoDesktop("1")}}3.03.51.0
+
+ +
+ + + + + + + + + + + + + + + + + + + +
DescripcióAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic1.5{{CompatGeckoMobile("1.9.2")}}{{CompatUnknown}}{{CompatUnknown}}3.2
+
diff --git a/files/ca/web/css/css_selectors/using_the__colon_target_pseudo-class_in_selectors/index.html b/files/ca/web/css/css_selectors/using_the__colon_target_pseudo-class_in_selectors/index.html new file mode 100644 index 0000000000..53339b06e5 --- /dev/null +++ b/files/ca/web/css/css_selectors/using_the__colon_target_pseudo-class_in_selectors/index.html @@ -0,0 +1,69 @@ +--- +title: 'Ùs de la pseudo-class :target en selectors' +slug: 'Web/CSS/Selectors_CSS/Using_the_:target_pseudo-class_in_selectors' +tags: + - ':target' + - CSS + - Guide + - Reference + - Selectors +translation_of: 'Web/CSS/CSS_Selectors/Using_the_:target_pseudo-class_in_selectors' +--- +
{{CSSRef}}
+ +

Quan una URL apunta a una peça específica d'un document, pot ser difícil per a l'usuari adonar-se. Esbrineu com podeu fer servir algun CSS senzill per cridar l'atenció sobre el destí d'una URL i millorar l'experiència de l'usuari.

+ +

Triar un destí

+ +

La pseudo-class {{ Cssxref(":target") }}s'utilitza per aplicar estil a l'element de destinació d'un URI que conté un identificador de fragment. Per exemple, l'URI http://developer.mozilla.org/en/docs/Using_the_:target_selector#example conté el identificador de fragment #example. En HTML, els identificadors corresponent els valors dels atributs id o name, ja que tots dos comparteixen el mateix espai de noms. Per tant, l'URI d'exemple assenyalaria l'encapçalament "example" en aquest document.

+ +

Suposem que desitjeu donar estil a qualsevol element h2 que és el destí d'un URI, però no voleu que qualsevol altre tipus d'element aconsegueixi un estil de destinació. Això és bastant simple:

+ +
h2:target {font-weight: bold;}
+ +

També és possible crear estils que siguin específics d'un fragment en particular del document. Això es realitza utilitzant el mateix valor de la identificació que es troba en l'URI. Per tant, per afegir una vora al fragment #example, escriuríem:

+ +
#example:target {border: 1px solid black;}
+ +

Dirigit a tots els elements

+ +

Si la intenció és crear un estil "ampli" que s'apliqui a tots els elements seleccionats, llavors el selector universal, ve molt bé:

+ +
:target {color: red;}
+
+ +

Exemple

+ +

En el següent exemple, hi ha cinc enllaços que apunten a elements en el mateix document. En seleccionar l'enllaç "First", per exemple, farà que <h1 id = "one"> es converteixi en l'element de destinació. Recordeu que el document pot saltar a una nova posició de desplaçament, ja que els elements de destinació es col·loquen a la part superior de la finestra del navegador si és possible.

+ +
+
<h4 id="one">...</h4> <p id="two">...</p>
+<div id="three">...</div> <a id="four">...</a> <em id="five">...</em>
+
+<a href="#one">First</a>
+<a href="#two">Second</a>
+<a href="#three">Third</a>
+<a href="#four">Fourth</a>
+<a href="#five">Fifth</a>
+
+ +

Conclusió

+ +

En els casos en què un identificador de fragment apunti a una part del document, els lectors poden arribar a confondre's sobre quina part del document se suposa que han d'estar llegint. El donar estil a la destinació d'un URI, podem reduïr o eliminar la confusió del lector.

+ + + + + +
+

Informació del document original

+ + +
diff --git a/files/ca/web/css/descendant_combinator/index.html b/files/ca/web/css/descendant_combinator/index.html new file mode 100644 index 0000000000..1eb4fd57f8 --- /dev/null +++ b/files/ca/web/css/descendant_combinator/index.html @@ -0,0 +1,170 @@ +--- +title: Selectors de descendents +slug: Web/CSS/Selectors_de_descendents +tags: + - CSS + - Reference + - Selectors +translation_of: Web/CSS/Descendant_combinator +--- +
{{CSSRef("Selectors")}}
+ +

El combinador descendent - en general representat per un  únic caràcter d'espai ( ) - combina dos selectors de tal manera que els elements que coincideixen amb el segon selector se seleccionen si tenen un element ancestral que coincideixi amb el primer selector. Els selectors que utilitzen un combinador descendent s'anomenen selectors de descendents.

+ +
/* Llista els elemenst que són descendsnts de la llista "my-things" */
+ul.my-things li {
+  margin: 2em;
+}
+ +

El combinador descendent és tècnicament un o més caràcters d'espais en blanc {{Glossary("CSS")}} - el caràcter d'espai en blanc i/o un dels quatre caràcters de control: retorn de carro, avanç de pàgina, nova línia i caràcters de tabulació - entre dos selectors en absència d'un altre combinador. A més, els caràcters d'espai en blanc de les que es compon el combinador poden contenir qualsevol nombre de comentaris CSS.

+ +

La naturalesa abstracta d'aquest combinador el fa diferent dels altres combinadors estandarditzats ja que aquests combinadors estan representats per una seqüència de caràcters finits diferents. Aquesta inconsistència es va tractar afegint un combinador descendent redundant representat per dos caràcters, més gran que  (>>), amb seqüència, donant-li una forma que és particularment similar a la del combinador fill, que comparteix una funció similar.

+ +

Sintaxi

+ +
selector1 selector2 { /* property declarations */ }
+
+ +
selector1 >> selector2 { /* property declarations */ }
+
+ +

Exemple

+ +

CSS

+ +
li {
+  list-style-type: disc;
+}
+
+li li {
+  list-style-type: circle;
+}
+
+ +

HTML

+ +
<ul>
+  <li>
+    <div>Item 1</div>
+    <ul>
+      <li>Subitem A</li>
+      <li>Subitem B</li>
+    </ul>
+  </li>
+  <li>
+    <div>Item 2</div>
+    <ul>
+      <li>Subitem A</li>
+      <li>Subitem B</li>
+    </ul>
+  </li>
+</ul>
+
+ +

Resultat

+ +

{{EmbedLiveSample('Example', 200, 160)}}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#descendant-combinators', 'descendant combinator')}}{{Spec2('CSS4 Selectors')}}>> introduït com combinador descendent a més de l'espai en blanc com combinador.
{{SpecName('CSS3 Selectors', '#descendant-combinators', 'descendant combinator')}}{{Spec2('CSS3 Selectors')}} 
{{SpecName('CSS2.1', 'selector.html#descendant-selectors', 'descendant selectors')}}{{Spec2('CSS2.1')}} 
{{SpecName('CSS1', '#contextual-selectors', 'contextual selectors')}}{{Spec2('CSS1')}}Definició inicial
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Tipus >>{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatSafari("10")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescripcióAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Tipus >>{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
diff --git a/files/ca/web/css/general_sibling_combinator/index.html b/files/ca/web/css/general_sibling_combinator/index.html new file mode 100644 index 0000000000..64429bbaba --- /dev/null +++ b/files/ca/web/css/general_sibling_combinator/index.html @@ -0,0 +1,129 @@ +--- +title: Combinador general de germans +slug: Web/CSS/Selectors_general_de_germans +tags: + - CSS + - NeedsMobileBrowserCompatibility + - Reference + - Selectors +translation_of: Web/CSS/General_sibling_combinator +--- +
{{CSSRef("Selectors")}}
+ +

El combinador general de germans (~) separa dos selectors i només coincideix amb el segon element si segueix el primer element (encara que no necessàriament immediatament), i tots dos són fills del mateix pare {{domxref("element")}}.

+ +
/* Paràgrafs que són germans i posteriors a qualsevol imatge */
+img ~ p {
+  color: red;
+}
+ +

Sintaxi

+ +
element ~ element { style properties }
+
+ +

Exemple

+ +

CSS

+ +
p ~ span {
+  color: red;
+}
+ +

HTML

+ +
<span>This is not red.</span>
+<p>Here is a paragraph.</p>
+<code>Here is some code.</code>
+<span>And here is a red span!</span>
+<code>More code...</code>
+<span>And this is a red span!</span>
+
+ +

Resultat

+ +

{{ EmbedLiveSample('Example', 280, 120) }}

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{ SpecName('CSS4 Selectors', '#general-sibling-combinators', 'following-sibling combinator') }}{{Spec2('CSS4 Selectors')}}Li dona un nou nom al combinador "subsequent-sibling"
{{ SpecName('CSS3 Selectors', '#general-sibling-combinators', 'general sibling combinator') }}{{Spec2('CSS3 Selectors')}}Definició inicial.
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic1.0{{CompatVersionUnknown}}{{CompatGeckoDesktop("1")}}793
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióFirefox Mobile (Gecko)AndroidEdgeIE PhoneOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Veure

+ + diff --git a/files/ca/web/css/id_selectors/index.html b/files/ca/web/css/id_selectors/index.html new file mode 100644 index 0000000000..1b6f041eb6 --- /dev/null +++ b/files/ca/web/css/id_selectors/index.html @@ -0,0 +1,134 @@ +--- +title: Selector ID +slug: Web/CSS/Selectors_ID +tags: + - CSS + - Reference + - Selectors +translation_of: Web/CSS/ID_selectors +--- +
{{CSSRef}}
+ +

En un document HTML, el selector ID CSS coincideix amb un element basat en el valor del seu atribut {{htmlattrxref("ID")}}. L'atribut ID de l'element seleccionat ha de coincidir exactament amb el valor indicat en el selector

+ +
/* The element with id="demo" */
+div#demo {
+  border: red 2px solid;
+}
+ +

Sintaxi

+ +
#id_value { style properties }
+ +

Recordeu que això és equivalent al següent {{Cssxref("Attribute_selectors", "attribute selector")}}:

+ +
[id=id_value] { style properties }
+ +

Exemple

+ +

CSS

+ +
div#identified {
+  background-color: skyblue;
+}
+
+ +

HTML

+ +
<div id="identified">This div has a special ID on it!</div>
+<div>This is just a regular div.</div>
+
+ +

Resultat

+ +

{{EmbedLiveSample("Example", '100%', 50)}}

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName("CSS4 Selectors", "#id-selectors", "ID selectors")}}{{Spec2("CSS4 Selectors")}} 
{{SpecName("CSS3 Selectors", "#id-selectors", "ID selectors")}}{{Spec2("CSS3 Selectors")}} 
{{SpecName("CSS2.1", "selector.html#id-selectors", "ID selectors")}}{{Spec2("CSS2.1")}} 
{{SpecName("CSS1", "#id-as-selector", "ID selectors")}}{{Spec2("CSS1")}}Definició inicial
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
diff --git a/files/ca/web/css/reference/index.html b/files/ca/web/css/reference/index.html new file mode 100644 index 0000000000..739dcdc9e3 --- /dev/null +++ b/files/ca/web/css/reference/index.html @@ -0,0 +1,206 @@ +--- +title: Referéncia CSS +slug: Web/CSS/Referéncia_CSS +tags: + - CSS + - Reference + - 'l10n:priority' +translation_of: Web/CSS/Reference +--- +

Utilitzeu aquesta referència CSS per explorar un índex alfabètic de totes les propietats CSS estàndard , pseudo-classes, pseudo-elements, tipus de dades, i regles-at. També podeu explorar una llista de tots els  selectors CSS organitzats per tipus i una llista de conceptes clau CSS. També s'inclou una breu referència DOM-CSS / CSSOM.

+ +

Sintaxi de regla bàsica

+ +

Sintaxi de regla d'estil

+ +
selectorlist {
+  property: value;
+  [more property:value; pairs]
+}
+
+... where selectorlist is: selector[:pseudo-class] [::pseudo-element] [, more selectorlists]
+
+See selector, pseudo-class, pseudo-element lists below.
+
+ +

Exemples de regla d'estil

+ +
strong {
+  color: red;
+}
+
+div.menu-bar li:hover > ul {
+  display: block;
+}
+
+ +

Per a una introducció a nivell de principiant a la sintaxi de selectors CSS, consulteu aquest tutorial. Tingueu en compte que qualsevol error de sintaxi CSS en una definició de regla invalida tota la regla. Les regles no vàlides són ignorades pel navegador. Tingueu en compte que les definicions de la regla CSS són totalment basades en text (ASCII), mentre que DOM-CSS / CSSOM (el sistema de gestió de regles) està basat en objectes.

+ +

Sintaxi de regla-At (At-rule)

+ +

As the structure of at-rules varies widely, please see At-rule to find the syntax of the specific one you want.

+ +

Índex de paraules clau (Keyword)

+ +
{{CSS_Ref}}
+ +

Selectors

+ +

Selectors Bàsics

+ + + +

Combinadors

+ + + +

Pseudo-classes

+ +
+ +
+ +

Pseudo-elements

+ +
+ +
+ +
+

Vegeu també: Una llista completa de selectors en l'especificació Selectors Level 3.

+
+ +

Conceptes

+ +

Sintaxi i semàntica

+ + + +

Valors

+ + + +

Disseny

+ + + +

DOM-CSS / CSSOM

+ +

Tipus d'objectes principals

+ + + +

Mètodes importants

+ + + +

Vegeu també

+ + diff --git "a/files/ca/web/css/refer\303\251ncia_css/index.html" "b/files/ca/web/css/refer\303\251ncia_css/index.html" deleted file mode 100644 index 739dcdc9e3..0000000000 --- "a/files/ca/web/css/refer\303\251ncia_css/index.html" +++ /dev/null @@ -1,206 +0,0 @@ ---- -title: Referéncia CSS -slug: Web/CSS/Referéncia_CSS -tags: - - CSS - - Reference - - 'l10n:priority' -translation_of: Web/CSS/Reference ---- -

Utilitzeu aquesta referència CSS per explorar un índex alfabètic de totes les propietats CSS estàndard , pseudo-classes, pseudo-elements, tipus de dades, i regles-at. També podeu explorar una llista de tots els  selectors CSS organitzats per tipus i una llista de conceptes clau CSS. També s'inclou una breu referència DOM-CSS / CSSOM.

- -

Sintaxi de regla bàsica

- -

Sintaxi de regla d'estil

- -
selectorlist {
-  property: value;
-  [more property:value; pairs]
-}
-
-... where selectorlist is: selector[:pseudo-class] [::pseudo-element] [, more selectorlists]
-
-See selector, pseudo-class, pseudo-element lists below.
-
- -

Exemples de regla d'estil

- -
strong {
-  color: red;
-}
-
-div.menu-bar li:hover > ul {
-  display: block;
-}
-
- -

Per a una introducció a nivell de principiant a la sintaxi de selectors CSS, consulteu aquest tutorial. Tingueu en compte que qualsevol error de sintaxi CSS en una definició de regla invalida tota la regla. Les regles no vàlides són ignorades pel navegador. Tingueu en compte que les definicions de la regla CSS són totalment basades en text (ASCII), mentre que DOM-CSS / CSSOM (el sistema de gestió de regles) està basat en objectes.

- -

Sintaxi de regla-At (At-rule)

- -

As the structure of at-rules varies widely, please see At-rule to find the syntax of the specific one you want.

- -

Índex de paraules clau (Keyword)

- -
{{CSS_Ref}}
- -

Selectors

- -

Selectors Bàsics

- - - -

Combinadors

- - - -

Pseudo-classes

- -
- -
- -

Pseudo-elements

- -
- -
- -
-

Vegeu també: Una llista completa de selectors en l'especificació Selectors Level 3.

-
- -

Conceptes

- -

Sintaxi i semàntica

- - - -

Valors

- - - -

Disseny

- - - -

DOM-CSS / CSSOM

- -

Tipus d'objectes principals

- - - -

Mètodes importants

- - - -

Vegeu també

- - diff --git a/files/ca/web/css/selectors_css/index.html b/files/ca/web/css/selectors_css/index.html deleted file mode 100644 index 9eaf8daffc..0000000000 --- a/files/ca/web/css/selectors_css/index.html +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: Selectors CSS -slug: Web/CSS/Selectors_CSS -tags: - - CSS - - CSS Selectors - - Overview - - Reference - - Selectors -translation_of: Web/CSS/CSS_Selectors ---- -
{{CSSRef}}
- -

Els Selectors CSS defineixen els elements als quals s'aplica un conjunt de normes CSS.

- -

Selectors Bàsics

- -
-
Selector de tipus
-
Selecciona tots els elements que coincideixen amb el nom del node donat.
- Sintaxi: eltname
- Exemple: input coincidirà amb qualsevol element {{HTMLElement('input')}}
-
Selector de clase
-
Selecciona tots els elements que tenen l'atribut class donat.
- Sintaxi: .classname
- Exemple: .index coincidirà amb qualsevol element que tingui una classe "index"
-
Selector de ID
-
Selecciona un element basat en el valor del seu atribut id. Només hi ha d'haver un element amb una ID determinat en un document.
- Sintaxi: #idname
- Exemple: #toc coincidiran amb l'element que té l'ID "toc".
-
Selector universal
-
Selecciona tots els elements. De manera opcional, pot estar restringit a un espai de noms específic o a tots els espais de noms.
- Sintaxi: * ns|* *|*
- Exemple: * coincideix amb tots els elements del document.
-
Selector d'atribut
-
Selecciona elements basats en el valor de l'atribut donat.
- Sintaxi: [attr] [attr=value] [attr~=value] [attr|=value] [attr^=value] [attr$=value] [attr*=value]
- Exemple: [autoplay] coincidiran tots els elements que tenen establert l'atribut autoplay (a qualsevol valor).
-
- -

Combinadors

- -
-
Combinador de germans adjacents
-
El combinador + selecciona els germans adjacents. Això significa que el segon element segueix directament el primer, i ambdós comparteixen el mateix pare.
- Sintaxi: A + B
- Exemple: h2 + p coincidirà amb tots el elements {{HTMLElement('p')}} que segueixen directament un {{HTMLElement('h2')}}.
-
Combinador general de germans
-
El combinador ~ selecciona els germans. Això significa que el segon element segueix el primer (encara que no necessàriament de forma immediata), i tots dos comparteixen el mateix pare.
- Sintaxi: A ~ B
- Exemple: p ~ span coincidirà amb tots els elements {{HTMLElement('span')}} que segueixen un {{HTMLElement('p')}}.
-
Combinador de fills
-
El combinador > selecciona els nodes que són fills directes del primer element.
- Sintaxi: A > B
- Exemple: ul > li coincidirà amb tots els elements {{HTMLElement('li')}} que estan niats directament dins d'un element {{HTMLElement('ul')}}.
-
Combinador de descendents
-
El combinador    selecciona els nodes que són descendents del primer element.
- Sintaxi: A B
- Exemple: div span coincidirà amb tots els elements {{HTMLElement('span')}} que es troben dins d'un element {{HTMLElement('div')}}.
-
- -

Pseudo-classes

- -

Pseudo-classes permeten la selecció d'elements basats en informació d'estat que no es troba a l'arbre del document.

- -

Exemple: a:visited coincidirà amb tots els elements {{HTMLElement('a')}} que hagi visitat l'usuari.

- -

Pseudo-elements

- -

Pseudo-elements representen entitats que no estan incloses en HTML.

- -

Exemple: p::first-line coincidirà amb la primera línia de tots els elements {{HTMLElement('p')}}.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors')}}{{Spec2('CSS4 Selectors')}}
{{SpecName('CSS3 Selectors')}}{{Spec2('CSS3 Selectors')}}
{{SpecName('CSS2.1', 'selector.html')}}{{Spec2('CSS2.1')}}
{{SpecName('CSS1')}}{{Spec2('CSS1')}}Definició inicial
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
DescripcióChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic1{{CompatGeckoDesktop("1")}}3.03.51.0
-
- -
- - - - - - - - - - - - - - - - - - - -
DescripcióAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic1.5{{CompatGeckoMobile("1.9.2")}}{{CompatUnknown}}{{CompatUnknown}}3.2
-
diff --git a/files/ca/web/css/selectors_css/using_the__colon_target_pseudo-class_in_selectors/index.html b/files/ca/web/css/selectors_css/using_the__colon_target_pseudo-class_in_selectors/index.html deleted file mode 100644 index 53339b06e5..0000000000 --- a/files/ca/web/css/selectors_css/using_the__colon_target_pseudo-class_in_selectors/index.html +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: 'Ùs de la pseudo-class :target en selectors' -slug: 'Web/CSS/Selectors_CSS/Using_the_:target_pseudo-class_in_selectors' -tags: - - ':target' - - CSS - - Guide - - Reference - - Selectors -translation_of: 'Web/CSS/CSS_Selectors/Using_the_:target_pseudo-class_in_selectors' ---- -
{{CSSRef}}
- -

Quan una URL apunta a una peça específica d'un document, pot ser difícil per a l'usuari adonar-se. Esbrineu com podeu fer servir algun CSS senzill per cridar l'atenció sobre el destí d'una URL i millorar l'experiència de l'usuari.

- -

Triar un destí

- -

La pseudo-class {{ Cssxref(":target") }}s'utilitza per aplicar estil a l'element de destinació d'un URI que conté un identificador de fragment. Per exemple, l'URI http://developer.mozilla.org/en/docs/Using_the_:target_selector#example conté el identificador de fragment #example. En HTML, els identificadors corresponent els valors dels atributs id o name, ja que tots dos comparteixen el mateix espai de noms. Per tant, l'URI d'exemple assenyalaria l'encapçalament "example" en aquest document.

- -

Suposem que desitjeu donar estil a qualsevol element h2 que és el destí d'un URI, però no voleu que qualsevol altre tipus d'element aconsegueixi un estil de destinació. Això és bastant simple:

- -
h2:target {font-weight: bold;}
- -

També és possible crear estils que siguin específics d'un fragment en particular del document. Això es realitza utilitzant el mateix valor de la identificació que es troba en l'URI. Per tant, per afegir una vora al fragment #example, escriuríem:

- -
#example:target {border: 1px solid black;}
- -

Dirigit a tots els elements

- -

Si la intenció és crear un estil "ampli" que s'apliqui a tots els elements seleccionats, llavors el selector universal, ve molt bé:

- -
:target {color: red;}
-
- -

Exemple

- -

En el següent exemple, hi ha cinc enllaços que apunten a elements en el mateix document. En seleccionar l'enllaç "First", per exemple, farà que <h1 id = "one"> es converteixi en l'element de destinació. Recordeu que el document pot saltar a una nova posició de desplaçament, ja que els elements de destinació es col·loquen a la part superior de la finestra del navegador si és possible.

- -
-
<h4 id="one">...</h4> <p id="two">...</p>
-<div id="three">...</div> <a id="four">...</a> <em id="five">...</em>
-
-<a href="#one">First</a>
-<a href="#two">Second</a>
-<a href="#three">Third</a>
-<a href="#four">Fourth</a>
-<a href="#five">Fifth</a>
-
- -

Conclusió

- -

En els casos en què un identificador de fragment apunti a una part del document, els lectors poden arribar a confondre's sobre quina part del document se suposa que han d'estar llegint. El donar estil a la destinació d'un URI, podem reduïr o eliminar la confusió del lector.

- - - - - -
-

Informació del document original

- - -
diff --git a/files/ca/web/css/selectors_d'atribut/index.html b/files/ca/web/css/selectors_d'atribut/index.html deleted file mode 100644 index 6778a2b3cb..0000000000 --- a/files/ca/web/css/selectors_d'atribut/index.html +++ /dev/null @@ -1,250 +0,0 @@ ---- -title: Selector Atribut -slug: Web/CSS/Selectors_d'Atribut -tags: - - Beginner - - CSS - - Reference - - Selectors -translation_of: Web/CSS/Attribute_selectors ---- -
{{CSSRef}}
- -

El selector attribute CSS coincideix amb elements basats en la presència o el valor d'un atribut donat.

- -
/* <a> elements amb l'atribut title */
-a[title] {
-  color: purple;
-}
-
-/* elements <a> amb una coincidència href "https://example.org" */
-a[href="https://example.org"] {
-  color: green;
-}
-
-/* elements <a> amb un href contenint "example" */
-a[href*="example"] {
-  font-size: 2em;
-}
-
-/* elements <a> amb un href amb una terminació ".org" */
-a[href$=".org"] {
-  font-style: italic;
-}
- -
-
[attr]
-
Representa un element amb un nom d'atribut attr.
-
[attr=value]
-
Representa un element amb un nom d'atribut attr el valor del qual és exactament value.
-
[attr~=value]
-
Representa un element amb un nom d'atribut attr el valor del qual és una llista de paraules separades per espais en blanc, una de les quals és exactament value.
-
[attr|=value]
-
Representa un element amb un nom d'atribut attr el valor del qual pot ser exactament value o pot començar amb value immediatament seguit d'un guió, - (U+002D). Sovint s'utilitza per coincidències de subcodis de llenguatge.
-
[attr^=value]
-
Representa un element amb un nom d'atribut attr el valor del qual està prefixat (precedit) per value.
-
[attr$=value]
-
Representa un element amb un nom d'atribut attr el valor del qual és sufix (següit) per value.
-
[attr*=value]
-
Representa un element amb un nom d'atribut attr el valor del qual conté almenys una ocurrència value dins de la cadena.
-
[attr operator value i]
-
En afegir una i (o I) abans del claudàtor de tancament, el valor es compara entre majúscules i minúscules (per a caràcters dins del rang ASCII).
-
- -

Exemples

- - - -

CSS

- -
a {
-  color: blue;
-}
-
-/* Internal links, beginning with "#" */
-a[href^="#"] {
-  background-color: gold;
-}
-
-/* Links with "example" anywhere in the URL */
-a[href*="example"] {
-  background-color: silver;
-}
-
-/* Links with "insensitive" anywhere in the URL,
-   regardless of capitalization */
-a[href*="insensitive" i] {
-  color: cyan;
-}
-
-/* Links that end in ".org" */
-a[href$=".org"] {
-  color: red;
-}
-
- -

HTML

- -
<ul>
-  <li><a href="#internal">Internal link</a></li>
-  <li><a href="http://example.com">Example link</a></li>
-  <li><a href="#InSensitive">Insensitive internal link</a></li>
-  <li><a href="http://example.org">Example org link</a></li>
-</ul>
- -

Resultat

- -

{{EmbedLiveSample('Links')}}

- -

Llengües

- -

CSS

- -
/* Tots els divs amb un atribut `lang` són en negreta. */
-div[lang] {
-  font-weight: bold;
-}
-
-/* Tots els divs en US Anglès són blaus. */
-div[lang~="en-us"] {
-  color: blue;
-}
-
-/* Tots els divs en Portuguès són verds. */
-div[lang="pt"] {
-  color: green;
-}
-
-/* Tots els divs en Xinès són vermells, ja sigui
-   simplificat (zh-CN) o tradicional (zh-TW). */
-div[lang|="zh"] {
-  color: red;
-}
-
-/* Tots els divs en Xinès Traditional
-   `data-lang` són porpra */
-/* Nota: També podeu utilitzar atributs amb guions sense cometes dobles */
-div[data-lang="zh-TW"] {
-  color: purple;
-}
-
- -

HTML

- -
<div lang="en-us en-gb en-au en-nz">Hello World!</div>
-<div lang="pt">Olá Mundo!</div>
-<div lang="zh-CN">世界您好!</div>
-<div lang="zh-TW">世界您好!</div>
-<div data-lang="zh-TW">?世界您好!</div>
-
- -

Resultat

- -

{{EmbedLiveSample('Languages')}}

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#attribute-selectors', 'attribute selectors')}}{{Spec2('CSS4 Selectors')}}Afegit modificador per a la selecció del valor d'atribut ASCII sense distinció de majúscules i minúscules.
{{SpecName('CSS3 Selectors', '#attribute-selectors', 'attribute selectors')}}{{Spec2('CSS3 Selectors')}} 
{{SpecName('CSS2.1', 'selector.html#attribute-selectors', 'attribute selectors')}}{{Spec2('CSS2.1')}}Definició inicial
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("1")}}793
Modificador sense distinció de majúscules i minúscules{{CompatChrome(49.0)}}{{CompatNo}}{{CompatGeckoDesktop("47.0")}}{{CompatUnknown}}{{CompatOpera(36)}}{{CompatSafari(9)}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari MobileChrome for Android
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}
Modificador sense distinció de majúscules i minúscules{{CompatUnknown}}{{CompatChrome(49.0)}}{{CompatNo}}{{CompatGeckoMobile("47.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatSafari(9)}}{{CompatChrome(49.0)}}
-
diff --git a/files/ca/web/css/selectors_de_classe/index.html b/files/ca/web/css/selectors_de_classe/index.html deleted file mode 100644 index 1f8cfdbee4..0000000000 --- a/files/ca/web/css/selectors_de_classe/index.html +++ /dev/null @@ -1,139 +0,0 @@ ---- -title: Selector Class -slug: Web/CSS/Selectors_de_Classe -tags: - - CSS - - Reference - - Selectors -translation_of: Web/CSS/Class_selectors ---- -
{{CSSRef}}
- -

El selector class CSS coincideix amb elements basats en el contingut de l'atribut {{htmlattrxref("class")}}.

- -
/* Tots els elements amb class="spacious" */
-.spacious {
-  margin: 2em;
-}
-
-/* Tots els elements <li> amb class="spacious" */
-li.spacious {
-  margin: 2em;
-}
- -

Sintaxi

- -
.classname { style properties }
- -

Recordeu que això és equivalent al següent {{Cssxref("Attribute_selectors", "attribute selector")}}:

- -
[class~=classname] { style properties }
- -

Exemple

- -

CSS

- -
div.classy {
-  background-color: skyblue;
-}
-
- -

HTML

- -
<div class="classy">This div has a special class on it!</div>
-<div>This is just a regular div.</div>
-
- -

Resultat

- -

{{EmbedLiveSample('Example', '100%', 50)}}

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#class-html', 'class selectors')}}{{Spec2('CSS4 Selectors')}}Sense canvis
{{SpecName('CSS3 Selectors', '#class-html', 'class selectors')}}{{Spec2('CSS3 Selectors')}} 
{{SpecName('CSS2.1', 'selector.html#class-html', 'child selectors')}}{{Spec2('CSS2.1')}} 
{{SpecName('CSS1', '#class-as-selector', 'child selectors')}}{{Spec2('CSS1')}}Definició inicial
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
diff --git a/files/ca/web/css/selectors_de_descendents/index.html b/files/ca/web/css/selectors_de_descendents/index.html deleted file mode 100644 index 1eb4fd57f8..0000000000 --- a/files/ca/web/css/selectors_de_descendents/index.html +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: Selectors de descendents -slug: Web/CSS/Selectors_de_descendents -tags: - - CSS - - Reference - - Selectors -translation_of: Web/CSS/Descendant_combinator ---- -
{{CSSRef("Selectors")}}
- -

El combinador descendent - en general representat per un  únic caràcter d'espai ( ) - combina dos selectors de tal manera que els elements que coincideixen amb el segon selector se seleccionen si tenen un element ancestral que coincideixi amb el primer selector. Els selectors que utilitzen un combinador descendent s'anomenen selectors de descendents.

- -
/* Llista els elemenst que són descendsnts de la llista "my-things" */
-ul.my-things li {
-  margin: 2em;
-}
- -

El combinador descendent és tècnicament un o més caràcters d'espais en blanc {{Glossary("CSS")}} - el caràcter d'espai en blanc i/o un dels quatre caràcters de control: retorn de carro, avanç de pàgina, nova línia i caràcters de tabulació - entre dos selectors en absència d'un altre combinador. A més, els caràcters d'espai en blanc de les que es compon el combinador poden contenir qualsevol nombre de comentaris CSS.

- -

La naturalesa abstracta d'aquest combinador el fa diferent dels altres combinadors estandarditzats ja que aquests combinadors estan representats per una seqüència de caràcters finits diferents. Aquesta inconsistència es va tractar afegint un combinador descendent redundant representat per dos caràcters, més gran que  (>>), amb seqüència, donant-li una forma que és particularment similar a la del combinador fill, que comparteix una funció similar.

- -

Sintaxi

- -
selector1 selector2 { /* property declarations */ }
-
- -
selector1 >> selector2 { /* property declarations */ }
-
- -

Exemple

- -

CSS

- -
li {
-  list-style-type: disc;
-}
-
-li li {
-  list-style-type: circle;
-}
-
- -

HTML

- -
<ul>
-  <li>
-    <div>Item 1</div>
-    <ul>
-      <li>Subitem A</li>
-      <li>Subitem B</li>
-    </ul>
-  </li>
-  <li>
-    <div>Item 2</div>
-    <ul>
-      <li>Subitem A</li>
-      <li>Subitem B</li>
-    </ul>
-  </li>
-</ul>
-
- -

Resultat

- -

{{EmbedLiveSample('Example', 200, 160)}}

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#descendant-combinators', 'descendant combinator')}}{{Spec2('CSS4 Selectors')}}>> introduït com combinador descendent a més de l'espai en blanc com combinador.
{{SpecName('CSS3 Selectors', '#descendant-combinators', 'descendant combinator')}}{{Spec2('CSS3 Selectors')}} 
{{SpecName('CSS2.1', 'selector.html#descendant-selectors', 'descendant selectors')}}{{Spec2('CSS2.1')}} 
{{SpecName('CSS1', '#contextual-selectors', 'contextual selectors')}}{{Spec2('CSS1')}}Definició inicial
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Tipus >>{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatSafari("10")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DescripcióAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Tipus >>{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
diff --git a/files/ca/web/css/selectors_de_fills/index.html b/files/ca/web/css/selectors_de_fills/index.html deleted file mode 100644 index f5cb8139f9..0000000000 --- a/files/ca/web/css/selectors_de_fills/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Combinador de fills -slug: Web/CSS/Selectors_de_fills -tags: - - CSS - - NeedsMobileBrowserCompatibility - - Reference - - Selectors -translation_of: Web/CSS/Child_combinator ---- -
{{CSSRef("Selectors")}}
- -

El combinador de fills (>) es col·loca entre dos selectors CSS. Solament coincideix amb aquells elements que coincideixen amb el segon selector que són fills d'elements que coincideixen amb el primer.

- -
/* Enumera els elements que són fills de la llista "my-things" */
-ul.my-things > li {
-  margin: 2em;
-}
- -

Els elements que coincideixin amb el segon selector han de ser els fills immediats dels elements que coincideixin amb el primer selector. Això és més estricte que el selector descendent, que coincideix amb tots els elements que coincideixen amb el segon selector per al qual existeix un element ancestral coincident amb el primer selector, independentment de la quantitat de "salts" en el DOM

- -

Sintaxi

- -
selector1 > selector2 { style properties }
-
- -

Exemple

- -

CSS

- -
span {
-  background-color: white;
-}
-
-div > span {
-  background-color: DodgerBlue;
-}
-
- -

HTML

- -
<div>
-  <span>Span #1, in the div.
-    <span>Span #2, in the span that's in the div.</span>
-  </span>
-</div>
-<span>Span #3, not in the div at all.</span>
-
- -

Resultat

- -

{{EmbedLiveSample("Example", 200, 100)}}

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#child-combinators', 'child combinator')}}{{Spec2('CSS4 Selectors')}} 
{{SpecName('CSS3 Selectors', '#child-combinators', 'child combinators')}}{{Spec2('CSS3 Selectors')}}Sense canvis
{{SpecName('CSS2.1', 'selector.html#child-selectors', 'child selectors')}}{{Spec2('CSS2.1')}}Definició inicial
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}7.0{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
diff --git a/files/ca/web/css/selectors_de_germans_adjacents/index.html b/files/ca/web/css/selectors_de_germans_adjacents/index.html deleted file mode 100644 index 911a395693..0000000000 --- a/files/ca/web/css/selectors_de_germans_adjacents/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Combinador de germans adjacents -slug: Web/CSS/Selectors_de_germans_adjacents -tags: - - CSS - - NeedsMobileBrowserCompatibility - - Reference - - Selectors -translation_of: Web/CSS/Adjacent_sibling_combinator ---- -
{{CSSRef("Selectors")}}
- -

El combinador de germans adjacents (+) separa dos selectors i només coincideix amb el segon element si segueix immediatament el primer element, i tots dos són fills del mateix pare {{domxref("element")}}.

- -
/* Paràgrafs que vénen immediatament després de qualsevol imatge */
-img + p {
-  font-style: bold;
-}
- -

Sintaxi

- -
former_element + target_element { style properties }
-
- -

Exemple

- -

CSS

- -
li:first-of-type + li {
-  color: red;
-}
-
- -

HTML

- -
<ul>
-  <li>One</li>
-  <li>Two!</li>
-  <li>Three</li>
-</ul>
- -

Resultat

- -

{{EmbedLiveSample('Example', 200, 100)}}

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#adjacent-sibling-combinators', 'next-sibling combinator')}}{{Spec2('CSS4 Selectors')}}Li dóna un nou nom al combinador "next-sibling".
{{SpecName('CSS3 Selectors', '#adjacent-sibling-combinators', 'Adjacent sibling combinator')}}{{Spec2('CSS3 Selectors')}} 
{{SpecName('CSS2.1', 'selector.html#adjacent-selectors', 'Adjacent sibling selectors')}}{{Spec2('CSS2.1')}}Definició inicial
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}7.0[1]{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióAndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic2.1{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

[1] Internet Explorer 7 no actualitza l'estil correctament quan un element es col·loca dinàmicament abans d'un element que coincideixi amb el selector. En Internet Explorer 8, si un element s'insereix dinàmicament fent clic en un enllaç, l'estil del primer fill no s'aplicarà fins que l'enllaç perdi el focus.

- -

Vegeu també

- - diff --git a/files/ca/web/css/selectors_de_tipus/index.html b/files/ca/web/css/selectors_de_tipus/index.html deleted file mode 100644 index d87b102ac3..0000000000 --- a/files/ca/web/css/selectors_de_tipus/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Selector Type -slug: Web/CSS/Selectors_de_Tipus -tags: - - CSS - - HTML - - NeedsMobileBrowserCompatibility - - Node - - Reference - - Selectors -translation_of: Web/CSS/Type_selectors ---- -
{{CSSRef}}
- -

El selector type CSS coincideix amb elements per nom del node. En altres paraules, selecciona tots els elements del tipus donat dins d'un document.

- -
/* Tots els elements <a>. */
-a {
-  color: purple;
-}
- -

Sintaxi

- -
element { style properties }
-
- -

Exemple

- -

CSS

- -
span {
-  background-color: skyblue;
-}
-
- -

HTML

- -
<span>Here's a span with some text.</span>
-<p>Here's a p with some text.</p>
-<span>Here's a span with more text.</span>
-
- -

Resultat

- -

{{EmbedLiveSample('Example', '100%', 150)}}

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#type-selectors', 'Type (tag name) selector')}}{{Spec2('CSS4 Selectors')}}Sense canvis
{{SpecName('CSS3 Selectors', '#type-selectors', 'type selectors')}}{{Spec2('CSS3 Selectors')}}Sense canvis
{{SpecName('CSS2.1', 'selector.html#type-selectors', 'type selectors')}}{{Spec2('CSS2.1')}} 
{{SpecName('CSS1', '#basic-concepts', 'type selectors')}}{{Spec2('CSS1')}}Definició inicial
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
diff --git a/files/ca/web/css/selectors_general_de_germans/index.html b/files/ca/web/css/selectors_general_de_germans/index.html deleted file mode 100644 index 64429bbaba..0000000000 --- a/files/ca/web/css/selectors_general_de_germans/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Combinador general de germans -slug: Web/CSS/Selectors_general_de_germans -tags: - - CSS - - NeedsMobileBrowserCompatibility - - Reference - - Selectors -translation_of: Web/CSS/General_sibling_combinator ---- -
{{CSSRef("Selectors")}}
- -

El combinador general de germans (~) separa dos selectors i només coincideix amb el segon element si segueix el primer element (encara que no necessàriament immediatament), i tots dos són fills del mateix pare {{domxref("element")}}.

- -
/* Paràgrafs que són germans i posteriors a qualsevol imatge */
-img ~ p {
-  color: red;
-}
- -

Sintaxi

- -
element ~ element { style properties }
-
- -

Exemple

- -

CSS

- -
p ~ span {
-  color: red;
-}
- -

HTML

- -
<span>This is not red.</span>
-<p>Here is a paragraph.</p>
-<code>Here is some code.</code>
-<span>And here is a red span!</span>
-<code>More code...</code>
-<span>And this is a red span!</span>
-
- -

Resultat

- -

{{ EmbedLiveSample('Example', 280, 120) }}

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{ SpecName('CSS4 Selectors', '#general-sibling-combinators', 'following-sibling combinator') }}{{Spec2('CSS4 Selectors')}}Li dona un nou nom al combinador "subsequent-sibling"
{{ SpecName('CSS3 Selectors', '#general-sibling-combinators', 'general sibling combinator') }}{{Spec2('CSS3 Selectors')}}Definició inicial.
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic1.0{{CompatVersionUnknown}}{{CompatGeckoDesktop("1")}}793
-
- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióFirefox Mobile (Gecko)AndroidEdgeIE PhoneOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Veure

- - diff --git a/files/ca/web/css/selectors_id/index.html b/files/ca/web/css/selectors_id/index.html deleted file mode 100644 index 1b6f041eb6..0000000000 --- a/files/ca/web/css/selectors_id/index.html +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Selector ID -slug: Web/CSS/Selectors_ID -tags: - - CSS - - Reference - - Selectors -translation_of: Web/CSS/ID_selectors ---- -
{{CSSRef}}
- -

En un document HTML, el selector ID CSS coincideix amb un element basat en el valor del seu atribut {{htmlattrxref("ID")}}. L'atribut ID de l'element seleccionat ha de coincidir exactament amb el valor indicat en el selector

- -
/* The element with id="demo" */
-div#demo {
-  border: red 2px solid;
-}
- -

Sintaxi

- -
#id_value { style properties }
- -

Recordeu que això és equivalent al següent {{Cssxref("Attribute_selectors", "attribute selector")}}:

- -
[id=id_value] { style properties }
- -

Exemple

- -

CSS

- -
div#identified {
-  background-color: skyblue;
-}
-
- -

HTML

- -
<div id="identified">This div has a special ID on it!</div>
-<div>This is just a regular div.</div>
-
- -

Resultat

- -

{{EmbedLiveSample("Example", '100%', 50)}}

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName("CSS4 Selectors", "#id-selectors", "ID selectors")}}{{Spec2("CSS4 Selectors")}} 
{{SpecName("CSS3 Selectors", "#id-selectors", "ID selectors")}}{{Spec2("CSS3 Selectors")}} 
{{SpecName("CSS2.1", "selector.html#id-selectors", "ID selectors")}}{{Spec2("CSS2.1")}} 
{{SpecName("CSS1", "#id-as-selector", "ID selectors")}}{{Spec2("CSS1")}}Definició inicial
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - -
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
diff --git a/files/ca/web/css/selectors_universal/index.html b/files/ca/web/css/selectors_universal/index.html deleted file mode 100644 index 6aa7931ef9..0000000000 --- a/files/ca/web/css/selectors_universal/index.html +++ /dev/null @@ -1,176 +0,0 @@ ---- -title: Selector Universal -slug: Web/CSS/Selectors_Universal -tags: - - CSS - - NeedsBrowserCompatibility - - NeedsMobileBrowserCompatibility - - Reference - - Selectors -translation_of: Web/CSS/Universal_selectors ---- -
{{CSSRef}}
- -

El selector universal CSS (*) coincideix amb elements de qualsevol tipus.

- -
/* Selecciona tots els elements */
-* {
-  color: green;
-}
- -

A partir de CSS3, l'asterisc pot ser usat en combinació amb {{cssxref("CSS_Namespaces", "namespaces")}}:

- - - -

Sintaxi

- -
* { style properties }
- -

L'asterisc és opcional amb selectors simples . Per exemple , *.warning i .warning són equivalents.

- -

Exemples

- -

CSS

- -
* [lang^=en] {
-  color: green;
-}
-
-*.warning {
-  color: red;
-}
-
-*#maincontent {
-  border: 1px solid blue;
-}
-
-.floating {
-  float: left
-}
-
-/* automatically clear the next sibling after a floating element */
-.floating + * {
-  clear: left;
-}
-
- -

HTML

- -
<p class="warning">
-  <span lang="en-us">A green span</span> in a red paragraph.</span>
-</p>
-<p id="maincontent" lang="en-gb">
-  <span class="warning">A red span</span> in a green paragraph.</span>
-</p>
- -

Resultat

- -

{{EmbedLiveSample('Examples')}}

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#the-universal-selector', 'universal selector')}}{{Spec2('CSS4 Selectors')}}Sense canvis
{{SpecName('CSS3 Selectors', '#universal-selector', 'universal selector')}}{{Spec2('CSS3 Selectors')}}Defineix el comportament pel que fa als espais de noms i afegeix suggeriments que permeten ometre el selector dins de pseudo-elements
{{SpecName('CSS2.1', 'selector.html#universal-selector', 'universal selector')}}{{Spec2('CSS2.1')}}Definició inicial
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("1")}}7{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Combinació amb suport d'espai de noms{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("1")}}981.3
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Combinació amb suport d'espai de noms{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
diff --git a/files/ca/web/css/sintaxi/index.html b/files/ca/web/css/sintaxi/index.html deleted file mode 100644 index 51931c11f0..0000000000 --- a/files/ca/web/css/sintaxi/index.html +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Sintaxi -slug: Web/CSS/Sintaxi -tags: - - CSS - - Guide - - Reference - - Web -translation_of: Web/CSS/Syntax ---- -
{{cssref}}
- -

L'objectiu bàsic del llenguatge de la Fulla d'Estil en Cascada (CSS) és permetre que un motor del navegador pinti elements de la pàgina amb característiques específiques, com ara colors, posicionament o decoracions. La sintaxi CSS reflecteix aquest objectiu i els seus components bàsics són:

- - - -

Declaracions CSS

- -

Establir propietats CSS a valors específics és la funció principal del llenguatge CSS. Un parell de propietats i valors s'anomena declaració, i qualsevol motor CSS calcula quines declaracions s'apliquen a cada element d'una pàgina per tal d'establir-la de forma adequada i definir-la.

- -

Les dues propietats i els valors no són sensibles a majúscules i minúscules de manera predeterminada a CSS. El parell està separat per dos punts, ':' (U + 003A COLON), i els espais en blanc abans, entre i després de les propietats i valors, però no necessàriament a l'interior, s'ignoren.

- -

css syntax - declaration.png

- -

Hi ha més de 100 propiertats diferents en CSS i un nombre gairebé infinit de valors diferents. No es permeten tots els parells de propietats i valors i cada propietat defineix quins són els valors vàlids. Quan un valor no és vàlid per a una propietat determinada, la declaració es considera invàlida i és totalment ignorada per el motor CSS .

- -

Blocs de declaracions CSS

- -

Les declaracions s'agrupen en blocs, és a dir, en una estructura delimitada per una clau d'obertura, '{' (U+007B LEFT CURLY BRACKET), i una de tancament, '}' (U+007D RIGHT CURLY BRACKET). Els blocs de vegades poden ser niats, de manera que les claus d'oberture i tancament han de coincidir.

- -

css syntax - block.png

- -

Aquests blocs són naturalment anomenats blocs de declaració i les declaracions dins d'elles estan separades per un punt i coma, ';' (U + 003B SEMICOLON). Un bloc de declaració pot estar buit, aixó és, que conté una declaració nul·la. Els espais en blanc al voltant de les declaracions s'ignoren. L'última declaració d'un bloc no necessita ser acabada per un punt i coma, tot i que sovint es considera un bon estil per fer-ho ja que evita oblidar-se d'afegir-lo quan s'estén el bloc amb una altra declaració.

- -

css syntax - declarations block.png

- -
El contingut d'un bloc de declaració CSS, és una llista de declaracions separades per punt i coma, sense les claus inicials i de tancament, es pot incloure dins d'un atribut d'estil.
- -

Regles de CSS

- -

Si les fulles d'estil només poguessin aplicar una declaració a cada element d'una pàgina web, serien bastant inútils. L'objectiu real és aplicar diferents declaracions a diferents parts del document.

- -

CSS ho permet associant condicions amb blocs de declaracions. Cada bloc de declaració (vàlid) està precedit d'un o més selectors que són condicions que seleccionen alguns elements de la pàgina. El bloc de declaracions d'un grup de parells de selectors s'anomena un conjunt de regles (ruleset), o sovint només una regla (rule).

- -

css syntax - ruleset.png

- -

Com que un element de la pàgina pot coincidir amb diversos selectors i, per tant, amb diverses regles que poden incloure una propietat determinada en diverses ocasions, amb valors diferents, l'estàndard CSS defineix quina té prioritat sobre l'altra i s'ha d'aplicar: això s'anomena algorisme en cascade.

- -
És important notar que fins i tot si un conjunt de regles caracteritzat per un grup de selectors és una espècie d'abreviatura que reemplaça els conjunts de regles amb un sol selector cadascun, això no s'aplica a la validesa del conjunt de regles en si.
-
-Això dóna lloc a una conseqüència important: si un únic selector bàsic no és vàlid, com quan s'utilitza un pseudo-element o pseudo-classe desconegut, el selector sencer és invàlid i per tant s'ignora tota la regla (no és vàlida).
- -

Sentències CSS

- -

Els conjunts de regles són els blocs principals de construcció d'una fulla d'estil, que sovint només consisteixen en una gran llista d'elles. Però hi ha una altra informació que un autor web vol transmetre en la fulla d'estil, com el joc de caràcters, altres fulles d'estil externes per importar, descripcions de tipus de fonts o comptadors de llistes i molts més. Utilitzarà altres tipus específics de declaracions per fer-ho.

- -

Una declaració és un bloc de construcció que comença amb qualsevol caràcter que no sigui l'espai i que finalitza en la primera clau de tancament o punt i coma (fora d'una cadena, no escapada i no s'inclou en un altre parell de {}, () o []).

- -

css syntax - statements Venn diag.png

- -

Hi ha dos tipus de declaracions:

- - - -

Qualsevol declaració que no sigui un conjunt de regles (ruleset) o una at-rule no és vàlida i és ignorada.

- -

Hi ha un altre grup de declaracions – les declaracions niades. Aquestes són declaracions que es poden utilitzar en un subconjunt específic de regles-at – les regles de grup condicional. Aquestes declaracions només s'apliquen si es compleix una condició específica: el contingut de la regla-at @media només s'aplica si el dispositiu en què el navegador s'executa coincideix amb la condició expressada; el contingut de la regla-at @document només s'aplica si la pàgina actual coincideix amb algunes condicions, i així successivament. En CSS1 i CSS2.1, només es podien utilitzar conjunts de regles dins de les regles de grup condicional. Això va ser molt restrictiu i aquesta restricció es va aixecar en CSS Conditionals Level 3. Ara, tot i que encara és experimental i no és compatible amb tots els navegadors, les regles de grup condicional poden contenir un rang de contingut més ampli: però també alguns conjunts de regles, però no totes les regles-at.

- -

Vegeu també

- - diff --git a/files/ca/web/css/syntax/index.html b/files/ca/web/css/syntax/index.html new file mode 100644 index 0000000000..51931c11f0 --- /dev/null +++ b/files/ca/web/css/syntax/index.html @@ -0,0 +1,79 @@ +--- +title: Sintaxi +slug: Web/CSS/Sintaxi +tags: + - CSS + - Guide + - Reference + - Web +translation_of: Web/CSS/Syntax +--- +
{{cssref}}
+ +

L'objectiu bàsic del llenguatge de la Fulla d'Estil en Cascada (CSS) és permetre que un motor del navegador pinti elements de la pàgina amb característiques específiques, com ara colors, posicionament o decoracions. La sintaxi CSS reflecteix aquest objectiu i els seus components bàsics són:

+ + + +

Declaracions CSS

+ +

Establir propietats CSS a valors específics és la funció principal del llenguatge CSS. Un parell de propietats i valors s'anomena declaració, i qualsevol motor CSS calcula quines declaracions s'apliquen a cada element d'una pàgina per tal d'establir-la de forma adequada i definir-la.

+ +

Les dues propietats i els valors no són sensibles a majúscules i minúscules de manera predeterminada a CSS. El parell està separat per dos punts, ':' (U + 003A COLON), i els espais en blanc abans, entre i després de les propietats i valors, però no necessàriament a l'interior, s'ignoren.

+ +

css syntax - declaration.png

+ +

Hi ha més de 100 propiertats diferents en CSS i un nombre gairebé infinit de valors diferents. No es permeten tots els parells de propietats i valors i cada propietat defineix quins són els valors vàlids. Quan un valor no és vàlid per a una propietat determinada, la declaració es considera invàlida i és totalment ignorada per el motor CSS .

+ +

Blocs de declaracions CSS

+ +

Les declaracions s'agrupen en blocs, és a dir, en una estructura delimitada per una clau d'obertura, '{' (U+007B LEFT CURLY BRACKET), i una de tancament, '}' (U+007D RIGHT CURLY BRACKET). Els blocs de vegades poden ser niats, de manera que les claus d'oberture i tancament han de coincidir.

+ +

css syntax - block.png

+ +

Aquests blocs són naturalment anomenats blocs de declaració i les declaracions dins d'elles estan separades per un punt i coma, ';' (U + 003B SEMICOLON). Un bloc de declaració pot estar buit, aixó és, que conté una declaració nul·la. Els espais en blanc al voltant de les declaracions s'ignoren. L'última declaració d'un bloc no necessita ser acabada per un punt i coma, tot i que sovint es considera un bon estil per fer-ho ja que evita oblidar-se d'afegir-lo quan s'estén el bloc amb una altra declaració.

+ +

css syntax - declarations block.png

+ +
El contingut d'un bloc de declaració CSS, és una llista de declaracions separades per punt i coma, sense les claus inicials i de tancament, es pot incloure dins d'un atribut d'estil.
+ +

Regles de CSS

+ +

Si les fulles d'estil només poguessin aplicar una declaració a cada element d'una pàgina web, serien bastant inútils. L'objectiu real és aplicar diferents declaracions a diferents parts del document.

+ +

CSS ho permet associant condicions amb blocs de declaracions. Cada bloc de declaració (vàlid) està precedit d'un o més selectors que són condicions que seleccionen alguns elements de la pàgina. El bloc de declaracions d'un grup de parells de selectors s'anomena un conjunt de regles (ruleset), o sovint només una regla (rule).

+ +

css syntax - ruleset.png

+ +

Com que un element de la pàgina pot coincidir amb diversos selectors i, per tant, amb diverses regles que poden incloure una propietat determinada en diverses ocasions, amb valors diferents, l'estàndard CSS defineix quina té prioritat sobre l'altra i s'ha d'aplicar: això s'anomena algorisme en cascade.

+ +
És important notar que fins i tot si un conjunt de regles caracteritzat per un grup de selectors és una espècie d'abreviatura que reemplaça els conjunts de regles amb un sol selector cadascun, això no s'aplica a la validesa del conjunt de regles en si.
+
+Això dóna lloc a una conseqüència important: si un únic selector bàsic no és vàlid, com quan s'utilitza un pseudo-element o pseudo-classe desconegut, el selector sencer és invàlid i per tant s'ignora tota la regla (no és vàlida).
+ +

Sentències CSS

+ +

Els conjunts de regles són els blocs principals de construcció d'una fulla d'estil, que sovint només consisteixen en una gran llista d'elles. Però hi ha una altra informació que un autor web vol transmetre en la fulla d'estil, com el joc de caràcters, altres fulles d'estil externes per importar, descripcions de tipus de fonts o comptadors de llistes i molts més. Utilitzarà altres tipus específics de declaracions per fer-ho.

+ +

Una declaració és un bloc de construcció que comença amb qualsevol caràcter que no sigui l'espai i que finalitza en la primera clau de tancament o punt i coma (fora d'una cadena, no escapada i no s'inclou en un altre parell de {}, () o []).

+ +

css syntax - statements Venn diag.png

+ +

Hi ha dos tipus de declaracions:

+ + + +

Qualsevol declaració que no sigui un conjunt de regles (ruleset) o una at-rule no és vàlida i és ignorada.

+ +

Hi ha un altre grup de declaracions – les declaracions niades. Aquestes són declaracions que es poden utilitzar en un subconjunt específic de regles-at – les regles de grup condicional. Aquestes declaracions només s'apliquen si es compleix una condició específica: el contingut de la regla-at @media només s'aplica si el dispositiu en què el navegador s'executa coincideix amb la condició expressada; el contingut de la regla-at @document només s'aplica si la pàgina actual coincideix amb algunes condicions, i així successivament. En CSS1 i CSS2.1, només es podien utilitzar conjunts de regles dins de les regles de grup condicional. Això va ser molt restrictiu i aquesta restricció es va aixecar en CSS Conditionals Level 3. Ara, tot i que encara és experimental i no és compatible amb tots els navegadors, les regles de grup condicional poden contenir un rang de contingut més ampli: però també alguns conjunts de regles, però no totes les regles-at.

+ +

Vegeu també

+ + diff --git a/files/ca/web/css/type_selectors/index.html b/files/ca/web/css/type_selectors/index.html new file mode 100644 index 0000000000..d87b102ac3 --- /dev/null +++ b/files/ca/web/css/type_selectors/index.html @@ -0,0 +1,135 @@ +--- +title: Selector Type +slug: Web/CSS/Selectors_de_Tipus +tags: + - CSS + - HTML + - NeedsMobileBrowserCompatibility + - Node + - Reference + - Selectors +translation_of: Web/CSS/Type_selectors +--- +
{{CSSRef}}
+ +

El selector type CSS coincideix amb elements per nom del node. En altres paraules, selecciona tots els elements del tipus donat dins d'un document.

+ +
/* Tots els elements <a>. */
+a {
+  color: purple;
+}
+ +

Sintaxi

+ +
element { style properties }
+
+ +

Exemple

+ +

CSS

+ +
span {
+  background-color: skyblue;
+}
+
+ +

HTML

+ +
<span>Here's a span with some text.</span>
+<p>Here's a p with some text.</p>
+<span>Here's a span with more text.</span>
+
+ +

Resultat

+ +

{{EmbedLiveSample('Example', '100%', 150)}}

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#type-selectors', 'Type (tag name) selector')}}{{Spec2('CSS4 Selectors')}}Sense canvis
{{SpecName('CSS3 Selectors', '#type-selectors', 'type selectors')}}{{Spec2('CSS3 Selectors')}}Sense canvis
{{SpecName('CSS2.1', 'selector.html#type-selectors', 'type selectors')}}{{Spec2('CSS2.1')}} 
{{SpecName('CSS1', '#basic-concepts', 'type selectors')}}{{Spec2('CSS1')}}Definició inicial
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + +
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
diff --git a/files/ca/web/css/universal_selectors/index.html b/files/ca/web/css/universal_selectors/index.html new file mode 100644 index 0000000000..6aa7931ef9 --- /dev/null +++ b/files/ca/web/css/universal_selectors/index.html @@ -0,0 +1,176 @@ +--- +title: Selector Universal +slug: Web/CSS/Selectors_Universal +tags: + - CSS + - NeedsBrowserCompatibility + - NeedsMobileBrowserCompatibility + - Reference + - Selectors +translation_of: Web/CSS/Universal_selectors +--- +
{{CSSRef}}
+ +

El selector universal CSS (*) coincideix amb elements de qualsevol tipus.

+ +
/* Selecciona tots els elements */
+* {
+  color: green;
+}
+ +

A partir de CSS3, l'asterisc pot ser usat en combinació amb {{cssxref("CSS_Namespaces", "namespaces")}}:

+ + + +

Sintaxi

+ +
* { style properties }
+ +

L'asterisc és opcional amb selectors simples . Per exemple , *.warning i .warning són equivalents.

+ +

Exemples

+ +

CSS

+ +
* [lang^=en] {
+  color: green;
+}
+
+*.warning {
+  color: red;
+}
+
+*#maincontent {
+  border: 1px solid blue;
+}
+
+.floating {
+  float: left
+}
+
+/* automatically clear the next sibling after a floating element */
+.floating + * {
+  clear: left;
+}
+
+ +

HTML

+ +
<p class="warning">
+  <span lang="en-us">A green span</span> in a red paragraph.</span>
+</p>
+<p id="maincontent" lang="en-gb">
+  <span class="warning">A red span</span> in a green paragraph.</span>
+</p>
+ +

Resultat

+ +

{{EmbedLiveSample('Examples')}}

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName('CSS4 Selectors', '#the-universal-selector', 'universal selector')}}{{Spec2('CSS4 Selectors')}}Sense canvis
{{SpecName('CSS3 Selectors', '#universal-selector', 'universal selector')}}{{Spec2('CSS3 Selectors')}}Defineix el comportament pel que fa als espais de noms i afegeix suggeriments que permeten ometre el selector dins de pseudo-elements
{{SpecName('CSS2.1', 'selector.html#universal-selector', 'universal selector')}}{{Spec2('CSS2.1')}}Definició inicial
+ + + +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescripcióChromeEdgeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("1")}}7{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Combinació amb suport d'espai de noms{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoDesktop("1")}}981.3
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescripcióAndroidChrome for AndroidEdgeFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Combinació amb suport d'espai de noms{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
diff --git a/files/ca/web/guide/ajax/getting_started/index.html b/files/ca/web/guide/ajax/getting_started/index.html new file mode 100644 index 0000000000..ea59270ae8 --- /dev/null +++ b/files/ca/web/guide/ajax/getting_started/index.html @@ -0,0 +1,192 @@ +--- +title: Primers passos +slug: Web/Guide/AJAX/Primers_passos +tags: + - AJAX + - Totes_les_categories +translation_of: Web/Guide/AJAX/Getting_Started +--- +

+Aquest article us guiarà a través dels principis bàsics d'AJAX i amb dos pràctics exemples per a anar per feina. +

+

Què és l'AJAX?

+

El JavaScript asincrònic i XML, (Asynchronous JavaScript and XML, AJAX, en anglès) és un neologisme per a dues potents característiques de navegació que fa anys que existeixen, però que han estat ignorades per molts desenvolupadors web fins a la recent arribada d'aplicacions com Gmail, Google suggest o Google Maps. +

Les dues característiques en qüestió són poder: +

+ +

Primer pas – Com fer una sol·licitud HTTP

+

Per a fer una sol·licitud HTTP (HTTP request) al servidor fent servir JavaScript, us cal una instància d'una classe que us en proporcioni la funcionalitat. Aquest tipus de classe va introduir-se originalment a l'Internet Explorer com a objecte ActiveX, anomenant-se XMLHTTP. Més endavant, Mozilla i Safari implementaren una classe, XMLHttpRequest, que funciona amb els mètodes i propietats de l'objecte original ActiveX de Microsoft. +

Com a resultat, per a crear una instància (objecte) de la classe perquè funcioni a tots els navegadors, heu de fer: +

+
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
+    sol·licitud_HTTP = new XMLHttpRequest();
+} else if (window.ActiveXObject) { // IE
+    sol·licitud_HTTP = new ActiveXObject("Microsoft.XMLHTTP");
+}
+
+

(L'exemple anterior és una versió simplificada il·lustrativa del codi que s'utilitza per a crear una instància XMLHTTP. Per a un exemple del dia a dia, consulteu el tercer pas d'aquest article.) +

Algunes versions dels navegadors Mozilla no funcionaran correctament si la resposta del servidor no té una capçalera MIME XML. Per a satisfer aquesta exigència, podeu utilitzar una crida d'un mètode extra per a ignorar la capçalera que pogués enviar el servidor, si aquesta no fos text/xml. +

+
sol·licitud_HTTP = new XMLHttpRequest();
+sol·licitud_HTTP.overrideMimeType('text/xml');
+
+

Tot seguit, cal decidir què voleu fer després de rebre la resposta del servidor a la vostra sol·licitud. En aquest estadi, només cal que especifiqueu a l'objecte de sol·licitud HTTP quina funció de JavaScript processarà la resposta. +Això es fa definint la propietat onreadystatechange de l'objecte per al nom de la funció de JavaScript que penseu fer sevir, tal com es mostra a continuació: +

sol·licitud_HTTP.onreadystatechange = nom_de_la_funció; +

Tingueu en compte que no hi ha parèntesis després del nom de la funció i no es passa cap paràmetre. A més, en comptes de donar un nom de funció, podeu utilitzar la tècnica de JavaScript de definir funcions al vol i les accions que en processaran la resposta, tal com es mostra a continuació:

+
sol·licitud_HTTP.onreadystatechange = function(){
+    // fes el que calgui
+};
+
+

Després d'haver declarat allò que passarà després de rebre la resposta, cal fer-ne la sol·licitud. Heu de cridar els mètodes open() i send() de la classe de sol·licitud HTTP, tal com es mostra a continuació: +

+
sol·licitud_HTTP.open('GET', 'http://www.exemple.org/algun.fitxer', true);
+sol·licitud_HTTP.send(null);
+
+ +

El paràmetre al mètode send() pot ser qualsevol dada que vulgueu enviar al servidor si s'envia la sol·licitud amb POST. Les dades cal que siguin de la forma d'una cadena de consulta com aquesta: +

nom=valor&un_altre_nom=un_altre_valor&i_així=anar_fent +

Tingueu en compte que si voleu enviar dades amb POST, heu de canviar el tipus MIME de la sol·licitud utilitzant la següent línia: +

+
sol·licitud_HTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+
+

Si no ho feu així, el servidor rebutjarà les dades que hi hàgiu enviat. +

+

Segon pas – Gestionar la resposta del servidor

+

Recordeu que quan envieu la sol·licitud, també proporcioneu el nom de la funció JavaScript destinada a gestionar-ne la resposta. +

sol·licitud_HTTP.onreadystatechange = nom_de_la_funció; +

Observem què hauria de fer aquesta funció. Primer, cal que comprovi l'estat de la sol·licitud. Si aquesta té el valor 4, vol dir que s'ha rebut una resposta total del servidor i podeu continuar processant-la.

+
if (sol·licitud_HTTP.readyState == 4) {
+    // tot va bé, s'ha rebut la resposta
+} else {
+    // encara no està preparada
+}
+
+

La llista sencera de valors d'estat, readyState, és la següent: +

+ +

(Font) +

A continuació, cal que comproveu el codi d'estat de la resposta de servidor HTTP. Tots els codis possible es llisten al lloc del W3C. Per als nostres objectius, només ens interessa la resposta 200 OK. +

+
if (sol·licitud_HTTP.status == 200) {
+    // perfecte!
+} else {
+    // hi ha hagut algun problema amb la sol·licitud
+    // per exemple, la resposta podria ser uns codis de resposta
+    // 404 (Not Found) o 500 (Internal Server Error)
+}
+
+

Després d'haver comprovat l'estat de la sol·licitud i el codi d'estat HTTP de la resposta, heu de decidir què voleu fer amb les dades que el servidor us ha enviat. Teniu dues opcions per a accedir a les dades: +

+ +

Tercer pas – Un exemple simple

+

Posem-ho tot junt i fem una sol·licitud HTTP simple. El nostre codi JavaScript sol·licitarà un document HTML, prova.html, que conté el text «Açò és un text.» i llavors notificarà, alert(), els continguts del fitxer prova.html. +

+
<script type="text/javascript" language="javascript">
+
+
+
+    function fes_sol·licitud(url) {
+
+        var sol·licitud_HTTP = false;
+
+        if (window.XMLHttpRequest) { // Mozilla, Safari,...
+            sol·licitud_HTTP = new XMLHttpRequest();
+            if (sol·licitud_HTTP.overrideMimeType) {
+                sol·licitud_HTTP.overrideMimeType('text/xml');
+                // Vegeu la nota a sota
+            }
+        } else if (window.ActiveXObject) { // IE
+            try {
+                sol·licitud_HTTP = new ActiveXObject("Msxml2.XMLHTTP");
+            } catch (e) {
+                try {
+                    sol·licitud_HTTP = new ActiveXObject("Microsoft.XMLHTTP");
+                } catch (e) {}
+            }
+        }
+
+        if (!sol·licitud_HTTP) {
+            alert('S\'abandona :( No es pot crear una instància d'XMLHTTP');
+            return false;
+        }
+        sol·licitud_HTTP.onreadystatechange = function() { notifica_continguts(sol·licitud_HTTP); };
+        sol·licitud_HTTP.open('GET', url, true);
+        sol·licitud_HTTP.send(null);
+
+    }
+
+    function notifica_continguts(sol·licitud_HTTP) {
+
+        if (sol·licitud_HTTP.readyState == 4) {
+            if (sol·licitud_HTTP.status == 200) {
+                alert(sol·licitud_HTTP.responseText);
+            } else {
+                alert('Hi ha hagut un problema amb la sol·licitud.');
+            }
+        }
+
+    }
+</script>
+<span
+    style="cursor: pointer; text-decoration: underline"
+    onclick="fes_sol·licitud('prova.html')">
+        Fes una sol·licitud
+</span>
+
+


+En aquest exemple: +

+ +

Podeu provar l'exemple ací i veure el fitxer de prova també ací. +

Nota: La línia sol·licitud_HTTP.overrideMimeType('text/xml'); anterior donarà errors a la consola de Javascript al Firefox 1.5b tal com es documenta a https://bugzilla.mozilla.org/show_bug.cgi?id=311724 si la pàgina que es crida per XMLHttpRequest no és un XML vàlid (p.ex., si és text net). +

Si obteniu un error de sintaxi (Syntax Error) o de mal format (Not Well Formed Error) en el navegador, i no esteu intentant carregar una pàgina XML per XMLHttpRequest, suprimiu aquesta línia del codi. +

Nota 2: si envieu una sol·licitud a un codi que retorni XML, en comptes d'un fitxer XML estàtic, heu d'especificar-ne algunes capçaleres de resposta si la vostra pàgina ha de funcionar amb l'Internet Explorer a més d'amb el Mozilla. Si no hi definiu la capçalera, Content-Type: application/xml, l'IE llançarà un error de Javascript 'Object Expected' després de la línia des d'on intenteu accedir a un element XML. Si no hi definiu una capçalera, Cache-Control: no-cache, el navegador emmagatzemarà a la memòria cau la resposta i no tornarà mai a trametre la sol·licitud, fent llavors que la depuració sigui tot un repte. +

Nota 3: si la variable sol·licitud_HTTP s'utilitza globalment, aquelles funcions «competidores» que cridin a fes_sol·licitud() poden anul·lar-se unes a les altres, provocant doncs una condició de cursa. En declarar sol·licitud_HTTP com una variable local a la funció i passar-la a la funció notifica_continguts() ho evita. +

Note 4: Per a registrar la funció de resposta onreadystatechange, no podeu tenir cap argument: +

+
sol·licitud_HTTP.onreadystatechange = function() { notifica_continguts(sol·licitud_HTTP); };  //1 (sol·licitud simultània)
+sol·licitud_HTTP.onreadystatechange = notifica_continguts(sol·licitud_HTTP); //2 (no funciona)
+sol·licitud_HTTP.onreadystatechange = notifica_continguts;  //3 (variable global)
+
+

El mètode 1 us permet tenir diferent sol·licituds fetes simultàniament, el 2 no funciona, i el 3 s'utilitza si sol·licitud_HTTP és una variable global. +

+

Quart pas – Treballant amb la resposta XML

+

En l'anterior exemple, després que es rebés la resposta a la sol·licitud HTTP, vam fer servir la propietat reponseText de l'objecte de sol·licitud i contenia els continguts del fitxer prova.html. Provem-ho ara amb la propietat responseXML. +

Comencem creant un document XML vàlid, que sol·licitarem més endavant. El document (prova.xml) conté el següent: +

+
<?xml version="1.0" ?>
+<root>
+    Açò és una prova.
+</root>
+
+

A la seqüència, només cal que canviar-hi la línia de sol·licitud per: +

+
...
+onclick="fes_sol·licitud('prova.xml')">
+...
+
+

Llavors a notifica_continguts() cal que reemplacem la línia amb alert() d'alert(sol·licitud_HTTP.responseText); per: +

+
var document_xml = sol·licitud_HTTP.responseXML;
+var node_arrel = document_xml.getElementsByTagName('root').item(0);
+alert(node_arrel.firstChild.data);
+
+

D'aquesta forma prenem l'objecte XMLDocument donat per responseXML i utilitzem els mètodes DOM per a accedir a algunes dades que es troben al document XML. Podeu veure-ho a prova.xml ací i la seqüència de prova actualizada ací. +

Per a més informació dels mètodes DOM, consulteu els documents de la implementació DOM de Mozilla. +

{{ languages( { "de": "de/AJAX/Getting_Started", "en": "en/AJAX/Getting_Started", "es": "es/AJAX/Primeros_Pasos", "fr": "fr/AJAX/Premiers_pas", "ja": "ja/AJAX/Getting_Started", "pl": "pl/AJAX/Na_pocz\u0105tek", "pt": "pt/AJAX/Como_come\u00e7ar" } ) }} diff --git a/files/ca/web/guide/ajax/primers_passos/index.html b/files/ca/web/guide/ajax/primers_passos/index.html deleted file mode 100644 index ea59270ae8..0000000000 --- a/files/ca/web/guide/ajax/primers_passos/index.html +++ /dev/null @@ -1,192 +0,0 @@ ---- -title: Primers passos -slug: Web/Guide/AJAX/Primers_passos -tags: - - AJAX - - Totes_les_categories -translation_of: Web/Guide/AJAX/Getting_Started ---- -

-Aquest article us guiarà a través dels principis bàsics d'AJAX i amb dos pràctics exemples per a anar per feina. -

-

Què és l'AJAX?

-

El JavaScript asincrònic i XML, (Asynchronous JavaScript and XML, AJAX, en anglès) és un neologisme per a dues potents característiques de navegació que fa anys que existeixen, però que han estat ignorades per molts desenvolupadors web fins a la recent arribada d'aplicacions com Gmail, Google suggest o Google Maps. -

Les dues característiques en qüestió són poder: -

- -

Primer pas – Com fer una sol·licitud HTTP

-

Per a fer una sol·licitud HTTP (HTTP request) al servidor fent servir JavaScript, us cal una instància d'una classe que us en proporcioni la funcionalitat. Aquest tipus de classe va introduir-se originalment a l'Internet Explorer com a objecte ActiveX, anomenant-se XMLHTTP. Més endavant, Mozilla i Safari implementaren una classe, XMLHttpRequest, que funciona amb els mètodes i propietats de l'objecte original ActiveX de Microsoft. -

Com a resultat, per a crear una instància (objecte) de la classe perquè funcioni a tots els navegadors, heu de fer: -

-
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
-    sol·licitud_HTTP = new XMLHttpRequest();
-} else if (window.ActiveXObject) { // IE
-    sol·licitud_HTTP = new ActiveXObject("Microsoft.XMLHTTP");
-}
-
-

(L'exemple anterior és una versió simplificada il·lustrativa del codi que s'utilitza per a crear una instància XMLHTTP. Per a un exemple del dia a dia, consulteu el tercer pas d'aquest article.) -

Algunes versions dels navegadors Mozilla no funcionaran correctament si la resposta del servidor no té una capçalera MIME XML. Per a satisfer aquesta exigència, podeu utilitzar una crida d'un mètode extra per a ignorar la capçalera que pogués enviar el servidor, si aquesta no fos text/xml. -

-
sol·licitud_HTTP = new XMLHttpRequest();
-sol·licitud_HTTP.overrideMimeType('text/xml');
-
-

Tot seguit, cal decidir què voleu fer després de rebre la resposta del servidor a la vostra sol·licitud. En aquest estadi, només cal que especifiqueu a l'objecte de sol·licitud HTTP quina funció de JavaScript processarà la resposta. -Això es fa definint la propietat onreadystatechange de l'objecte per al nom de la funció de JavaScript que penseu fer sevir, tal com es mostra a continuació: -

sol·licitud_HTTP.onreadystatechange = nom_de_la_funció; -

Tingueu en compte que no hi ha parèntesis després del nom de la funció i no es passa cap paràmetre. A més, en comptes de donar un nom de funció, podeu utilitzar la tècnica de JavaScript de definir funcions al vol i les accions que en processaran la resposta, tal com es mostra a continuació:

-
sol·licitud_HTTP.onreadystatechange = function(){
-    // fes el que calgui
-};
-
-

Després d'haver declarat allò que passarà després de rebre la resposta, cal fer-ne la sol·licitud. Heu de cridar els mètodes open() i send() de la classe de sol·licitud HTTP, tal com es mostra a continuació: -

-
sol·licitud_HTTP.open('GET', 'http://www.exemple.org/algun.fitxer', true);
-sol·licitud_HTTP.send(null);
-
- -

El paràmetre al mètode send() pot ser qualsevol dada que vulgueu enviar al servidor si s'envia la sol·licitud amb POST. Les dades cal que siguin de la forma d'una cadena de consulta com aquesta: -

nom=valor&un_altre_nom=un_altre_valor&i_així=anar_fent -

Tingueu en compte que si voleu enviar dades amb POST, heu de canviar el tipus MIME de la sol·licitud utilitzant la següent línia: -

-
sol·licitud_HTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
-
-

Si no ho feu així, el servidor rebutjarà les dades que hi hàgiu enviat. -

-

Segon pas – Gestionar la resposta del servidor

-

Recordeu que quan envieu la sol·licitud, també proporcioneu el nom de la funció JavaScript destinada a gestionar-ne la resposta. -

sol·licitud_HTTP.onreadystatechange = nom_de_la_funció; -

Observem què hauria de fer aquesta funció. Primer, cal que comprovi l'estat de la sol·licitud. Si aquesta té el valor 4, vol dir que s'ha rebut una resposta total del servidor i podeu continuar processant-la.

-
if (sol·licitud_HTTP.readyState == 4) {
-    // tot va bé, s'ha rebut la resposta
-} else {
-    // encara no està preparada
-}
-
-

La llista sencera de valors d'estat, readyState, és la següent: -

- -

(Font) -

A continuació, cal que comproveu el codi d'estat de la resposta de servidor HTTP. Tots els codis possible es llisten al lloc del W3C. Per als nostres objectius, només ens interessa la resposta 200 OK. -

-
if (sol·licitud_HTTP.status == 200) {
-    // perfecte!
-} else {
-    // hi ha hagut algun problema amb la sol·licitud
-    // per exemple, la resposta podria ser uns codis de resposta
-    // 404 (Not Found) o 500 (Internal Server Error)
-}
-
-

Després d'haver comprovat l'estat de la sol·licitud i el codi d'estat HTTP de la resposta, heu de decidir què voleu fer amb les dades que el servidor us ha enviat. Teniu dues opcions per a accedir a les dades: -

- -

Tercer pas – Un exemple simple

-

Posem-ho tot junt i fem una sol·licitud HTTP simple. El nostre codi JavaScript sol·licitarà un document HTML, prova.html, que conté el text «Açò és un text.» i llavors notificarà, alert(), els continguts del fitxer prova.html. -

-
<script type="text/javascript" language="javascript">
-
-
-
-    function fes_sol·licitud(url) {
-
-        var sol·licitud_HTTP = false;
-
-        if (window.XMLHttpRequest) { // Mozilla, Safari,...
-            sol·licitud_HTTP = new XMLHttpRequest();
-            if (sol·licitud_HTTP.overrideMimeType) {
-                sol·licitud_HTTP.overrideMimeType('text/xml');
-                // Vegeu la nota a sota
-            }
-        } else if (window.ActiveXObject) { // IE
-            try {
-                sol·licitud_HTTP = new ActiveXObject("Msxml2.XMLHTTP");
-            } catch (e) {
-                try {
-                    sol·licitud_HTTP = new ActiveXObject("Microsoft.XMLHTTP");
-                } catch (e) {}
-            }
-        }
-
-        if (!sol·licitud_HTTP) {
-            alert('S\'abandona :( No es pot crear una instància d'XMLHTTP');
-            return false;
-        }
-        sol·licitud_HTTP.onreadystatechange = function() { notifica_continguts(sol·licitud_HTTP); };
-        sol·licitud_HTTP.open('GET', url, true);
-        sol·licitud_HTTP.send(null);
-
-    }
-
-    function notifica_continguts(sol·licitud_HTTP) {
-
-        if (sol·licitud_HTTP.readyState == 4) {
-            if (sol·licitud_HTTP.status == 200) {
-                alert(sol·licitud_HTTP.responseText);
-            } else {
-                alert('Hi ha hagut un problema amb la sol·licitud.');
-            }
-        }
-
-    }
-</script>
-<span
-    style="cursor: pointer; text-decoration: underline"
-    onclick="fes_sol·licitud('prova.html')">
-        Fes una sol·licitud
-</span>
-
-


-En aquest exemple: -

- -

Podeu provar l'exemple ací i veure el fitxer de prova també ací. -

Nota: La línia sol·licitud_HTTP.overrideMimeType('text/xml'); anterior donarà errors a la consola de Javascript al Firefox 1.5b tal com es documenta a https://bugzilla.mozilla.org/show_bug.cgi?id=311724 si la pàgina que es crida per XMLHttpRequest no és un XML vàlid (p.ex., si és text net). -

Si obteniu un error de sintaxi (Syntax Error) o de mal format (Not Well Formed Error) en el navegador, i no esteu intentant carregar una pàgina XML per XMLHttpRequest, suprimiu aquesta línia del codi. -

Nota 2: si envieu una sol·licitud a un codi que retorni XML, en comptes d'un fitxer XML estàtic, heu d'especificar-ne algunes capçaleres de resposta si la vostra pàgina ha de funcionar amb l'Internet Explorer a més d'amb el Mozilla. Si no hi definiu la capçalera, Content-Type: application/xml, l'IE llançarà un error de Javascript 'Object Expected' després de la línia des d'on intenteu accedir a un element XML. Si no hi definiu una capçalera, Cache-Control: no-cache, el navegador emmagatzemarà a la memòria cau la resposta i no tornarà mai a trametre la sol·licitud, fent llavors que la depuració sigui tot un repte. -

Nota 3: si la variable sol·licitud_HTTP s'utilitza globalment, aquelles funcions «competidores» que cridin a fes_sol·licitud() poden anul·lar-se unes a les altres, provocant doncs una condició de cursa. En declarar sol·licitud_HTTP com una variable local a la funció i passar-la a la funció notifica_continguts() ho evita. -

Note 4: Per a registrar la funció de resposta onreadystatechange, no podeu tenir cap argument: -

-
sol·licitud_HTTP.onreadystatechange = function() { notifica_continguts(sol·licitud_HTTP); };  //1 (sol·licitud simultània)
-sol·licitud_HTTP.onreadystatechange = notifica_continguts(sol·licitud_HTTP); //2 (no funciona)
-sol·licitud_HTTP.onreadystatechange = notifica_continguts;  //3 (variable global)
-
-

El mètode 1 us permet tenir diferent sol·licituds fetes simultàniament, el 2 no funciona, i el 3 s'utilitza si sol·licitud_HTTP és una variable global. -

-

Quart pas – Treballant amb la resposta XML

-

En l'anterior exemple, després que es rebés la resposta a la sol·licitud HTTP, vam fer servir la propietat reponseText de l'objecte de sol·licitud i contenia els continguts del fitxer prova.html. Provem-ho ara amb la propietat responseXML. -

Comencem creant un document XML vàlid, que sol·licitarem més endavant. El document (prova.xml) conté el següent: -

-
<?xml version="1.0" ?>
-<root>
-    Açò és una prova.
-</root>
-
-

A la seqüència, només cal que canviar-hi la línia de sol·licitud per: -

-
...
-onclick="fes_sol·licitud('prova.xml')">
-...
-
-

Llavors a notifica_continguts() cal que reemplacem la línia amb alert() d'alert(sol·licitud_HTTP.responseText); per: -

-
var document_xml = sol·licitud_HTTP.responseXML;
-var node_arrel = document_xml.getElementsByTagName('root').item(0);
-alert(node_arrel.firstChild.data);
-
-

D'aquesta forma prenem l'objecte XMLDocument donat per responseXML i utilitzem els mètodes DOM per a accedir a algunes dades que es troben al document XML. Podeu veure-ho a prova.xml ací i la seqüència de prova actualizada ací. -

Per a més informació dels mètodes DOM, consulteu els documents de la implementació DOM de Mozilla. -

{{ languages( { "de": "de/AJAX/Getting_Started", "en": "en/AJAX/Getting_Started", "es": "es/AJAX/Primeros_Pasos", "fr": "fr/AJAX/Premiers_pas", "ja": "ja/AJAX/Getting_Started", "pl": "pl/AJAX/Na_pocz\u0105tek", "pt": "pt/AJAX/Como_come\u00e7ar" } ) }} diff --git a/files/ca/web/guide/css/inici_en_css/caixes/index.html b/files/ca/web/guide/css/inici_en_css/caixes/index.html deleted file mode 100644 index 39d411bb19..0000000000 --- a/files/ca/web/guide/css/inici_en_css/caixes/index.html +++ /dev/null @@ -1,342 +0,0 @@ ---- -title: Caixes -slug: Web/Guide/CSS/Inici_en_CSS/Caixes -tags: - - Basic - - Beginner - - CSS - - CSS Borders - - CSS Margin - - CSS Padding - - 'CSS:Getting_Started' - - NeedsBeginnerUpdate - - NeedsUpdate - - Web -translation_of: Learn/CSS/Building_blocks -translation_of_original: Web/Guide/CSS/Getting_started/Boxes ---- -

{{ CSSTutorialTOC() }}

- -

{{ previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Lists", "Llistes") }}Aquesta és la 11th secció del tutorial CSS Getting Started descriu com podeu utilitzar CSS per controlar l'espai que ocupa un element quan es mostra. En el document d'exemple, canviareu l'espaiat i afegireu regles decoratives.

- -

Informació: Caixes

- -

Quan el navegador mostra un element, l'element ocupa espai. Hi ha quatre parts en l'espai que ocupa.

- -

Al mig, és l'espai que l'element necessita per mostrar el seu contingut. Al voltant d'això, hi ha un padding (farciment). Al voltant d'això, hi ha un border (vora). Al voltant d'això, hi ha un margin (marge) que separa l'element d'altres elements.

- - - - - - - - -
-
-

margin (marge)

- -

border (vora)

- -
-

padding (farciment)

- -
-

element

-
-
-
- -

El gris pàl·lid mostra parts de la disposició.

-
-
-

 

- -

 

- -
-

 

- -
-

element

-
-
-
- -

Això és el que es veu en el vostre navegador.

-
- -

El farcit, vora i marge poden tenir diferents mides en la part superior, dret, inferior i esquerra de l'element. Qualsevol o totes aquestes mides poden ser zero.

- -

Acolorir

- -

El farcit és sempre del mateix color que el fons de l'element. Així que quan s'estableix el color de fons, es veu el color aplicat a l'element en si i el seu farcit. El marge és sempre transparent.

- - - - - - - - -
-
-

margin

- -

border

- -
-

padding

- -
-

element

-
-
-
- -

L'element un fons verd.

-
-
-

 

- -

 

- -
-

 

- -
-

element

-
-
-
- -

Això és el que es veu en el vostre navegador.

-
- -

Vores

- -

Podeu utilitzar les vores per decorar elements amb línies o caixes.

- -

Per especificar la mateixa vora a tot al voltant d'un element, utilitzeu la propietat {{ cssxref("border") }}. Especificar l'ample (en píxels en general per a la seva visualització en una pantalla), l'estil i el color.

- -

Els estils són:

- - - - - - - - - - - - - - - - -
-
solid
-
-
dotted
-
-
dashed
-
-
double
-
-
inset
-
-
outset
-
-
ridge
-
-
groove
-
- -

També podeu establir l'estil a none o hidden per eliminar de forma explícita la vora, o establir el color a transparent per fer la vora invisible sense canviar el disseny.

- -

Especificar vores a un costat alhora, utilitzeu les propietats: {{ cssxref("border-top") }}, {{ cssxref("border-right") }}, {{cssxref("border-bottom")}}, {{cssxref("border-left")}}. Podeu utilitzar aquests per especificar una vora en un sol costat, o diferentes vores en diferents costats.

- -
-
Exemple
- -

Aquesta regla estableix el color de fons i la vora de la part superior dels elements d'encapçalament:

- -
h3 {
-  border-top: 4px solid #7c7; /* mid green */
-  background-color: #efe;     /* pale green */
-  color: #050;                /* dark green */
-  }
-
- -

El resultat és el següent:

- - - - - - - -
-

Stylish heading

-
- -

Aquesta regla fa que les imatges siguin més fàcils de veure, donant-los una vora gris mig en tot:

- -
img {border: 2px solid #ccc;}
-
- -

El resultat és el següent:

- - - - - - - - -
Imatge:Image:Blue-rule.png
-
- -

Marges i farciment

- -

Utilitzeu marges i farciment per ajustar les posicions dels elements i crear l'espai que els envolta.

- -

Utilitzeu la propietat {{ cssxref("margin") }} o la propietat {{ cssxref("padding") }} per establir els amples dels marges o de farciment, respectivament.

- -

Si s'especifica una amplada, s'aplica al voltant de tot l'element (a dalt, dreta, a sota i a l'esquerra).

- -

Si s'especifica dos amples, la primera s'aplica a la part superior i inferior, la segona a la dreta i l'esquerra.

- -

Podeu definir els quatre amplades en l'ordre: dalt, dreta, a sota, a l'esquerra.

- -
-
Exemple
- -

Aquesta regla distingeix els paràgrafs amb la classe remark, donant-los una vora vermella al seu voltant.

- -

El farciment al seu voltant separa la vora del text una mica.

- -

Un marge esquerre sagna el paràgraf en relació amb la resta del text:

- -
p.remark {
-  border: 2px solid red;
-  padding: 4px;
-  margin-left: 24px;
-  }
-
- -

El resultat és el següent:

- - - - - - - -
-

Here is a normal paragraph.

- -

Here is a remark.

-
-
- -
-
Més detalls
- -

Quan s'utilitzan marges i farcit per ajustar la forma en què els elements es disposen, les seves regles d'estil interactuen amb els valors per defecte del navegador en formes que poden ser complexes.

- -

Els diferents navegadors posen elements de manera diferent. Els resultats podrien ser similar fins que la vostre fulla d'estil canvia les coses. A vegades això pot fer que les vostres fulles d'estil donin resultats sorprenents.

- -

Per obtenir el resultat desitjat, és possible que hàgiu de canviar el marcat del document. La pàgina següent d'aquest tutorial teniu més informació sobre això.

- -

Per a més informació sobre el farciment, marges i vores, vegeu la pàgina de referència Model de caixa.

-
- -

Acció: Afegir vores

- -

Editeu l'arxiu CSS, style2.css. Afegiu aquesta regla per dibuixar una línia a través de la pàgina sobre cada capçalera:

- -
h3 {border-top: 1px solid gray;}
-
- -

Si vau prendre el repte de l'última pàgina, modifiqueu la regla que heu creat, en cas contrari afegiu aquesta nova regla, la d'afegir un espai sota cada element de la llista:

- -
li {
-  list-style: lower-roman;
-  margin-bottom: 8px;
-  }
-
- -

Actualitzeu el navegador per veure el resultat:

- - - - - - - -
-

(A) The oceans

- -
    -
  • Arctic
  • -
  • Atlantic
  • -
  • Pacific
  • -
  • Indian
  • -
  • Southern
  • -
- -

(B) Numbered paragraphs

- -

1: Lorem ipsum

- -

2: Dolor sit

- -

3: Amet consectetuer

- -

4: Magna aliquam

- -

5: Autem veleum

-
- -
-
Repte
- -

Afegiu una regla a la fulla d'estils, fent una vora àmpla al voltant dels oceans en un color que recordi al mar, alguna cosa com això:

- - - - - - - -
-

(A) The oceans

- -
-
    -
  • Arctic
  • -
  • Atlantic
  • -
  • Pacific
  • -
  • Indian
  • -
  • Southern
  • -
-
- -

(B) Numbered paragraphs

- -

. . .

-
- -

 

- -

(No hi ha necessitat perquè coincideixi amb l'amplada i el color que es veu aquí exactament.)

-
- -

Veure la solució per el repte.

- -

I ara què?

- -

{{ nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Layout", "Disseny") }}En definir marges i farcit, heu modificat el disseny del document. A la pàgina següent es canvia el disseny del vostre document d'altres maneres.

diff --git "a/files/ca/web/guide/css/inici_en_css/cascada_i_her\303\250ncia/index.html" "b/files/ca/web/guide/css/inici_en_css/cascada_i_her\303\250ncia/index.html" deleted file mode 100644 index b7bf86a77f..0000000000 --- "a/files/ca/web/guide/css/inici_en_css/cascada_i_her\303\250ncia/index.html" +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Cascada i herència -slug: Web/Guide/CSS/Inici_en_CSS/Cascada_i_herència -tags: - - Beginner - - CSS - - 'CSS:Getting_Started' - - Guide - - NeedsBeginnerUpdate - - NeedsUpdate - - Web -translation_of: Learn/CSS/Building_blocks/Cascade_and_inheritance -translation_of_original: Web/Guide/CSS/Getting_started/Cascading_and_inheritance ---- -

{{ CSSTutorialTOC() }}

- -

{{ previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/How_CSS_works", "Com funciona el CSS")}}Aquesta és la quarta secció del tutorial CSS Getting Started ; descriu com els fulls d'estil interactuenen en cascada, i com els elements hereten l'estil dels seus pares. S'agrega a la vostre fulla d'estils d'exemple, utilitzant l'herència per alterar l'estil de moltes parts del document en un sol pas.

- -

Informació: Cascada i herència

- -

L'estil final per a un element es pot especificar en molts llocs diferents, que poden interactuar d'una manera complexa. Aquesta interacció complexa fa que el CSS sigui de gran abast, però també pot fer que sigui confús i difícil de depurar.

- -

Tres fonts principals d'informació d'estil formen una cascada. Aqueste son:

- - - -

L'estil de l'usuari modifica l'estil per defecte del navegador. L'estil de l'autor del document modifica l'estil una mica més. En aquest tutorial, vosaltres sou l'autor del document d'exemple, i només es treballa amb fulls d'estil d'autor.

- -
-
Exemple
- -

Quan llegiu aquest document en un navegador, part de l'estil que es veu prové dels valors per defecte del navegador per HTML.

- -

Part de l'estil podria venir de la configuració del navegador a mida o un arxiu de definició d'estil personalitzat. A Firefox, la configuració es pot personalitzar en el quadre de diàleg Preferències, o es pot especificar estils en un arxiu userContent.css arxiu anomenat en el vostre perfil de navegador.

- -

Part de l'estil prové de les fulles d'estil vinculades al document per part del servidor.

-
- -

En obrir el document d'exemple en el navegador, els elements {{ HTMLElement("strong") }} destacan més que la resta del text. Això ve de l'estil per defecte del navegador per HTML.

- -

Els elements {{ HTMLElement("strong") }} són de color vermell. Això ve de la pròpia fulla d'estils d'exemple.

- -

Els elements {{ HTMLElement("strong") }} també hereten gran part de  l'estil de l'element {{HTMLElement ("p")}}, perquè són els seus fills. De la mateixa manera, l'element {{ HTMLElement("p") }} hereta gran part de l'estil de l'element {{ HTMLElement("body") }}.

- -

Per estils en cascada, els fulls d'estil d'autor tenen prioritat, a continuació els fulls d'estil del lector i seguidament els valors per defecte del navegador.

- -

Per estils heretats, l'estil propi d'un node fill té prioritat sobre l'estil heretat del seu pare.

- -

Aquestes no són les úniques prioritats que s'apliquen. Una pàgina més endavant en aquest tutorial s'explica més.

- -
-
Més detalls
- -

CSS proporciona una manera perquè el lector pugui anul·lar l'estil de l'autor del document, mitjançant l'ús de la paraula clau !important.

- -

Això vol dir que, com a autor del document, no sempre es pot predir amb exactitud el que els vostres lectors veuran.

- -

Si vols conèixer tots els detalls de cascada i herència, consulteu Assignació de valors de les propietats, Cascada i herència en l'especificació CSS.

-
- -

Acció: L'ús de l'herència

- -
    -
  1. Edita l'arxiu CSS d'exemple.
  2. -
  3. Afegir aquesta línia copiant-la i enganxant-la. Realment no importa si l'afegeixes per damunt o per sota de la línia ja existent. No obstant això, afegir-la en la part superior és el mes lògic, ja que en el document  l'element {{ HTMLElement("p") }} és el pare de l'element {{ HTMLElement("strong") }}: -
    p {color: blue; text-decoration: underline;}
    -
    -
  4. -
  5. Actualitzar el navegador per veure l'efecte en el document d'exemple. El subratllat afecta a tot el text en el paràgraf, incloent les lletres inicials. Els elements {{ HTMLElement("strong") }} han hagut d'heretar l'estil subratllat del seu pare, l'element {{ HTMLElement("p") }}.
    - -

    Però els elements {{ HTMLElement("strong") }} estan sent vermells. El color vermell correspont el seu propi estil, pel que té prioritat sobre el color blau del seu pare, l'element {{ HTMLElement("p") }}.

    -
  6. -
- -

Abans

- -

Contingut HTML

- -
<p>
-  <strong>C</strong>ascading
-  <strong>S</strong>tyle
-  <strong>S</strong>heets
-</p>
-
- -

Contingut CSS

- -
strong {color:red}
-
- -

{{ EmbedLiveSample('Before') }}

- -

Després

- -

Contingut HTML

- -
<p>
-  <strong>C</strong>ascading
-  <strong>S</strong>tyle
-  <strong>S</strong>heets
-</p>
- -

Contingut CSS

- -
p {color:blue; text-decoration:underline}
-strong {color:red}
- -

{{ EmbedLiveSample('After') }}

- -

 

- -
-
Repte
-Modifiqueu el full d'estils perquè només les lletres vermelles estiguin subratllades: - - - - - - - -
Cascading Style Sheets
- -
-
Possible solution
- -

Move the declaration for underlining from the rule for {{ HTMLElement("p") }} to the one for {{ HTMLElement("strong") }}. The resulting file looks like this:

- -
p {color: blue; }
-strong {color: red; text-decoration: underline;}
-
- -

 

-Hide solution
-Veure la solució per el repte.
- -

 

- -

I ara què?

- -

{{ nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors", "Selectors")}}El full d'estils d'exemple especifica els estils per a les etiquetes <p> i <strong>, modificant l'estil dels elements corresponents a tot el document. La següent secció descriu com especificar l'estil de manera més selectiva.

diff --git a/files/ca/web/guide/css/inici_en_css/color/index.html b/files/ca/web/guide/css/inici_en_css/color/index.html deleted file mode 100644 index ba607aab18..0000000000 --- a/files/ca/web/guide/css/inici_en_css/color/index.html +++ /dev/null @@ -1,354 +0,0 @@ ---- -title: Color -slug: Web/Guide/CSS/Inici_en_CSS/Color -tags: - - Beginner - - CSS - - 'CSS:Getting_Started' - - Example - - Guide - - NeedsBeginnerUpdate - - NeedsUpdate - - Web -translation_of: Learn/CSS/Introduction_to_CSS/Values_and_units#Colors -translation_of_original: Web/Guide/CSS/Getting_started/Color ---- -

{{ CSSTutorialTOC() }}

- -

{{previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Text_styles", "Estils de text")}}Aquesta és la 8th secció del tutorial CSS Getting Started tutorial;explica com especificar el color en CSS. En la vostre fulla d'estil d'exemple, s'introdueix colors de fons.

- -

Informació: Color

- -

En aquest tutorial fins al moment, s'ha utilitzat un nombre limitat de colors amb nom. CSS2 suporta 17 colors amb nom en tots. Alguns dels noms pot ser que no sigui l'esperat:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 negre (black) gris (gray) plata (silver) blanc (white) 
primarisvermell (red) Llima (lime) blau (blue) 
secundarisgroc (yellow) aigua (aqua) fúcsia (fuchsia) 
 marró (maroon) taronge (orange) oliva (olive) porpra (purple) verd (green) blau marí (navy) verd blavós (teal) 
- -

 

- -
-
Detalls
- -

El vostre navegador pot suportar molts més colors amb nom, com:

- - - - - - - - - - - - - - - - -
dodgerblue peachpuff tan firebrick aquamarine 
- -

Per a més detalls d'aquesta llista ampliada, consulteu: SVG color keywords en CSS 3 mòdul de colors. Aneu amb compte d'utilitzar noms de colors que els lectors dels navegadors no siguin compatibles.

-
- -

Per a una paleta gran, especifiqueu els components vermell, verd i blau del color que desitgeu mitjançant l'ús d'un signe de nombre (hash) i tres dígits hexadecimals en el rang de 0 - 9, a - f. Les lletres a - f representen els valors de 10 - 15:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
negre (black) #000
vermell (pure red) #f00
verd (pure green) #0f0
blau (pure blue) #00f
blanc (white) #fff
- -


- Per a la paleta completa, especificar dos dígits hexadecimals per a cada component:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
negre (black) #000000
vermell (pure red) #ff0000
verd (pure green) #00ff00
blau (pure blue) #0000ff
blanc (white) #ffffff
- -

Normalment, es poden obtenir aquests codis hexadecimals de sis dígits d'un programa de gràfics o alguna altra eina.

- -
-
Exemple
- -

Amb una mica de pràctica, podeu ajustar els colors de tres dígits manualment per a la majoria de propòsits:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Comenceu amb el vermell pur : #f00
Perquè sigui més clar, afegir una mica de verd i blau : #f77
Perquè sigui més taronja, afegir una mica de verd addicional: #fa7
Per enfosquir, reduir tots els seus components: #c74
Per reduir la saturació, fer els seus components més iguals: #c98
Si feu tots ells exactament iguals, s'obté gris: #ccc
- -

Per un to pastís com el blau pàl·lid:

- - - - - - - - - - - - - - -
Comenceu amb blanc pur: #fff
Reduir els altres components una mica: #eef
-
- -
-
Més detalls
- -

També podeu especificar un color utilitzant valors decimals RGB en el rang de 0-255 o percentatges.

- -

Per exemple, aquest és de color granat (vermell fosc):

- -
rgb(128, 0, 0)
-
- -

Per a més detalls sobre com especificar els colors, consulteu: Colors en l'especificació CSS.

- -

Per obtenir informació sobre l'adequació dels colors del sistema de Menú i ThreeDFace, consulteu: Colors del Sistema en CSS2 en l'especificació CSS.

-
- -

Propietats de color

- -

Ja heu utilitzat la propietat {{ cssxref("color") }} en el text.

- -

També podeu utilitzar la propietat {{ cssxref("background-color") }} per canviar el fons dels elements.

- -

Els fons els podeu configurar com transparent per eliminar de forma explícita qualsevol color, deixant al descobert el fons de l'element pare.

- -
-
Exemple
- -

Les caixes d'exemple en aquest tutorial utilitza aquest fons de color groc pàl·lid:

- -
background-color: #fffff4;
-
- -

Les caixes de Més detalls utilitza aquest color gris pàl·lid:

- -
background-color: #f4f4f4;
-
-
- -

 

- -

Acció: L'ús dels codis de color

- -

Color de la pàgina

- -
    -
  1. Editeu l'arxiu CSS.
  2. -
  3. Feu el canvi que es mostra aquí sota, per donar a les lletres inicials d'un fons blau pàl·lid. (La disposició i comentaris a l'arxiu probablement difereixen de l'arxiu que es mostra aquí. Mantenir la disposició i els comentaris de la manera que preferiu.)
  4. -
  5. -

    Contingut HTML

    - -
    <p id = "first"> <strong>C</strong>ascading <strong class="spinach">S</strong>tyle <strong class="spinach">S</strong>heets</p>
    -<p> <strong>C</strong>ascading <strong>S</strong>tyle <strong>S</strong>heets</p>
    -
    - -

    Contingut CSS

    - -
    /*** CSS Tutorial: Color page ***/
    -
    -/* page font */
    -body {
    -  font: 16px "Comic Sans MS", cursive;
    -}
    -
    -/* paragraphs */
    -p {
    -  color: blue;
    -}
    -#first {
    -  font-style: italic;
    -}
    -
    -/* initial letters */
    -strong {
    -  background-color: #ddf;
    -  color: red;
    -  font: 200% serif;
    -}
    -
    -.spinach {
    -  color: green;
    -  background-color: #ddf;
    -}
    -
    -
    -
  6. -
  7. Deseu el fitxer i actualitzeu el navegador per veure el resultat.
  8. -
  9. El resultat ha de ser com aquest:
  10. -
- -

{{ EmbedLiveSample('Color_page', '', '', '', 'Web/Guide/CSS/Getting_started/Color') }}

- -
-
Repte
- -

A l'arxiu CSS, canviar els noms de colors als codis de color de 3 dígits sense afectar el resultat.

- -

Això no es pot fer exactament, però es pot aconseguir aproximadament. Per fer-ho exactament es necessita codis de 6 dígits, i cal buscar l'especificació CSS o utilitzar una eina gràfica per a que coincideixi amb els colors.

- -
-
Possible solution
- -

The following values are reasonable approximations of the named colors:

- -
strong {
-  color: #f00; /* red */
-  background-color: #ddf; /* pale blue */
-  font: 200% serif;
-}
-
-.carrot {
-  color: #fa0; /* orange */
-}
-
-.spinach {
-  color: #080; /* dark green */
-}
-
-p {
-  color: #00f; /* blue */
-}
-
- -

 

-Hide solution
-Veure la solució per el repte.
- -

I ara què?

- -

{{nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Content", "Contingut")}}El document d'exemple i la seva fulla d'estil d'exemple separen el contingut de l'estil de forma estricta. La següent secció explica com es pot fer excepcions a aquesta estricta separació.

diff --git a/files/ca/web/guide/css/inici_en_css/com_funciona_el_css/index.html b/files/ca/web/guide/css/inici_en_css/com_funciona_el_css/index.html deleted file mode 100644 index eb6512b8bb..0000000000 --- a/files/ca/web/guide/css/inici_en_css/com_funciona_el_css/index.html +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: Com funciona el CSS -slug: Web/Guide/CSS/Inici_en_CSS/Com_funciona_el_CSS -tags: - - Beginner - - CSS - - 'CSS:Getting_Started' - - Guide - - NeedsBeginnerUpdate - - NeedsUpdate - - Web -translation_of: Learn/CSS/First_steps/How_CSS_works -translation_of_original: Web/Guide/CSS/Getting_started/How_CSS_works ---- -

{{ CSSTutorialTOC() }}

- -

{{ previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Why_use_CSS", "Per què utilitzar CSS?") }}Aquesta tercera secció del tutorial CSS Getting Started explica com funciona CSS en el navegador i el propòsit del Document Object Model (DOM). També aprendreu com analitzar el document de mostra.

- -

Informació: Com funciona el CSS

- -

Quan un navegador mostra un document, s'ha de combinar el contingut del document amb la seva informació d'estil. El document es processa en dues etapes:

- -
    -
  1. El navegador converteix el llenguatge de marcat i el CSS en el DOM (Document Object Model). El DOM representa el document a la memòria de l'ordinador. Combina el contingut del document amb el seu estil.
  2. -
  3. El navegador mostra el contingut de la DOM.
  4. -
- -

Un llenguatge de marcat utilitza elements per definir l'estructura del document. Es marca un element mitjançant etiquetes, que són cadenes que comencen amb '<' i acaban amb '>'. La majoria dels elements tenen un parell d'etiquetes, una etiqueta d'inici i una etiqueta final. Per l'etiqueta d'inici, col·locar el nom de l'element entre '<' i '>'. Per l'etiqueta final, col·locar un '/' després que el '<' i abans que el nom de l'element.

- -

Depenent del llenguatge de marques, alguns elements només tenen una etiqueta d'inici, o una sola etiqueta on el '/' ve després que el nom de l'element. Un element també pot ser un contenidor i incloure altres elements entre la seva etiqueta inicial i final. Recordeu sempre de tancar les etiquetes dins del contenidor.

- -

Un DOM té una estructura en forma d'arbre. Cada element, atribut i extensió de text, en el llenguatge de marcat, es converteix en un node en l'estructura de l'arbre. Els nodes es defineixen per la seva relació amb altres nodes DOM. Alguns elements són els pares dels nodes fills, i els nodes fills tenen germans.

- -

La comprensió del DOM ajuda a dissenyar, depurar i mantenir la CSS, pel fet que el DOM és on el CSS i el contingut del document es reuneixen.

- -
-
Exemple
- -
 
-En el vostre document d'exemple, l'etiqueta <p> i la seva etiqueta de tancament </p> creen un contenidor: - -
<p>
-  <strong>C</strong>ascading
-  <strong>S</strong>tyle
-  <strong>S</strong>heets
-</p>
-
- -

Exemple en directe

- -

{{ EmbedLiveSample('Information.3A_How_CSS_works', '', '', '', 'Web/Guide/CSS/Getting_started/How_CSS_works') }}

- -

En el DOM, el node corresponent P és un pare. Els seus fills són els nodes STRONG i els nodes de text. Els nodes STRONG són ells mateixos els pares, amb els nodes de text com els seus fills;

- -
P
-├─STRONG
-│ └─"C"
-├─"ascading"
-├─STRONG
-│ └─"S"
-├─"tyle"
-├─STRONG
-│ └─"S"
-└─"heets"
-
- -

Acció: Anàlisi d'un DOM

- -

L'ús de DOM Inspector

- -

Per analitzar un DOM, es necessita un programari especial. Podeu utilitzar el complement DOM Inspector de Mozilla (DOMi) per analitzar un DOM. Només haureu de instal·lar el complement (veure més detalls a continuació).

- -
    -
  1. Utilitzeu el navegador Mozilla per obrir el document HTML d'exemple.
  2. -
  3. Des de la barra de menú del navegador, seleccioneu Tools > DOM Inspector, or Tools > Web Development > DOM Inspector. -
    -
    Més detalls
    - -

    Si el navegador Mozilla no té DOMI, podeu instalar-ho des de la web de complements i reiniciar el navegador. A continuació, tornar a aquest tutorial.

    - -

    Si no voleu instal·lar DOMi (o esteu fent servir un navegador que no és Mozilla), poodeu utilitzar Web X-Ray Goggles, tal com es descriu en la següent secció. O bé, podeu ometre aquesta secció i anar directament a la pàgina següent. Saltar-se aquesta secció no interfereix amb la resta del programa d'aprenentatge.

    -
    -
  4. -
  5. En DOMi, s'expandeixi els nodes del document fent clic a les fletxes. -

    Nota: Els espais creats en el arxiu HTML pot causar que DOMi mostri alguns nodes de text buits, que podeu ignorar.

    - -

    Part del resultat podria tenir aquest aspecte, depenent de quins nodes heu expandit:

    - -
    │ ▼╴P
    -│ │ │ ▼╴STRONG
    -│ │ └#text
    -│ ├╴#text
    -│ ►╴STRONG
    -│ │
    - -

    En seleccionar qualsevol dels nodes, podeu utilitzar el panell de la dreta de DOMi per esbrinar més sobre ell. Per exemple, quan es selecciona un node de text, DOMi mostra el text en el panell de la dreta.

    - -

    Quan se selecciona un node element, DOMi analitza i ofereix una enorme quantitat d'informació en el seu panell de la dreta. La informació d'estil és només part de la informació que proporciona.

    -
  6. -
- -
-
Repte
- -

En DOMi, feu clic en un node STRONG.

- -

Utilitzeu el panell de la dreta de DOMi per esbrinar on el color del node és vermell, i on la seva aparença es fa més destacable que el text normal.

- -
-
Possible solution
- -

In the menu above the right-hand pane, choose CSS Rules. You see two items listed, one that references an internal resource and one that references your stylesheet file. The internal resource defines the font-weight property as bolder; your stylesheet defines the color property as red.

-Hide solution
-Veure la solució per el repte.
- -

Utilitzar Web X-Ray Goggles

- -

Web X-Ray Goggles mostra menys informació que DOM Inspector, però és més fàcil d'instal·lar i utilitzar.

- -
    -
  1. Anar a la pàgina principal de Web X-Ray Goggles.
  2. -
  3. Arrossegar el enllaç de marcador a la pàgina de la barra d'eines del navegador.
  4. -
  5. Obriu el document HTML d'exemple.
  6. -
  7. Activar Web X-Ray Goggles fent clic al marcador a la barra d'eines.
  8. -
  9. Moure el punter del ratolí per sobre del document, per veure els elements del document.
  10. -
- -

I ara què?

- -

{{ nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Cascading_and_inheritance", "Cascada & herència") }}Si heu pres el repte, veureu que la informació d'estil de més d'un lloc interacciona per crear l'estil final per a un element. La pàgina següent explica més sobre aquestes interaccions.

diff --git a/files/ca/web/guide/css/inici_en_css/css_llegible/index.html b/files/ca/web/guide/css/inici_en_css/css_llegible/index.html deleted file mode 100644 index 15b376dad0..0000000000 --- a/files/ca/web/guide/css/inici_en_css/css_llegible/index.html +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: CSS llegible -slug: Web/Guide/CSS/Inici_en_CSS/CSS_llegible -tags: - - CSS - - 'CSS:Getting_Started' - - Guide - - Intermediate - - NeedsBeginnerUpdate - - NeedsLiveSample - - Web -translation_of: Learn/CSS/Introduction_to_CSS/Syntax#Beyond_syntax_make_CSS_readable -translation_of_original: Web/Guide/CSS/Getting_started/Readable_CSS ---- -

{{ CSSTutorialTOC() }}

- -

{{ previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Selectors", "Selectors")}}Aquesta és la 6th secció del tutorial CSS Getting Started; s'analitza l'estil i la gramàtica del propi llenguatge CSS. Es canvia la forma en què  es veu el vostre arxiu CSS d'exemple, perquè sigui més llegible.

- -

Informació: CSS Llegible

- -

Podeu afegir espais en blanc i comentaris en les fulles d'estil perquè siguin més llegibles. També es poden agrupar selectors, quan les mateixes regles d'estil s'apliquen als elements seleccionats de diferents maneres.

- -

Espai en blanc

- -

L'espai en blanc vol dir espais reals, tabuladors i noves línies. Podeu afegir espais en blanc per fer les fulles d'estil més llegible.

- -

En el context del disseny de la pàgina i composició, l'espai en blanc és la part de la pàgina que es deixa sense marcar: marges, separacions, i l'espai entre columnes i línies de text.

- -

El arxiu CSS d'exemple actualment té una regla per línia, i gairebé el mínim d'espai en blanc. En un full d'estil complex aquesta disposició seria difícil de llegir, de manera que difilcutaria el seu manteniment.

- -

El disseny escullit sol ser una preferència personal, però si els fulls d'estil són part de projectes compartits, aquests projectes podrian tenir les seves pròpies convencions.

- -
-
Exemples
- -

Hi ha qui els agrada el disseny compacte que hem estat utilitzant, i només divideixen una línia quan es fa molt llarga:

- -
.carrot {color: orange; text-decoration: underline; font-style: italic;}
-
- -

Hi ha qui prefereix una propietat-valor per línia:

- -
.carrot
-{
-color: orange;
-text-decoration: underline;
-font-style: italic;
-}
-
- -

Hi ha qui utilitza la sagnia de dos espais, quatre espais, o una tabulació són comuns:

- -
.carrot {
-  color: orange;
-  text-decoration: underline;
-  font-style: italic;
-}
-
- -

Hi ha qui els agrada que tot estigui alienat verticalment (però un disseny com aquest és difícil de mantenir):

- -
.carrot
-    {
-    color           : orange;
-    text-decoration : underline;
-    font-style      : italic;
-    }
-
- -

Hi ha qui fa servir espais en blanc mixtes per millorar la lectura.

- -
.vegetable         { color: green; min-height:  5px; min-width:  5px }
-.vegetable.carrot  { color: orange;    height: 90px;     width: 10px }
-.vegetable.spinach { color: darkgreen; height: 30px;     width: 30px }
-
-
- -

Hi ha qui utilitza tabulacions per al disseny. Hi ha qui només utilitza espais.

- -

Comentaris

- -

Els comentaris en CSS comencen amb /* i acaban amb */.

- -

Podeu utilitzar els comentaris per fer comentaris reals en el full d'estil, i també per comentar parts d'ell temporalment per a propòsits de prova.

- -

Per comentar part d'un full d'estil, col·locar aquesta part en un comentari perquè el navegador ho ignori. Aneu amb compte on s'inicia i acaba el comentari. La resta del full d'estil ha de tenir una sintaxi correcta.

- -
-
Exemple
- -
/* style for initial letter C in first paragraph */
-.carrot {
-  color:            orange;
-  text-decoration:  underline;
-  font-style:       italic;
-  }
-
-
- -

Selectors agrupats

- -

Quan molts elements tenen el mateix estil, podeu especificar un grup de selectors, separant-los per comes. La declaració és vàlida per a tots els elements seleccionats.

- -

En una altra part del full d'estils es poden especificar els mateixos selectors de nou de forma individual, per aplicar les regles d'estil individuals a ells.

- -
-
Exemple
- -

Aquesta regla fa que els elements {{ HTMLElement("h1") }}, {{ HTMLElement("h2") }} i {{ HTMLElement("h3") }} tinguin el mateix color.

- -

És convenient especificar el color en un sol lloc, en el cas en què hagi de ser canviat.

- -
/* color for headings */
-h1, h2, h3 {color: navy;}
-
-
- -

Acció: Afegir comentaris i millorar el disseny

- -
    -
  1. Editeu l'arxiu CSS, i assegurar-se que té aquestes regles (en qualsevol ordre): -
    strong {color: red;}
    -.carrot {color: orange;}
    -.spinach {color: green;}
    -#first {font-style: italic;}
    -p {color: blue;}
    -
    -
  2. -
  3. Feu que sigui més llegible reordenant-ho d'una manera que ho trobeu lògic, i mitjançant l'afegit d'espais en blanc i comentaris de la millor manera que us sembli.
  4. -
  5. Deseu el fitxer i refresqueu la pantalla del navegador, per assegurar-se que els canvis no afectin el funcionament de la fulla d'estil: - - - - - - - - - -
    Cascading Style Sheets
    Cascading Style Sheets
    -
  6. -
- -
-
Repte
- -

Comenteu una part de la fulla d'estils, sense canviar res més, perquè la primera lletra del document sigui vermella:

- - - - - - - - - - -
Cascading Style Sheets
Cascading Style Sheets
- -

(Hi ha més d'una manera de fer això.)

- -
-
Possible solution
-One way to do this is to put comment delimiters around the rule for .carrot: - -
/*.carrot {
-  color: orange;
-}*/
-Hide solution
-Veure la solució per el repte.
- -

I ara què?

- -

{{ nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Text_styles", "Estil de text") }}En el estil d'exemple s'ha utilitzat el text en cursiva i subratllat. La pàgina següent descriu més formes d'especificar l'aspecte del text en el document.

diff --git a/files/ca/web/guide/css/inici_en_css/disseny/index.html b/files/ca/web/guide/css/inici_en_css/disseny/index.html deleted file mode 100644 index 28045a681d..0000000000 --- a/files/ca/web/guide/css/inici_en_css/disseny/index.html +++ /dev/null @@ -1,383 +0,0 @@ ---- -title: Disseny -slug: Web/Guide/CSS/Inici_en_CSS/Disseny -tags: - - CSS - - CSS Float - - CSS Text Align - - CSS Unit - - 'CSS:Getting_Started' - - Example - - Guide - - Intermediate - - NeedsBeginnerUpdate - - NeedsLiveSample - - NeedsUpdate - - Web -translation_of: Learn/CSS/CSS_layout -translation_of_original: Web/Guide/CSS/Getting_started/Layout ---- -

{{ CSSTutorialTOC() }}

- -

{{ previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Boxes", "Caixes")}}Aquesta és la 12th secció del tutorial CSS Getting Started descriu algunes maneres d'ajustar el disseny del document. Es canvia el disseny del vostre document d'exemple.

- -

Informació: Disseny

- -

Feu servir CSS per especificar diversos efectes visuals que canvïin el disseny del document. Algunes de les tècniques especifiques de disseny son avançades, i van més enllà de l'àmbit d'aquest tutorial bàsic.

- -

En dissenyar una presentació que tingui un aspecte similar en diferents navegadors, la vostre fulla d'estil interactua amb la fulla d'estil i el motor de disseny predeterminats del navegador de formes que poden ser complexes. Aquest és també un tema avançat, que va més enllà de l'àmbit d'aquest tutorial bàsic.

- -

Aquesta pàgina descriu algunes tècniques simples que podeu intentar.

- -

Estructura del document

- -

Si voleu controlar el disseny del document, llavors és possible que hagiu de canviar la seva estructura.

- -

El llenguatge de marcat del document podria tenir etiquetes d'ús general per a la creació de l'estructura. Per exemple, en HTML podeu utilitzar l'element {{ HTMLElement("div") }} per crear l'estructura.

- -
-
Exemple
- -

En el vostre document d'exemple, els paràgrafs numerats (Numbered paragraphs), en el marc del segon epígraf, no tenen un contenidor propi.

- -

La vostre fulla d'estil no pot dibuixar una vora al voltant d'aquests paràgrafs, perquè no hi ha cap element per especificar en el selector.

- -

Per solucionar aquest problema estructural, es pot afegir una etiqueta {{ HTMLElement("div") }} al voltant dels paràgrafs. Aquesta etiqueta és única, pel que pot ser identificada per un atribut id:

- -
<h3>Numbered paragraphs</h3>
-<div id="numbered">
-  <p>Lorem ipsum</p>
-  <p>Dolor sit</p>
-  <p>Amet consectetuer</p>
-  <p>Magna aliquam</p>
-  <p>Autem veleum</p>
-</div>
-
- -

Ara a la vostre fulla d'estil podeu utilitzar una regla per especificar les vores al voltant de les dues llistes:

- -
ul, #numbered {
-  border: 1em solid #69b;
-  padding-right:1em;
-}
-
- -

El resultat és el següent:

- - - - - - - -
-

(A) The oceans

- -
-
    -
  • Arctic
  • -
  • Atlantic
  • -
  • Pacific
  • -
  • Indian
  • -
  • Southern
  • -
-
- -

(B) Numbered paragraphs

- -
-

1: Lorem ipsum

- -

2: Dolor sit

- -

3: Amet consectetuer

- -

4: Magna aliquam

- -

5: Autem veleum

-
-
-
- -

Unitats de mida

- -

Fins ara, en aquest tutorial, s'han especificat les mides en píxels (px). Aquestes són apropiades, en determinats casos, en un dispositiu de visualització com una pantalla d'ordinador. Però quan l'usuari canvia la mida de la font, el disseny pot semblar inadequat.

- -

Per a molts propòsits, és millor especificar les mides com un percentatge o en ems (em). Un em és nominalment la mida de la font actual (l'amplada d'una lletra m). Quan l'usuari canvia la mida de la lletra, el seu disseny s'ajusta automàticament.

- -
-
Exemple
- -

La vora de l'esquerra d'aquest text té la mida definida en píxels.

- -

La vora de la dreta té la mida definida en ems.

- -

En el vostre navegador, al canviar la mida de la font veureu com la vora de la dreta s'ajusta, però la vora de l'esquerra no ho fa:

- - - - - - - -
-
RESIZE ME PLEASE
-
-
- -
-
Més detalls
- -

Per a altres dispositius, altres unitats de longitud són les adequades.

- -

Hi ha més informació sobre això en una pàgina posterior d'aquest tutorial.

- -

Per als detalls complets dels valors i les unitats que es poden utilitzar, consulteu Valors en l'especificació CSS.

-
- -

Disposició del text

- -

Dues propietats defineixen com el contingut d'un element és alineat. Els podeu utilitzar per realitzar ajustos sencills en el disseny:

- -
-
{{ cssxref("text-align") }}
-
Alinea el contingut. Utilitzeu un d'aquests valors: left, right, center, justify
-
{{ cssxref("text-indent") }}
-
Sagna el contingut en una quantitat que especifiqueu.
-
- -

Aquestes propietats s'apliquen a qualsevol text contingut en l'element, no només al text real. Recordeu que són heretats pels fills de l'element, així que pot ser que hagiu de desactivar-los explícitament en els fills per evitar resultats sorprenents.

- -
-
Exemple
- -

Per centrar les capçaleres:

- -
h3 {
-  border-top: 1px solid gray;
-  text-align: center;
-}
-
- -

Resultant:

- - - - - - - -
-

(A) The oceans

-
- -

En un document HTML, el contingut que es veu per sota d'una capçalera no està estructuralment contingut per la capçalera. Així que quan s'alinea una capçalera com aquesta, les etiquetes sota de l'encapçalament no hereten l'estil.

-
- -

Flotants

- -

La propietat {{ cssxref("float") }} força un element cap a l'esquerra o cap a la dreta. Aquesta és una forma senzilla per controlar la seva posició i mida.

- -

La resta del contingut del document flueix normalment al voltant de l'element flotant. Això es pot controlar mitjançant l'ús de la propietat {{ cssxref("clear") }} en altres elements per fer que es quedin allunyats dels flotants.

- -
-
Exemple
- -

En el vostre document d'exemple, les llistes s'estenen a través de la finestra. Això es pot evitar fent que flotin cap a l'esquerra

- -

Per mantenir les capçaleress en el seu lloc, també heu d'especificar que es mantinguin allunyades dels flotants de la seva esquerra:

- -
ul, #numbered {float: left;}
-h3 {clear: left;}
-
-
- -

El resultat és el següent:

- - - - - - - -
-

(A) The oceans

- -
-
    -
  • Arctic
  • -
  • Atlantic
  • -
  • Pacific
  • -
  • Indian
  • -
  • Southern
  • -
-
- -

(B) Numbered paragraphs

- -
-

1: Lorem ipsum

- -

2: Dolor sit

- -

3: Amet consectetuer

- -

4: Magna aliquam

- -

5: Autem veleum

-
-
- -

(Una mica de farciment (padding) es necessita a la dreta de les caixes, on la vora (border) està massa a prop del text.)

- -

Posicionament

- -

Podeu definir la posició d'un element de quatre maneres, especificant la propietat {{ cssxref ("position") }} i un dels següents valors.

- -

Aquestes són les propietats avançades. És possible utilitzar-les en formes simples, és per això que s'esmenten en aquest tutorial bàsic. Però el seu ús per a dissenys complexos pot ser difícil.

- -
-
relative
-
La posició de l'element es desplaça respecte a la seva posició normal. Utilitzeu aquesta opció per a desplaçar un element en una quantitat especificada. De vegades es pot utilitzar el marge de l'element per aconseguir el mateix efecte.
-
fixed
-
La posició de l'element és fix. Definir la posició de l'element respecte a la finestra del document. Fins i tot si la resta del document es desplaça, l'element roman fix.
-
absolute
-
La posició de l'element es fixa en relació amb un element pare. Solsament un pare que estugui posicionat amb relative, fixed o absolute. Es pot fer que qualsevol element pare sigui adequat especificant position:relative; però sense especificar cap canvi.
-
static
-
-

El valor per defecte. Utilitzeu aquest valor si cal desactivar el posicionament de manera explícita.

-
-
- -

Juntament amb aquests valors de la propietat position (a excepció de static), especifiqueu una o més de les propietats: top, right, bottom, left, width, height per identificar on voleu que aparegui l'element, i potser també la seva grandària.

- -
-
Exemple
- -

Per situar dos elements en un sobre l'altre, crear un contenidor pare en el vostre document amb els dos elements en el seu interior:

- -
<div id="parent-div">
-  <p id="forward">/</p>
-  <p id="back">\</p>
-</div>
-
- -

En la vostre fulla d'estil, fer la posició dels pares relative. No hi ha necessitat d'especificar qualsevol canvi real. Fer la posició dels fills absolute:

- -
#parent-div {
-  position: relative;
-  font: bold 200% sans-serif;
-}
-
-#forward, #back {
-  position: absolute;
-  margin:0px; /* no margin around the elements */
-  top: 0px; /* distance from top */
-  left: 0px; /* distance from left */
-}
-
-#forward {
-  color: blue;
-}
-
-#back {
-  color: red;
-}
-
- -

El resultat es veu així, amb la barra invertida a la part superior de la barra inclinada:

- -
-

/

- -

\

-
- - - - - - - -
 
-
- -
-
Més detalls
- -

La història completa de posicionament ocupa dos capítols complexes en l'especificació CSS Model de format Visual i Detalls del model de format visual.

- -

Si esteu dissenyant fulles d'estil per a treballar en molts navegadors, llavors també cal tenir en compte les diferències en la manera com els navegadors interpreten la norma, i potser els errors en determinades versions de navegadors particulars.

-
- -

Acció: Especificació del disseny

- -
    -
  1. Canvieu el document d'exemple, doc2.html, i la fulla d'estil, style2.css, utilitzant els exemples de més amunt en la secció Estructura del document i Flotants.
  2. -
  3. En l'exemple Flotants afegir farciment per separar el text de la vora dret en 0,5 em.
  4. -
- -
-
Reptes
- -

Modifiqueu el document d'exemple, doc2.html, afegint aquesta etiqueta prop del final, just abans de </body>.

- -
<img id="fixed-pin" src="Yellow-pin.png" alt="Yellow map pin">
-
- -

Si no heu descarregat l'arxiu d'imatge al principi d'aquest tutorial, descarregar-ho ara, i ho col·loqueu en el mateix directori que els altres arxius d'exemple:

- - - - - - - -
Image:Yellow-pin.png
- -

Predir on la imatge apareixerà en el document. A continuació, actualitzeu el navegador per veure si és correcte.

- -

Afegiu una regla a la fulla d'estil que col·loqui la imatge a la part superior dreta del document.

- -

Actualitzeu el navegador i fer la finestra petita. Comproveu que la imatge es queda a la part superior dreta, fins i tot quan es desplaça el document

- -
-
-

(A) The oceans

- -
-
    -
  • Arctic
  • -
  • Atlantic
  • -
  • Pacific
  • -
  • Indian
  • -
  • Southern
  • -
-
- -

(B) Numbered paragraphs

- -
-

1: Lorem ipsum

- -

2: Dolor sit

- -

3: Amet consectetuer

- -

4: Magna aliquam

- -

5: Autem veleum

-
- -

 

- -
Yellow map pin
-
-
-
- -

 Veure la solució per el repte.

- -

I ara què?

- -

{{ nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Tables", "Taules") }}S'han cobert gairebé tots els temes d'aquest tutorial bàsic de CSS. La pàgina següent descriu selectors més avançats per a regles CSS, i algunes formes específiques en el disseny de taules.

diff --git a/files/ca/web/guide/css/inici_en_css/estils_de_text/index.html b/files/ca/web/guide/css/inici_en_css/estils_de_text/index.html deleted file mode 100644 index a1a8c9364f..0000000000 --- a/files/ca/web/guide/css/inici_en_css/estils_de_text/index.html +++ /dev/null @@ -1,162 +0,0 @@ ---- -title: Estils de text -slug: Web/Guide/CSS/Inici_en_CSS/Estils_de_text -tags: - - Beginner - - CSS - - CSS Fonts - - 'CSS:Getting_Started' - - Guide - - NeedsBeginnerUpdate - - NeedsLiveSample - - NeedsUpdate - - Web -translation_of: Learn/CSS/Styling_text/Fundamentals -translation_of_original: Web/Guide/CSS/Getting_started/Text_styles ---- -

{{ CSSTutorialTOC() }}

- -

{{previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Readable_CSS", "CSS llegible")}} Aquesta és la 7th secció del tutorial CSS Getting Started; es donen més exemples d'estils de text. Modifiqueu la fulla d'estil d'exemple per utilitzar diferents fonts.

- -

Informació: Estils de text

- -

CSS té diverses propietats d'estil de text.

- -

Hi ha una propietat abreujada convenient, {{ cssxref("font") }}, que podeu utilitzar per especificar diversos aspectes alhora, per exemple:

- - - -
-
Exemple
- -
p {
-font: italic 75%/125% "Comic Sans MS", cursive;
-}
-
- -

Aquesta regla estableix diverses propietats de la font, fent tots els paràgrafs en cursiva.

- -

La mida de la font s'estableix en les tres quartes parts de la mida d'element pare de cada paràgraf, i l'alçada de la línia s'estableix en 125% (una mica més separats del normal).

- -

El tipus de lletra s'estableix en la Comic Sans MS, però si aquest tipus de lletra no està disponible, el navegador farà ús del seu tipus de lletra cursiva per defecte (escrit a mà).

- -

La regla té l'efecte secundari de desactivar negreta i small-caps (establint el seu valor a normal).

-
- -

Tipus de fonts

- -

No es pot predir que tipus de lletra tindran els lectors del vostre document . Quan especifiqueu tipus de lletra de font, és una bona idea proporcionar una llista d'alternatives en ordre de preferència.

- -

Acabar la llista amb un dels tipus de lletra per defecte incorporats: serif, sans-serif, cursive, fantasy o monospace.

- -

Si el tipus de lletra no és compatible amb algunes característiques en el document, el navegador pot substituir per un tipus de lletra diferent. Per exemple, el document pot contenir caràcters especials que el tipus de lletra no admet. Si el navegador pot trobar un altre tipus de lletra que té aquests caràcters, llavors farà servir un altre tipus de lletra.

- -

Per especificar un tipus de lletra, utilitzar la propietat {{ cssxref("font-family") }}.

- -

Les mides de la font

- -

Els usuaris del navegador poden anul·lar les mides de font per defecte o canviar la mida de text mentre llegeixen una pàgina, pel que té sentit el que utilitzeu mides relatives on es pugui.

- -

Podeu utilitzar alguns valors incorporats per mides de font, com small, medium i large. També podeu utilitzar valors relatius a la mida de font de l'element pare com: smaller, larger, 150% o 1.5em. Un "em" és equivalent a l'amplada de la lletra "m" (per la mida de font de l'element pare); per tant 1.5em és una vegada i mitja la mida de la font de l'element pare.

- -

Si cal, podeu especificar una mida real com: 14px (14 píxels) per a un dispositiu de visualització o 14pt (14 punts) per a una impressora. Això no és accessible per als usuaris amb discapacitat visual, ja que no els permet canviar la mida. Una estratègia més accessible és establir un valor incorporat com a mitjà en un element de nivell superior del document i, a continuació establir les mides relatives de tots els seus elements descendents.

- -

Per especificar una mida de font, utilitzar la propietat {{ cssxref("font-size") }}.

- -

Alçada de la línia

- -

L'alçada de la línia especifica l'espaiat entre línies. Si el document té els paràgrafs llargs amb moltes línies, una separació més gran del normal fa que sigui més fàcil de llegir, especialment si la mida de la font és petita.

- -

Per especificar l'alçada de la línia, utilitzar la propietat {{ cssxref("line-height") }}.

- -

Decoració

- -

A part de la propietat {{ cssxref("text-decoration") }} podeu especificar altres estils, com el subratllat(underline) o ratllat(line-through). Podeu configurar-ho a none per eliminar explícitament qualsevol decoració.

- -

Altres propietats

- -

Per especificar cursiva, utilitzar {{ cssxref("font-style") }}: italic;
- Per especificar negreta , utilitzar {{ cssxref("font-weight") }}: bold;
- Per especificar majúscules petites , utilitzar {{ cssxref("font-variant") }}: small-caps;

- -

Per desactivar qualsevol d'ells individualment, especificar el valor normal o inherit.

- -
-
Mé detalls
- -

Podeu especificar els estils de text d'altres maneres variades.

- -

Per exemple, algunes de les propietats esmentades aquí tenen altres valors que podeu utilitzar.

- -

En una fulla d'estil complexa, eviteu l'ús de la propietat de font abreujada, causa efectes secundaris (reposició d'altres propietats individuals).

- -

Per a més detalls de les propietats que es relacionen amb les fonts, vegeu Fonts en l'especificació CSS. Per a més detalls de decoració del text, vegeu Text.

- -

Si no voleu dependre dels tipus de lletra instal·lats en els sistemes dels usuaris, podeu utilitzar {{ cssxref("@font-face") }} per especificar una font en línia. No obstant això, requereix que els usuaris tinguin un navegador compatible amb aquesta regla.

-
- -

Acció: Especificació de les fonts

- -

Per a un document senzill, es pot establir la font de l'element {{ HTMLElement("body") }} i la resta del document hereta la configuració.

- -
    -
  1. Editeu l'arxiu CSS.
  2. -
  3. Afegiu la següent regla per canviar el tipus de lletra en tot el document. La part superior de l'arxiu CSS és un lloc lògic per a ell, però té el mateix efecte allà on ho posis: -
    body {
    -font: 16px "Comic Sans MS", cursive;
    -}
    -
    -
  4. -
  5. Afegiu un comentari explicant la regla, i afegiu espai en blanc per a que coincideixi amb el vostre disseny preferit.
  6. -
  7. Deseu el fitxer i actualitzeu el navegador per veure l'efecte. Si el sistema té Comic Sans MS, o una altra font cursiva que no suporta cursiva, l'explorador tria un tipus de lletra diferent per al text en cursiva en la primera línia:: - - - - - - - - - -
    Cascading Style Sheets
    Cascading Style Sheets
    -
  8. -
  9. Des de la barra de menú del navegador, seleccioneu View > Text Size > Increase (o View > Zoom > Zoom In). Tot i que heu especificat 16 píxels en l'estil, un usuari en llegir el document pot canviar la mida.
  10. -
- -
-
Repte
- -

Sense canviar res més, fer que totes les sis lletres inicials sigui dues vegades la mida de la font serif per defecte en el navegador:

- - - - - - - - - - -
Cascading Style Sheets
Cascading Style Sheets
- -
-
Possible solution
- -

Add the following style declaration to the strong rule:

- -
  font: 200% serif;
-
-If you use separate declarations for font-size and font-family, then the font-style setting on the first paragraph is not overridden. - -

 

-Hide solution
-Veure la solució per el repte.
- -

I ara què?

- -

{{nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Color", "Color")}}El document d'exemple utilitza diversos colors amb nom. En la següent secció s'enumeren els noms dels colors estàndard i s'explica com es poden especificar altres.

diff --git a/files/ca/web/guide/css/inici_en_css/index.html b/files/ca/web/guide/css/inici_en_css/index.html deleted file mode 100644 index 8de66f308e..0000000000 --- a/files/ca/web/guide/css/inici_en_css/index.html +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Inici en CSS -slug: Web/Guide/CSS/Inici_en_CSS -tags: - - Beginner - - CSS - - 'CSS:Getting_Started' - - Guide - - Needs - - NeedsBeginnerUpdate - - NeedsUpdate - - Web -translation_of: Learn/CSS/First_steps -translation_of_original: Web/Guide/CSS/Getting_started ---- -

Aquest tutorial és una introducció a les característiques bàsiques i llenguatge (la sintaxi) per als fulls d'estil en cascada(Cascading Style Sheets) (CSS). S'utilitza CSS per canviar l'aspecte d'un document estructurat, com ara una pàgina web. El tutorial també inclou exemples d'exercicis que podeu provar en el vostre ordinador per veure els efectes de les CSS i les característiques que funcionen en els navegadors moderns.

- -

El tutorial és per a principiants i per qualsevol persona que desitji revisar els conceptes bàsics de CSS. Si teniu més experiència amb CSS, la pàgina principal de CSS enumera els recursos més avançats.

- - - -

Que es necessita per començar

- - - -

Encara que els exercicis poden ajudar-te a aprendre, no és necessari realitzar-los. Simplement podeu llegir el tutorial i mirar les imatges.

- -

Nota: El tutorial s'explica com funciona CSS amb el color. Serà més fàcil per completar aquestes seccions amb una pantalla a color i visió de color normal.

- -

Com utilitzar aquest tutorial

- -

Per utilitzar aquest tutorial, llegiu les pàgines amb cura i de forma seqüencial. Si es salta una pàgina, pot ser difícil d'entendre les pàgines següents en el tutorial.

- -

Part I: Els fonaments del CSS

- -

A cada pàgina, utilitzeu la secció d'informació per entendre com funciona CSS. Utilitzeu la secció Acció per probar l'ús de CSS en el vostre ordinador.

- -

Per posar a prova la vostre comprensió, prendre el repte al final de cada pàgina. Les solucions als reptes estan vinculats en virtut dels reptes, pel que no és necessari mirar-los si no ho desitjeu.

- -

Per comprendre CSS amb més profunditat, llegiu la informació que es troba en les caselles de subtítols Més detalls. Utilitzeu els enllaços que hi ha per trobar informació de referència sobre CSS

- -

Part II: L'Abast del CSS

- -

Una segona part del programa d'aprenentatge proporciona exemples, que mostren l'abast de CSS amb altres tecnologies web i Mozilla.

- -
    -
  1. JavaScript
  2. -
  3. SVG graphics
  4. -
  5. XML data
  6. -
  7. XBL bindings
  8. -
  9. XUL user interfaces
  10. -
diff --git a/files/ca/web/guide/css/inici_en_css/javascript/index.html b/files/ca/web/guide/css/inici_en_css/javascript/index.html deleted file mode 100644 index 83a6f18c98..0000000000 --- a/files/ca/web/guide/css/inici_en_css/javascript/index.html +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: JavaScript i CSS -slug: Web/Guide/CSS/Inici_en_CSS/JavaScript -tags: - - CSS - - 'CSS:Getting_Started' - - Example - - Guide - - Intermediate - - NeedsUpdate - - Web -translation_of: Learn/JavaScript/Client-side_web_APIs/Manipulating_documents -translation_of_original: Web/Guide/CSS/Getting_started/JavaScript ---- -

{{ CSSTutorialTOC() }}

- -

Aquesta és la primera secció de la Part II del tutorial CSS. La Part II conté alguns exemples que mostren l'abast de CSS utilitzat amb altres tecnologies web i Mozilla.

- -

Cada pàgina en la part II il·lustra com interactua amb CSS alguna altra tecnologia. Aquestes pàgines no estan dissenyades per ensenyar com utilitzar aquestes altres tecnologies. Aneu a altres tutorials per aprendre sobre elles en detall.

- -

En lloc d'això, aquestes pàgines estan dissenyades per il·lustrar els molts usos de CSS. Per utilitzar aquestes pàgines, heu de tenir algun coneixement de CSS, però no cal cap coneixement d'unes altres tecnologies.

- -

Secció anterior (Part I): Mitjà
- Secció següent: SVG

- -

Informació: JavaScript

- -

JavaScript és un llenguatge de programació. JavaScript s'utilitza àmpliament per proporcionar interactivitat en els llocs web i aplicacions.

- -

JavaScript pot interactuar amb les fulles d'estil, permetent-li escriure programes que canvien l'estil d'un document de forma dinàmica.

- -

Hi ha tres maneres de fer això:

- - - - - - - - - - -
Més detalls
Per obtenir més informació sobre JavaScript, vegeu la pàgina de JavaScript en aquest wiki.
- -

Acció: Una demostració de JavaScript

- -

Feu un nou document HTML, doc5.html. Copieu i enganxeu el contingut d'aquí, assegurar-vos de deplaçar-vos per obtenir tota ella;

- -
-
<!DOCTYPE html>
-<html>
-
-<head>
-<title>Mozilla CSS Getting Started - JavaScript demonstration</title>
-<link rel="stylesheet" type="text/css" href="style5.css" />
-<script type="text/javascript" src="script5.js"></script>
-</head>
-
-<body>
-<h1>JavaScript sample</h1>
-<div id="square"></div>
-<button>Click Me</button>
-
-</body>
-</html>
-
-
- -

Feu una nova fulla d'estil CSS, style5.css. Copieu i enganxeu el contingut d'aquí:

- -
-
  #square {
-    width: 120px;
-    height: 120px;
-    border: 2px inset gray;
-    margin-bottom: 1em;
-  }
-
-  button {
-    padding: .5em 2em;
-  }
-
- -

Feu un nou arxiu de text, script5.js. Copieu i enganxeu el contingut d'aquí:

- -
-
// JavaScript demonstration
-var changeBg = function (event) {
-    console.log("method called");
-    var me = event.target
-    ,   square = document.getElementById("square");
-    square.style.backgroundColor = "#ffaa44";
-    me.setAttribute("disabled", "disabled");
-    setTimeout(function () { clearDemo(me) }, 2000);
-}
-
-function clearDemo(button) {
-    var square = document.getElementById("square");
-    square.style.backgroundColor = "transparent";
-    button.removeAttribute("disabled");
-}
-
-var button = document.querySelector("button");
-button.addEventListener("click", changeBg);
-console.log(button);
-
-
- -

Obriu el document en el navegador i premeu el botó o vegeu una mostra del treball a continuació.

- -

{{ EmbedLiveSample('Action:_A_JavaScript_demonstration', 320,320) }}

- -
Notes importants sobre aquesta demostració: - - -
- -
-

De fet, el document HTML anterior pot tenir una condició de competència  (informació relacionada en aquesta pàgina W3C), ja que té l'element script dins de l'element head podent inicar-se l'execució del codi JavaScript abans que la pàgina acabi de carregar-se i el codi no funcionarà perquè la variable button serà nul.la. En moure l'element script sota de l'element button (just damunt de l'etiqueta de tancament body) en el marcat HTML hauria de resoldre aquest problema.

-
- - - - - - - - -
Repte
Canvieu el script perquè el quadre salti a la dreta 20 em quan el seu color canviï, i salti cap a enrere després.
- -

Veure la solució per el repte.

- -

I ara què?

- -

Si teniu dificultats per entendre aquesta pàgina o si teniu altres comentaris al respecte, si us plau, contribuïu a la vostre pàgina de discussió.

- -

En aquesta demostració, el document HTML vincula el script tot i que només l'element button utilitza el script. Mozilla estén CSS de manera que pugui vincular codi JavaScript (i també contingut i altres fulles d'estil) per als elements seleccionats. La pàgina següent mostra això: vincles XBL

diff --git a/files/ca/web/guide/css/inici_en_css/llistes/index.html b/files/ca/web/guide/css/inici_en_css/llistes/index.html deleted file mode 100644 index a6bd0d31a1..0000000000 --- a/files/ca/web/guide/css/inici_en_css/llistes/index.html +++ /dev/null @@ -1,276 +0,0 @@ ---- -title: Llistes -slug: Web/Guide/CSS/Inici_en_CSS/Llistes -tags: - - Beginner - - CSS - - 'CSS:Getting_Started' - - Example - - Guide - - Intermediate - - NeedsBeginnerUpdate - - NeedsUpdate - - Web -translation_of: Learn/CSS/Styling_text/Styling_lists -translation_of_original: Web/Guide/CSS/Getting_started/Lists ---- -

{{ CSSTutorialTOC() }}

- -

{{ previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Content", "Contingut") }} Aquesta és la 10th secció del tutorial CSS Getting Started; descriu com es pot utilitzar CSS per especificar l'aspecte de les llistes. Heu de crear un nou document d'exemple que contindrà les llistes, i un nova fulla d'estil que és el estil de les llistes.

- -

Informació: Llistes

- -

Si vau aprendre el repte en l'última secció, llavors va veure com es podia afegir contingut abans de qualsevol element perquè aparegués com un element de la llista.

- -

CSS proporciona propietats especials que estan dissenyades per a les llistes. En general, és convenient utilitzar aquestes propietats sempre que pugueu.

- -

Per especificar l'estil a una llista, utilitzeu la propietat {{ cssxref("list-style") }} per especificar el tipus de marcador.

- -

El selector en la seva regla CSS pot seleccionar els elements de la llista d'elements (per exemple, {{ HTMLElement("li") }} ) o es pot seleccionar l'element de la llista dels pares (per exemple, {{ HTMLElement ("ul") }}) de manera que els elements de la llista hereten l'estil.

- -

Llistes no ordenades

- -

En una llista no ordenada, cada element de la llista està marcat de la mateixa manera.

- -

CSS té tres tipus de marcadors, i aquí es veu com el navegador els mostra:

- - - -

També podeu especificar l'adreça URL d'una imatge.

- -
-
Exemple
- -

Aquestes regles especifiquen diferents marcadors per a diferents classes d'elements de la llista:

- -
li.open {list-style: circle;}
-li.closed {list-style: disc;}
-
- -

Quan aquestes classes s'utilitzen en una llista, distingeix entre els elements oberts i tancats (per exemple, en una llista de tasques pendents):

- -
<ul>
-  <li class="open">Lorem ipsum</li>
-  <li class="closed">Dolor sit</li>
-  <li class="closed">Amet consectetuer</li>
-  <li class="open">Magna aliquam</li>
-  <li class="closed">Autem veleum</li>
-</ul>
-
- -

El resultat és el següent:

- -

{{ EmbedLiveSample('Unordered_lists', '', '', '') }}

-
- -

Llistes ordenades

- -

En una llista ordenada, cada element de la llista es marca de manera diferent per mostrar la seva posició en la seqüència.

- -

Utilitzeu la propietat {{ cssxref("list-style") }} per especificar el tipus de marcador:

- - - -
-
Exemple
- -

Aquesta regla especifica que els elements en {{ HTMLElement ("ol") }}  amb la classe info, els elements s'identifiquen amb lletres majúscules.

- -
<ol class="info">
-  <li>Lorem ipsum</li>
-  <li>Dolor sit</li>
-  <li>Amet consectetuer</li>
-  <li>Magna aliquam</li>
-  <li>Autem veleum</li>
-</ol>
- -
ol.info {list-style: upper-latin;}
-
- -

El elements {{ HTMLElement ("li") }} en la llista hereten aquest estil:

- -

{{ EmbedLiveSample('Ordered_lists', '', '', '') }}

-
- -
-
Més detalls
- -

La propietat {{ cssxref ("list-style") }} és una propietat abreujada. En les fulles d'estil complexes és possible que preferiu utilitzar les propietats independents per establir els valors per separat. Per als enllaços a aquestes propietats separades, i més detalls de com CSS especifica les llistes, consulteu la pàgina de referència {{ cssxref ("list-style") }}.

- -

Si utilitzeu un llenguatge de marques com l'HTML que proporciona marques convencionals per llistes no ordenades ({{ HTMLElement("ul") }}) i llistes ordenades ({{ HTMLElement("ol") }}), llavors és una bona pràctica utilitzar les etiquetes en la forma en què estan destinades. No obstant això, podeu utilitzar CSS per fer que {{ HTMLElement("ul") }} aparegui ordenat i {{ HTMLElement("ol") }} aparegui desordenat si ho desitjeu.

- -

Els navegadors difereixen en la forma d'aplicar els estils de llistes. No espereu que la vostre fulla d'estil doni resultats idèntics en tots els navegadors.

-
- -

Comptadors

- -
-

Note:  Alguns navegadors no suporten comptadors. La pàgina continguts CSS i compatibilitat del navegador en el lloc Quirks Mode conté un gràfic detallat de la compatibilitat dels navegadors per això i altres característiques CSS. Pàgines individuals en la Referència CSS d'aquest lloc, també tenen taules de compatibilitat del navegador.

-
- -

Podeu utilitzar comptadors per enumerar els elements, no només els elements de la llista. Per exemple, en alguns documents és possible que vulgueu numerar les capçaleres o paràgrafs.

- -

Per especificar la numeració, es necessita un comptador amb un nom que definiu.

- -

En algun element abans que el recompte s'iniciï, reinicieu el comptador amb la propietat {{ cssxref("counter-reset") }} i el nom del seu comptador. El pare dels elements que està comptant és un bon lloc per fer-ho, però podeu utilitzar qualsevol element que vingui abans que els elements de la llista.

- -

Per cada element en el qual s'incrementa el comptador, utilitzeu la propietat {{ cssxref("counter-increment") }} i el nom del seu comptador.

- -

Per mostrar el comptador, afegiu {{ cssxref("::before") }} o {{ cssxref("::after") }} per al selector i l'ús de la propietat content (com ho va fer en la pàgina anterior, Content).

- -

En el valor de la propietat content, especifiqueu counter() amb el nom del vostre comptador. També podeu indicar un tipus. Els tipus són els mateixos que en la secció anterior de llistes ordenades.

- -

Normalment, l'element que mostra el comptador també l'incrementa.

- -
-
Exemple
- -

Aquesta regla inicialitza un comptador per a cada element {{ HTMLElement("h3") }} amb la classe numbered:

- -
h3.numbered {counter-reset: mynum;}
-
- -

Aquesta regla mostra i incrementa el comptador per a cada element {{ HTMLELement("p") }} amb la classe numbered:

- -
<p class="numbered">Lorem ipsum</p>
-<p class="numbered">Dolor sit</p>
-<p class="numbered">Amet consectetuer</p>
-<p class="numbered">Magna aliquam</p>
-<p class="numbered">Autem veleum</p>
-
- -
body {
-   counter-reset: mynum;
-}
-p.numbered:before {
-  content: counter(mynum) ": ";
-  counter-increment: mynum;
-  font-weight: bold;
-}
-
- -

El resultat és el següent:

- -

{{ EmbedLiveSample("Counters", '300', '200', '') }}

-
- -
-
Més detalls
- -

No podeu utilitzar comptadors a menys que sàpigueu que tot el que llegeixi el document té un navegador compatible amb ells.

- -

Si sou capaços d'utilitzar els comptadors, tenen l'avantatge que podeu donar estil els comptadors per separat dels elements de la llista. En l'exemple anterior, els comptadors estan en negreta, però els elements de la llista no ho estan.

- -

També podeu utilitzar els comptadors en formes més complexes, per exemple, al nombre de seccions, títols, subtítols i paràgrafs en els documents formals. Per a més detalls, consulteu Comptadors i numeració automàtica en l'especificació CSS.

-
- -

Acció: Llistes amb estil

- -

Feu un nou document HTML, doc2.html. Copieu i enganxeu el contingut d'aquí:

- -
<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="UTF-8">
-    <title>Sample document 2</title>
-    <link rel="stylesheet" href="style2.css">
-  </head>
-  <body>
-
-    <h3 id="oceans">The oceans</h3>
-    <ul>
-      <li>Arctic</li>
-      <li>Atlantic</li>
-      <li>Pacific</li>
-      <li>Indian</li>
-      <li>Southern</li>
-    </ul>
-
-    <h3 class="numbered">Numbered paragraphs</h3>
-    <p class="numbered">Lorem ipsum</p>
-    <p class="numbered">Dolor sit</p>
-    <p class="numbered">Amet consectetuer</p>
-    <p class="numbered">Magna aliquam</p>
-    <p class="numbered">Autem veleum</p>
-
-  </body>
-</html>
-
- -

Feu un nova fulla d'estil, style2.css. Copieu i enganxeu el contingut d'aquí:

- -
/* numbered paragraphs */
-h3.numbered {counter-reset: mynum;}
-
-p.numbered:before {
-  content: counter(mynum) ": ";
-  counter-increment: mynum;
-  font-weight: bold;
-}
-
- -

Si la disposició i el comentari no són del vostre gust, canvieu-los.

- -

Obriu el document en el navegador. Si el navegador és compatible amb els comptadors, es veurà alguna cosa semblant com l'exemple a continuació. Si el vostre navegador no suporta comptadors, llavors no veureu els números (i probablement ni tan sols els dos punts):

- -

{{ EmbedLiveSample('Action_Styled_lists', '300', '400', '') }}

- -
-
Reptes
- -

Afegiu una regla a la fulla d'estil, per numerar els oceans utilitzant nombres romans de l'I al V:

- - - - - - - -
-

The oceans

- -
    -
  • Arctic
  • -
  • Atlantic
  • -
  • Pacific
  • -
  • Indian
  • -
  • Southern
  • -
-
- -

 

- -

Canvieu la fulla d'estil per identificar les capçaleres amb lletres majúscules i en parèntesi com aquest:

- - - - - - - -
-

(A) The oceans

- -

. . .

- -

(B) Numbered paragraphs

- -

. . .

-
-
- -

Veure la solució per el repte.

- -

I ara què?

- -

{{ nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Boxes", "Caixes") }}Quan el navegador mostra el document d'exemple, es crea un espai al voltant dels elements quan els col·loca a la pàgina. La pàgina següent descriu com podeu utilitzar CSS per treballar amb les formes subjacents d'elements, caixes.

diff --git "a/files/ca/web/guide/css/inici_en_css/mitj\303\240/index.html" "b/files/ca/web/guide/css/inici_en_css/mitj\303\240/index.html" deleted file mode 100644 index f3b14fb062..0000000000 --- "a/files/ca/web/guide/css/inici_en_css/mitj\303\240/index.html" +++ /dev/null @@ -1,402 +0,0 @@ ---- -title: Mitjà -slug: Web/Guide/CSS/Inici_en_CSS/Mitjà -tags: - - CSS - - 'CSS:Getting_Started' - - Example - - Guide - - Intermediate - - NeedsBeginnerUpdate - - NeedsLiveSample - - NeedsUpdate - - Web -translation_of: Web/Progressive_web_apps/Responsive/Media_types ---- -

{{CSSTutorialTOC}} {{previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Tables", "Taules")}}

- -

Aquesta és la 14th secció de la Part I del tutorial CSS Getting Started Moltes de les pàgines d'aquest tutorial s'han centrat en les propietats CSS i els valors que es poden utilitzar per especificar com mostrar un document. Aquesta pàgina es veu de nou en el propòsit i l'estructura de les fulles d'estil CSS.

- -

Informació: Mitjà

- -

El propòsit de CSS és especificar com els documents es presenten a l'usuari. La presentació pot tenir més d'una forma.

- -

Per exemple, és probable que estigueu llegint aquesta pàgina en un dispositiu de visualització. Però també pot ser que el vulgueu projectar en una pantalla per a una gran audiència, o imprimir-ho. Aquests diferents mitjans poden tenir característiques diferents. CSS proporciona formes de presentar un document de manera diferent en diferents mitjans.

- -

Per especificar regles que són específiques d'un tipus de mitjà, utilitzeu {{CSSXref("@media")}} seguit pel tipus de mitjà, seguit de claus que tanquen les regles.

- -
-
Exemple
- -

Un document, en un lloc web, té una àrea de navegació per permetre a l'usuari moure's pel lloc.

- -

En el llenguatge de marcat, l'element pare de l'àrea de navegació té el id nav-area. (A {{HTMLVersionInline (5)}}, això pot ser marcat amb l'element {{HTMLElement("nav")}} en lloc de {{HTMLElement("div")}} amb un atribut id.)

- -

Quan s'imprimeix el document, l'àrea de navegació no té cap propòsit, de manera que la fulla d'estil l'elimina per complet:

- -
@media print {
-  #nav-area {display: none;}
-  }
-
-
- -

Alguns dels tipus de mitjans comuns són:

- - - - - - - - - - - - - - - - - - - - -
screenColor pantalla ordinador
printMitjans paginats
projectionPantalla projectada
allTots els mitjans (per defecte)
- -
-
Més detalls
- -

Hi ha altres formes d'especificar el tipus de mitjà d'un conjunt de regles.

- -

El llenguatge de marcat del document pot permetre que s'especifiqui el tipus de mitjà quan la fulla d'estil està vinculada al document. Per exemple, en HTML es pot especificar opcionalment el tipus de mitjà amb un atribut media en l'etiqueta LINK.

- -

En CSS podeu utilitzar {{CSSXref("@import")}} a l'inici d'una fulla d'estil per importar un altre fulla d'estil des d'una URL, especificant opcionalment el tipus de mitjà.

- -

Mitjançant l'ús d'aquestes tècniques es poden separar regles d'estil per a diferents tipus de mitjans en diferents arxius. Això de vegades és una forma útil d'estructurar les fulles d'estil.

- -

Per a més detalls sobre els tipus de mitjans, vegeu Mtjà en l'especificació CSS.

- -

Hi ha més exemples de la propietat {{cssxref ("display")}} en una pàgina posterior d'aquest tutorial: dades XML.

-
- -

Impressió

- -

CSS té algun suport específic per a la impressió i dels mitjans paginats en general.

- -

Un regla {{cssxref("@page")}} pot establir els marges de pàgina. Per a la impressió a doble cara, es poden definir els marges per separat per a @page:left i @page:right.

- -

Per als mitjans d'impressió, normalment s'utilitza com a unitats de longitud les polzades (in) i punts (pt = 1/72 polzades) o centímetres (cm) i mil·límetres (mm). És igualment apropiat utilitzar ems (em) perquè coincideixi amb la mida de font i percentatges (%).

- -

Podeu controlar la forma en què el contingut del document es divideix entre els límits de pàgina, mitjançant l'ús de les propietats {{cssxref("page-break-before")}}, {{cssxref("page-break-after")}} i {{cssxref("page-break-inside")}}.

- -
-
Exemple
- -

Aquesta regla estableix els marges de pàgina a una polzada en els quatre costats:

- -
@page {margin: 1in;}
-
- -

Aquesta regla assegura que cada element H1 comença en una nova pàgina:

- -
h1 {page-break-before: always;}
-
-
- -
-
Més detalls
- -

Per als detalls complets de suport de CSS per als mitjans paginats, veure Mitjans paginats en l'especificació CSS.

- -

Igual que altres característiques de CSS, la impressió depèn del navegador i la seva configuració. Per exemple, el navegador Mozilla subministra marges predeterminats, capçaleres i peus quan s'imprimeix. Quan altres usuaris imprimeixin el document, és probable que no sapigan quin navegador és i quina  configuració té, de manera que és possible que no poguin controlar completament els resultats.

-
- -

Interfícies d'usuari

- -

CSS té algunes propietats especials per als dispositius que suporten una interfície d'usuari, com pantalles d'ordinador. Això fa que l'aspecte del document canvii dinàmicament a mesura que l'usuari treballa amb la interfície.

- -

No hi ha cap tipus de mitjà especial per als dispositius amb interfícies d'usuari.

- -

Hi ha cinc selectors especials:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SelectorSelects
E{{cssxref(":hover")}}Qualsevol element E que té el punter sobre ell
E{{cssxref(":focus")}}Qualsevol element E que té el focus del teclat
E{{cssxref(":active")}}L'element E que està implicat en l'acció de l'usuari actual
E{{cssxref(":link")}}Qualsevol element E que és un hipervincle a una adreça URL que l'usuari no ha visitat recentment
E{{cssxref(":visited")}}Qualsevol element E que és un hipervincle a una adreça URL que l'usuari ha visitat recentment
- -
-

Nota: La informació que es pot obtenir del selector :visited està restringida a {{gecko("2.0")}}. Veure Privacitat i el selector :visited per a més detalls.

-
- -

La propietat {{cssxref("cursor")}} especifica la forma del punter: Algunes de les formes comunes són els següents. Col·loqueu el ratolí sobre els elements de la llista per veure les formes de punter reals en el vostre navegador:

- - - - - - - - - - - - - - - - - - - - - - - - -
SelectorSelects
pointerIndica un vincle
waitIndica que el programa no pot acceptar l'entrada
progressIndica que el programa està funcionant, encara pot acceptar l'entrada
defaultEl valor per defecte (normalment una fletxa)
- -

Una propietat {{cssxref("outline")}} crea un contorn que sovint s'utilitza per indicar el focus del teclat. Els seus valors són similars a la propietat {{cssxref("border")}}, excepte que no es poden definir els costats individualment.

- -

Algunes altres característiques de les interfícies d'usuari s'implementen utilitzant atributs, en la forma normal. Per exemple, un element que és deshabilitat o de només lectura té l'atribut disabled o l'atribut readonly. Els selectors poden especificar aquests atributs com qualsevol altre atribut, mitjançant l'ús de claudàtors: {{mediawiki.external('disabled')}} o {{mediawiki.external('readonly')}}.

- -
-
Exemple
- -

Aquestes regles especifiquen els estils per a un botó que canvia dinàmicament a mesura que l'usuari interactua amb ell:

- -
.green-button {
-  background-color:#cec;
-  color:#black;
-  border:2px outset #cec;
-  }
-
-.green-button[disabled] {
-  background-color:#cdc;
-  color:#777;
-  }
-
-.green-button:active {
-  border-style: inset;
-  }
-
- -

Aquest wiki no és compatible amb una interfície d'usuari en la pàgina, pel que aquests botons no "fan clic". Aquestes són algunes de les imatges estàtiques per il·lustrar la idea:

- - - - - - - -
- - - - - - - - - - - - - - - - -
Click MeClick MeClick Me
 
deshabilitatnormalactiu
-
- -

Un botó completament funcional també té un contorn fosc al voltant de tot el botó quan el valor és per defecte, i un contorn en línia de punts a la cara del botó quan té el focus del teclat. També podria tenir un efecte estacionari quan el punter es troba a sobre d'ell.

-
- -
-
Més detalls
- -

Per obtenir més informació sobre les interfícies d'usuari en el CSS, vegeu Interfície d'usuari en l'especificació CSS.

- -

Hi ha un exemple del llenguatge de marcat de Mozilla per a interfícies d'usuari, XUL, en la Part II d'aquest tutorial.

-
- -

Acció: Impressió d'un document

- -
    -
  1. Feu un nou document HTML, doc4.html. Copieu i enganxeu el contingut d'aquí: - -
    <!DOCTYPE html>
    -<html>
    -  <head>
    -    <title>Print sample</title>
    -    <link rel="stylesheet" href="style4.css">
    -  </head>
    -  <body>
    -    <h1>Section A</h1>
    -    <p>This is the first section...</p>
    -    <h1>Section B</h1>
    -    <p>This is the second section...</p>
    -    <div id="print-head">
    -      Heading for paged media
    -    </div>
    -    <div id="print-foot">
    -      Page:
    -    </div>
    -</body>
    -</html>
    -
    -
  2. -
  3. Feu una nova fulla d'estil, style4.css. Copieu i enganxeu el contingut d'aquí: -
    /*** Print sample ***/
    -
    -/* defaults  for screen */
    -#print-head,
    -#print-foot {
    -  display: none;
    -  }
    -
    -/* print only */
    -@media print {
    -
    -h1 {
    -  page-break-before: always;
    -  padding-top: 2em;
    -  }
    -
    -h1:first-child {
    -  page-break-before: avoid;
    -  counter-reset: page;
    -  }
    -
    -#print-head {
    -  display: block;
    -  position: fixed;
    -  top: 0pt;
    -  left:0pt;
    -  right: 0pt;
    -
    -  font-size: 200%;
    -  text-align: center;
    -  }
    -
    -#print-foot {
    -  display: block;
    -  position: fixed;
    -  bottom: 0pt;
    -  right: 0pt;
    -
    -  font-size: 200%;
    -  }
    -
    -#print-foot:after {
    -  content: counter(page);
    -  counter-increment: page;
    -  }
    -
    -} /* end print only */
    -
    -
  4. -
  5. Vegeu aquest document en el vostre navegador; utilitza l'estil per defecte del navegador.
  6. -
  7. Imprimir (o vista prèvia d'impressió) el document; la fulla d'estil col·loca cada secció en una pàgina separada, i s'afegeix una capçalera i peu de pàgina per a cada pàgina. Si el navegador és compatible amb els comptadors, s'agrega un número de pàgina al peu de pàgina. - - - - - - - -
    - - - - - - -
    - - - - - - -
    -
    Heading for paged media
    - -
    Section A
    - -
    This is the first section...
    - -
    Page: 1
    -
    -
    -
    - - - - - - -
    - - - - - - -
    -
    Heading for paged media
    - -
    Section B
    - -
    This is the second section...
    - -
    Page: 2
    -
    -
    -
    -
  8. -
- - - - - - - - -
Reptes
Moveu les regles d'estil específiques d'impressió en un fitxer CSS independent. -

Llegiu la pàgina de referència {{CSSXref("@import")}} per trobar detalls de com importar el nou arxiu CSS específic de la impressió en el vostre full d'estil style4.css.

- -

Feu que els encapçalaments es tornin blaus quan el punter del ratolí estigui sobre ells.

-
- -

Veure la solució per el repte.

- -

I ara què?

- -

Si teniu dificultats per entendre aquesta pàgina, o si teniu altres comentaris al respecte, si us plau, contribuïu a la vostre pàgina de Discussió.

- -

Fins al moment, totes les regles d'estil en aquest tutorial s'han especificat en els arxius. Les regles i els seus valors són fixos. La pàgina següent descriu com poden canviar les regles de forma dinàmica mitjançant l'ús d'un llenguatge de programació: JavaScript

diff --git "a/files/ca/web/guide/css/inici_en_css/per_qu\303\250_utilitzar_css/index.html" "b/files/ca/web/guide/css/inici_en_css/per_qu\303\250_utilitzar_css/index.html" deleted file mode 100644 index d3685309c7..0000000000 --- "a/files/ca/web/guide/css/inici_en_css/per_qu\303\250_utilitzar_css/index.html" +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: Per què utilitzar CSS? -slug: Web/Guide/CSS/Inici_en_CSS/Per_què_utilitzar_CSS -tags: - - Beginner - - CSS - - 'CSS:Getting_Started' - - Example - - Guide - - NeedsBeginnerUpdate - - Web -translation_of: Learn/CSS/First_steps/How_CSS_works -translation_of_original: Web/Guide/CSS/Getting_started/Why_use_CSS ---- -

{{ CSSTutorialTOC() }}

- -

{{ previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/What_is_CSS", "Que és CSS?") }}Aquesta segona secció del tutorial CSS Getting Started explica la relació entre la CSS i els documents. En l'exercici aprendreu com afegir un full d'estil CSS en el document d'exemple que vam crear en la primera secció.

- -

Informació: Per què utilitzar CSS?

- -

S'utilitza CSS per definir estils en els documents, incloent el disseny, la disposició i les variacions en la imatge per als diferents dispositius i mides de pantalla. Podeu posar el CSS en el <head> d'un document amb un full d'estils incrustat, o adjuntar un arxiu separat que defineix els estils amb un full d'estils extern. Per enllaçar un full d'estils extern al document, se li afegeix simplement un enllaç al full d'estils en el <head> del document.

- -

Un full d'estil extern té molts avantatges. Mantenir els estils separats del seu contingut HTML:

- - - -
-
Exemple
- -

L'ús de CSS, permet emmagatzemar la informació d'estil en arxius comuns que comparteixen totes les pàgines. Per exemple, quan els documents enllaçan amb el mateix full d'estil que defineix el color de les capçaleres h2, es pot aplicar l'estil de les etiquetes de capçalera h2 globalment, canviant un atribut css.

- -

Quan un usuari visualitza una pàgina web, el navegador de l'usuari carrega la informació d'estil juntament amb el contingut de la pàgina.

- -

Quan un usuari imprimeix una pàgina web, pot proporcionar informació de diferent estil que fa que la pàgina impresa sigui fàcil de llegir.

-
- -

Com fer que HTML i CSS treballin junts? En general, s'utilitza HTML per descriure el contingut del document, no el seu estil. CSS s'utilitza per especificar l'estil del document, no el seu contingut. Més endavant en aquest tutorial, veureu algunes excepcions a aquesta disposició.

- -
-
Més detalls
- -

Un llenguatge de marcatge com l'HTML també proporciona algunes formes d'establir estil.

- -
Per exemple, en HTML es pot utilitzar una etiqueta <b> per fer el text en negreta, i establir el color de fons d'una pàgina en la seva etiqueta <body>.
- -
 
- -

Quan s'utilitza CSS, normalment s'evita l'ús d'aquestes característiques del llenguatge de marcat, de manera que tota la informació d'estil del document està en un sol lloc.

-
- -

Acció: Crear un full d'estil

- -
    -
  1. Creeu un altre arxiu de text en el mateix directori que el document doc1.html que vau crear en la primera secció.
  2. -
  3. Guardeu el document com: style1.css. Aquest fitxer serà el full d'estil.
  4. -
  5. A l'arxiu CSS, copieu i enganxeu aquesta línia, a continuació, deseu el fitxer: -
    strong {color: red;}
    -
    -
  6. -
- -

Vincular el document al full d'estils

- -
    -
  1. Per enllaçar el document al full d'estils, editar l'arxiu HTML. Afegiu-hi la línia ressaltada aquí: - -
    <!DOCTYPE html>
    -<html>
    -  <head>
    -  <meta charset="UTF-8">
    -  <title>Sample document</title>
    -  <link rel="stylesheet" href="style1.css">
    -  </head>
    -  <body>
    -    <p>
    -      <strong>C</strong>ascading
    -      <strong>S</strong>tyle
    -      <strong>S</strong>heets
    -    </p>
    -  </body>
    -</html>
    -
    -
  2. -
  3. Deseu el fitxer i refrescar la pantalla del navegador. El full d'estil fa que les lletres inicials siguin de color vermell, com aixó:
  4. -
- -

{{ EmbedLiveSample('Action_Creating_a_stylesheet', '', '', '', 'Web/Guide/CSS/Getting_started/Why_use_CSS') }}

- -

{{ LiveSampleLink('Action.3A_Creating_a_stylesheet', 'View above Demo') }}

- -
-
Repte
- -

A més de vermell, CSS permet a alguns altres noms de colors.

- -

Sense buscar una referència, trobar cinc noms més de colors que treballin en el full d'estil.

- -
-
Possible solution
- -

CSS supports common color names like orange, yellow, blue, green, or black. It also supports some more exotic color names like chartreuse, fuschia, or burlywood. See CSS Color value for a complete list as well as other ways of specifying colors.

-Hide solution
-Veure la solució per el repte
- -

I ara què?

- -

{{nextPage("/en-US/docs/Web/Guide/CSS/Getting_started/How_CSS_works", "Com funciona el CSS.")}}Ara teniu un document de mostra vinculat a un full d'estil separat, ja esteu llestos per aprendre més sobre com el navegador les combina quan es mostra el document.

diff --git "a/files/ca/web/guide/css/inici_en_css/que_\303\251s_css/index.html" "b/files/ca/web/guide/css/inici_en_css/que_\303\251s_css/index.html" deleted file mode 100644 index 28db41fa98..0000000000 --- "a/files/ca/web/guide/css/inici_en_css/que_\303\251s_css/index.html" +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Que és CSS? -slug: Web/Guide/CSS/Inici_en_CSS/Que_és_CSS -tags: - - Beginner - - CSS - - 'CSS:Getting_Started' - - Example - - Guide - - NeedsBeginnerUpdate - - Web -translation_of: Learn/CSS/First_steps/How_CSS_works -translation_of_original: Web/Guide/CSS/Getting_started/What_is_CSS ---- -
{{CSSTutorialTOC}}
- -

{{previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started", "Inici en CSS")}} Aquesta primera secció del tutorial CSS Getting Started explica breument les fulles d'estil en cascada (CSS). També es crearà un document senzill per utilitzar en els exercicis CSS en les seccions següents.

- -

Informació: Que és CSS?

- -

Fulles d'estil en cascada (CSS) és un llenguatge per especificar com els documents es presenten als usuaris. Aquests documents estan escrits en un llenguatge de marcat com ara HTML.

- -

Un document és un recull d'informació que s'estructura utilitzant un llenguatge de marcat.

- -

La presentació d'un document a un usuari vol dir convertir-lo en una format utilitzable per al seu públic. Navegadors, com Firefox, Chrome o Internet Explorer, estan dissenyats per a presentar documents visuals, per exemple, en una pantalla d'ordinador, un projector o una impressora.

- -
-

Exemples

- - -
- -

En aquest tutorial, caixes amb el subtítol, Més detalls, com la de baix, contenen informació opcional i enllaços a més recursos en un concepte o tema tractat en una secció. Llegir-los com els veieu, seguir els enllaços, o ometre aquestes caixes i tornar a llegir-los més tard.

- -
-
Més detalls
- -

Un document no és el mateix que un arxiu. Però, es pot desar un document en un arxiu.

- -

El document que esteu llegint en aquest moment no està emmagatzemat en un arxiu. Quan el navegador demana aquesta pàgina, el servidor consulta una base de dades i genera el document, recollint les parts del document de diferents arxius. No obstant això, aquest tutorial també pot treballar amb documents emmagatzemats en arxius.

- -

Podeu trobar més informació sobre els documents i llenguatges de marcatge en altres àrees d'aquest lloc web:

- - - - - - - - - - - - - - - - - - - - -
HTMLper pàgines web
XMLper documents estructurats en general
SVGper gràfics
XULper interfícies d'usuari en Mozilla
- -

A la Part II d'aquest tutorial podreu veure exemples d'aquests llenguatges de marques.

-
- -
-
Més detalls
- -

En la terminologia formal de CSS, el programa que presenta un document a un usuari se anomenat un agent d'usuari (UA). Un navegador és un tipus d'UA. CSS no és només per a navegadors o presentació visual, però en la part I d'aquesta guia, solament es treballarà amb CSS en un navegador.

- -

Per a les definicions formals de terminologia relatives a la CSS, consulteu Definitions en l'especificació CSS del World Wide Web Consortium (W3C), una comunitat internacional que estableix estàndards oberts per al web.

-
- -

Acció: Creació d'un document

- -
    -
  1. Creeu un nou directori en l'ordinador per guardar i organitzar els exercicis del tutorial.
  2. -
  3. Obriu un editor de text i crear un nou arxiu de text. Aquest arxiu contindrà el document per als pròxims exercicis tutorials.
  4. -
  5. Copieu i enganxeu el codi HTML que es mostra a continuació. Deseu el fitxer amb el nom doc1.html -
    <!DOCTYPE html>
    -<html>
    -  <head>
    -  <meta charset="UTF-8">
    -  <title>Sample document</title>
    -  </head>
    -
    -  <body>
    -    <p>
    -      <strong>C</strong>ascading
    -      <strong>S</strong>tyle
    -      <strong>S</strong>heets
    -    </p>
    -  </body>
    -</html>
    - -

    {{ LiveSampleLink('Action_Creating_a_document', 'View above Demo') }}

    -
  6. -
  7. Obriu una nova pestanya o una nova finestra, a continuació, obriu el fitxer que acabeu de crear. -

    Hauria de veure el text amb les lletres inicials en negreta, com aquestes:

    - - - - - - - -
    Cascading Style Sheets
    - -

    El que veieu en el navegador pot no ser exactament el mateix a causa de la configuració del navegador i d'aquesta wiki. Algunes diferències en el tipus de lletra, espaiat i colors no són importants.

    -
  8. -
- -

I ara què?

- -

{{nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Why_use_CSS", "Per què utilitzar CSS?")}} El document encara no utilitza CSS. A la següent secció farem servir CSS per l'estil del document.

diff --git a/files/ca/web/guide/css/inici_en_css/selectors/index.html b/files/ca/web/guide/css/inici_en_css/selectors/index.html deleted file mode 100644 index a3e8534ee5..0000000000 --- a/files/ca/web/guide/css/inici_en_css/selectors/index.html +++ /dev/null @@ -1,456 +0,0 @@ ---- -title: Selectors -slug: Web/Guide/CSS/Inici_en_CSS/Selectors -tags: - - Beginner - - CSS - - CSS Selector - - 'CSS:Getting_Started' - - Example - - Guide - - NeedsBeginnerUpdate - - NeedsLiveSample - - NeedsUpdate - - Web -translation_of: Learn/CSS/Building_blocks/Selectors -translation_of_original: Web/Guide/CSS/Getting_started/Selectors ---- -

{{ CSSTutorialTOC() }}

- -

{{ previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Cascading_and_inheritance", "Cascada & herència")}}Aquesta 5th secció del tutorial CSS Getting Started; s'explica com es poden aplicar estils de forma selectiva, i com els diferents tipus de selectors tenen diferents prioritats. Afegir alguns atributs a les etiquetes en el document d'exemple, i utilitzar aquests atributs en el full d'estils d'exemple.

- -

Informació: Selectors

- -

CSS té la seva pròpia terminologia per descriure el llenguatge CSS. Anteriorment en aquest tutorial, heu creat una línia al full d'estils com aquesta:

- -
strong {
-  color: red;
-}
-
- -

En la terminologia de CSS, tota aquesta línia és una regla. Aquesta regla s'inicia amb strong, que és un selector (o una llista de selectors). Es selecciona quins elements del DOM s'aplica la regla.

- -
-
Més detalls
- -

La part dins de les claus és la declaració.

- -

L'identificador color és una propietat, i el vermell és un valor.

- -

El punt i coma després del parell propietat-valor fa de separació d'altres parells propietat-valor en la mateixa declaració.

- -

En aquest tutorial es refereix a un selector com strong com un selector d'etiquetes. L'especificació CSS es refereix a ell com un selector de tipus.

-
- -

Aquesta pàgina del tutorial explica més sobre els selectors que es poden utilitzar en les regles CSS.

- -

A més dels noms de les etiquetes, podeu utilitzar els valors dels atributs en els selectors. Això permet que les regles siguin més específiques.

- -

Dos atributs tenen un estatus especial per CSS. Són class i id.

- -

Selectors class

- -

Utilitzeu l'atribut class en un element per assignar l'element un nom de classe. Depèn de vosaltres el nom que trieu per a la classe. Múltiples elements d'un document poden tenir el mateix valor de classe.

- -

En el full d'estil, escriviu un punt (. punt) abans del nom de la classe, quan s'utilitza en un selector.

- -

Selectors ID

- -

Utilitzeu l'atribut id en un element per assignar un identificador a l'element. Depèn de vosaltres el nom que trieu per a l'identificador. El nom de l'identificador ha de ser únic en el document.

- -

En el full d'estil, escriviu un signe (# hash) abans de l'identificador quan s'utilitza en un selector.

- -
-
Exemple
-Aquesta etiqueta HTML té tant un atribut class com un atribut id: - -
<p class="key" id="principal">
-
- -

El valor id, principal, ha de ser únic en el document, però altres etiquetes en el document poden tenir el mateix nom de la class, key.

- -

En un full d'estil CSS, aquesta regla fa que tots els elements amb la class key siguin verds. (Pot ser que no tots siguin elements {{ HTMLElement("p") }}.)

- -
.key {
-  color: green;
-}
-
- -

Aquesta regla fa que l'únic element amb el id principal sigui negreta:

- -
#principal {
-  font-weight: bolder;
-}
-
-
- -

Selectors d'atributs

- -

No està limitat als dos atributs especials, class i id. Podeu especificar altres atributs mitjançant claudàtors. Dins dels claudàtors es posa el nom de l'atribut, opcionalment seguit d'un operador coincident i un valor. A més, es pot fer entre majúscules i minúscules afegint una "i" després del valor, però no molts navegadors són compatibles amb aquesta funció fins al moment. Exemples:

- -
-
[disabled]
-
Selecciona tots els elements amb un atribut "disabled".
-
[type='button']
-
Selecciona els elements amb un tipus "button".
-
[class~=key]
-
Selecciona elements amb la class "key" (però no, per exemple, "keyed", "monkey", "buckeye"). Funcionalment equivalent a .key.
-
[lang|=es]
-
Selecciona els elements especificats com espanyol. Això inclou "es" i "es-MX", però no "eu-ES" (que és basca).
-
[title*="example" i]
-
Selecciona elements title els quals conté "example", ignorant majúscules i minúscules . En els navegadors que no admeten l'indicador "i", aquest selector probablement no coincidirà amb cap element.
-
a[href^="https://"]
-
Especifica com ha de començar el valor de l'atribut; en aquest cas, es selecciona enllaços segurs.
-
img[src$=".png"]
-
Selecciona elements el valor dels quals finalitza amb la cadena proporcionada. Indirectament selecciona imatges PNG; les imatges són PNGs però la URL de les quals no acabi en ".png" no seràn seleccionades (e.g. `src="some-image.png?_=cachebusterhash"`).
-
- -

Selectors de pseudo-classes

- -

Un pseudo-classe CSS és una paraula clau afegida als selectors que especifica un estat especial de l'element a seleccionar. Per exemple {{ Cssxref(":hover") }} aplicarà un estil quan l'usuari es desplaci sobre l'element especificat pel selector.

- -

Les pseudo-classes, juntament amb els pseudo-elements, permeten aplicar un estil a un element no només en relació amb el contingut de l'estructura del document, sinó també en relació als factors externs com l'historial del navegador ({{ cssxref(":visited") }}, per exemple), l'estat del seu contingut (com {{ cssxref(":checked") }} en alguns elements de formulari), o la posició del ratolí (com {{ cssxref(":hover") }} que permet saber si el ratolí està sobre un element o no). Per veure una llista completa dels selectors, visiteu especificació CSS3 Selectors working.

- -
-
Sintaxi
- -
selector:pseudo-class {
-  property: value;
-}
-
-
- -

Llista de pseudo-classes

- - - -

Llista de selectors

- -

Una regla pot ser compartida per molts selectors mitjançant una coma (,) per separar els selectors.

- -
-
Exemple
-En l'exemple, ambdós elements que tenen la classe "content-1" i elements que tenen la classe "content-2" per visualitzar el text en negreta. - -
.content-1, .content-2 {
-  font-weight: bold;
-}
-
-
- -

Informació: Especificitat

- -

Diverses regles poden tenir selectors que coincideixin amb el mateix element. Si una propietat es dóna en una sola regla, no hi ha conflicte i la propietat s'estableix en l'element. Si més d'una regla s'aplica a un element i estableix la mateixa propietat, llavors CSS dóna prioritat a la regla que té el selector més específic. Un selector de ID és més específic que una classe, pseudo-classe o selector d'atribut, que al seu torn són més específics que un selector d'etiquetes o pseudo-element.

- -
-
Més detalls
- -

També es poden combinar selectors, fent un selector més específic. Per exemple, el selector .key selecciona tots els elements que tenen el nom de classe key. El selector p.key selecciona només elements {{ HTMLElement("p") }} que tenen el nom de classe key.

-
- -

Si el full d'estil té un conflicte de regles i són igualment específiques, llavors CSS doneu prioritat a la regla que és més posterior en el full d'estil.

- -

Quan tingueu un problema amb regles en conflicte, tracteu de resoldre-ho fent una de les regles més específiques, de manera que tingui prioritat. Si no podeu fer-ho, tracteu de moure una de les regles el més prop del final de la fulla d'estils perquè tingui prioritat.

- -

Informació: Els selectors basats en relacions

- -

CSS té algunes maneres de seleccionar elements en funció de les relacions entre els elements. Podeu utilitzar aquests per fer selectors que siguin més específics.

- - - - - - - - - - - - - - - - - - - - - - - - - -
Selectors comuns basats en les relacions
SelectorSeleccions
A EQualsevol element E que és un descendent d'un element A (que és: un fill, o un fill d'un fill, etc.)
A > EQualsevol element E que és un fill (és a dir, descendent directe) d'un element A
E:first-childQualsevol element E que és el primer fill del seu pare
B + EQualsevol element E que és el següent germà d'un element B (és a dir: el següent fill del mateix pare)
- -

Es poden combinar aquests per expressar relacions complexes.

- -

També es pot utilitzar el símbol * (asterisc) en el sentit de "qualsevol element".

- -
-
Exemple
- -

Una taula HTML té un atribut id, però les seves files i cel·les no tenen identificadors individuals:

- -
<table id="data-table-1">
-...
-<tr>
-<td>Prefix</td>
-<td>0001</td>
-<td>default</td>
-</tr>
-...
-
- -

Aquestes regles fan que la primera cel·la de cada fila estigui subratllat, i el germà de la primera cel·la de cada fila estigui tachat (en l'exemple la 2a cel·le). Només afecta a una taula específica en el document:

- -
    #data-table-1 td:first-child {text-decoration: underline;}
-    #data-table-1 td:first-child + td {text-decoration: line-through;}
-
- -

Aquest és el resultat:

- - - - - - - -
- - - - - - - - -
Prefix0001default
-
-
- -
-
Més detalls
- -

En la forma habitual, si feu un selector més específic, llavors s'augmenta la seva prioritat.

- -

Si utilitzeu aquestes tècniques, s'evita la necessitat d'especificar els atributs class o id en tantes etiquetes en el document. En el seu lloc, CSS fa la feina.

- -

En grans dissenys on la velocitat és important, podeu fer que les vostres fulles d'estil siguin més eficients, evitant regles complexes que depenen de les relacions entre els elements.

- -

Per a més exemples sobre taules, consulteu Taules en la pàgina Referència CSS..

-
- -

Acció: Ús dels selectors class i ID

- -
    -
  1. Editeu l'arxiu HTML, i duplicar el paràgraf copiant i enganxant.
  2. -
  3. A continuació, afegir els atributs id i class a la primera còpia, i un atribut id a la segona còpia com es mostra a continuació. Com a alternativa, copiar i enganxar tot l'arxiu de nou: -
    <!doctype html>
    -<html>
    -  <head>
    -  <meta charset="UTF-8">
    -  <title>Sample document</title>
    -  <link rel="stylesheet" href="style1.css">
    -  </head>
    -  <body>
    -    <p id="first">
    -      <strong class="carrot">C</strong>ascading
    -      <strong class="spinach">S</strong>tyle
    -      <strong class="spinach">S</strong>heets
    -    </p>
    -    <p id="second">
    -      <strong>C</strong>ascading
    -      <strong>S</strong>tyle
    -      <strong>S</strong>heets
    -    </p>
    -  </body>
    -</html>
    -
    -
  4. -
  5. Ara editeu el fitxer CSS. Substituir tot el contingut per: -
    strong { color: red; }
    -.carrot { color: orange; }
    -.spinach { color: green; }
    -#first { font-style: italic; }
    -
    -
  6. -
  7. Guardeu els arxius i actualitzar el navegador per veure el resultat: - - - - - - - - - -
    Cascading Style Sheets
    Cascading Style Sheets
    - -

    Podeu tractar de reordenar les línies de l'arxiu CSS per mostrar que l'ordre no té efecte.

    - -

    Els selectors class .carrot i .spinach tenen prioritat sobre el selector d'etiqueta strong.

    - -

    El selector ID #first té prioritat sobre els selectors class i tag.

    -
  8. -
- -
-
Reptes
- -
    -
  1. Sense canviar el arxiu HTML, afegiu una sola regla a l'arxiu CSS que mantingui totes les lletres inicials en el mateix color que estan ara, però faci que tot l'altre text en el segon paràgraf sigui blau: - - - - - - - - - -
    Cascading Style Sheets
    Cascading Style Sheets
    -
  2. -
  3. Ara canvieu la regla que acabeu d'afegir (sense canviar res més), per fer el primer paràgraf també blau: - - - - - - - - - -
    Cascading Style Sheets
    Cascading Style Sheets
    -
  4. -
- -
-
Possible solution
- -
    -
  1. Add a rule with an ID selector of #second and a declaration color: blue;, as shown below: - -
    #second { color: blue; }
    -
    - A more specific selector, p#second also works.
  2. -
  3. Change the selector of the new rule to be a tag selector using p: -
    p { color: blue; }
    -
    -
  4. -
-Hide solution
-Veure la solució per el repte.
- -

Acció: L'ús de selectors de pseudo-classes

- -
    -
  1. Creeu un arxiu HTML amb el següent contingut: - -
    <!doctype html>
    -<html>
    -  <head>
    -  <meta charset="UTF-8">
    -  <title>Sample document</title>
    -  <link rel="stylesheet" href="style1.css">
    -  </head>
    -  <body>
    -    <p>Go to our <a class="homepage" href="http://www.example.com/" title="Home page">Home page</a>.</p>
    -  </body>
    -</html>
    -
    -
  2. -
  3. Ara editeu el fitxer CSS. Substituir tot el contingut per: -
    a.homepage:link, a.homepage:visited {
    -  padding: 1px 10px 1px 10px;
    -  color: #fff;
    -  background: #555;
    -  border-radius: 3px;
    -  border: 1px outset rgba(50,50,50,.5);
    -  font-family: georgia, serif;
    -  font-size: 14px;
    -  font-style: italic;
    -  text-decoration: none;
    -}
    -
    -a.homepage:hover, a.homepage:focus, a.homepage:active {
    -  background-color: #666;
    -}
    -
    -
  4. -
  5. Guardeu els arxius i actualitzar el navegador per veure el resultat (posar el ratolí sobre el següent enllaç per veure l'efecte): - - - - - - -
    Anem-nos  Home page  
    -
  6. -
- -

Acció: L'ús de selectors basats en les relacions i pseudo-classes

- -

Amb els selectors basats en relacions i pseudo-classes es poden crear complexes algoritmes en cascada. Aquesta és una tècnica comuna que s'utilitza, per exemple, amb la finalitat de crear menús desplegables en CSS pur (això només és CSS, sense necessitat d'utilitzar JavaScript). L'essència d'aquesta tècnica és la creació d'una regla com la següent:

- -
div.menu-bar ul ul {
-  display: none;
-}
-
-div.menu-bar li:hover > ul {
-  display: block;
-}
- -

per a ser aplicat a una estructura HTML com la següent:

- -
<div class="menu-bar">
-  <ul>
-    <li>
-      <a href="example.html">Menu</a>
-      <ul>
-        <li>
-          <a href="example.html">Link</a>
-        </li>
-        <li>
-          <a class="menu-nav" href="example.html">Submenu</a>
-          <ul>
-            <li>
-              <a class="menu-nav" href="example.html">Submenu</a>
-              <ul>
-                <li><a href="example.html">Link</a></li>
-                <li><a href="example.html">Link</a></li>
-                <li><a href="example.html">Link</a></li>
-                <li><a href="example.html">Link</a></li>
-              </ul>
-            </li>
-            <li><a href="example.html">Link</a></li>
-          </ul>
-        </li>
-      </ul>
-    </li>
-  </ul>
-</div>
-
- -

Vegeu el exemple complet d'un menú desplegable basat en CSS com a possible referència.

- -

I ara què?

- -

La vostre fulla d'estils, d'exemple, està començant a semblar densa i complicada. La següent secció descriu la manera de fer més fàcil de llegir la CSS.{{nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Readable_CSS", "CSS llegible")}}

diff --git a/files/ca/web/guide/css/inici_en_css/svg_i_css/index.html b/files/ca/web/guide/css/inici_en_css/svg_i_css/index.html deleted file mode 100644 index 6dac20b5a6..0000000000 --- a/files/ca/web/guide/css/inici_en_css/svg_i_css/index.html +++ /dev/null @@ -1,223 +0,0 @@ ---- -title: SVG i CSS -slug: Web/Guide/CSS/Inici_en_CSS/SVG_i_CSS -tags: - - CSS - - 'CSS:Getting_Started' - - Example - - Guide - - Intermediate - - NeedsLiveSample - - NeedsUpdate - - SVG - - Web -translation_of: Web/SVG/Tutorial/SVG_and_CSS ---- -
{{CSSTutorialTOC}}
- -

Aquesta pàgina il·lustra l'aplicació de CSS per al llenguatge especialitzat en la creació de gràfics: SVG.

- -

Crea una demostració senzilla que s'executa en el vostre navegador habilitat per SVG.

- -

Aquesta és la 2nd secció de la Part II del tutorial CSS.
- Secció anterior: JavaScript
- Secció següent: XML data

- -

Informació: SVG

- -

SVG (Scalable Vector Graphics) és un llenguatge basat en XML per a la creació de gràfics.

- -

Es pot utilitzar per a imatges estàtiques, i també per a animacions i interfícies d'usuari.

- -

Igual que altres llenguatges basats en XML, SVG suporta fulles d'estil CSS perquè pugui separar l'estil d'un gràfic del seu contingut.

- -

A més, les fulles d'estil que s'utilitzen amb altres llenguatges de marcat de documents poden especificar l'adreça URL d'un gràfic SVG on es requereix una imatge. Per exemple, una fulla d'estil que s'utilitza amb un document HTML pot especificar l'adreça URL d'un gràfic SVG en el valor d'una propietat background.

- - - - - - - - -
Més detalls
-

En el moment d'escriure (mitjans 2011), la majoria dels navegadors moderns tenen suport bàsic per a SVG, incloent Internet Explorer 9 o superior. Algunes de les característiques de SVG són compatibles parcialment o no en alguns navegadors. Consulteu les taulae SVG en caniuse.com per a una visió general de suport per SVG, o les taules de compatibilitat referència de l'element SVG per al suport de determinats elements.

- -

Podeu afegir suport SVG a altres versions mitjançant la instal·lació d'un plug-in, com el proporcionat per Adobe.

- -

Per obtenir més informació sobre SVG en Mozilla, consulteu la pàgina principal de SVG al wiki.

-
- -

Acció: Una demostració SVG

- -

Feu un nou document SVG com un arxiu de text pla, doc8.svg. Copieu i enganxeu el contingut d'aquí, assegurant-se que us desplaceu per obtenir tota ella;

- -
<?xml version="1.0" standalone="no"?>
-
-<?xml-stylesheet type="text/css" href="style8.css"?>
-
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
-  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-
-<svg width="600px" height="600px" viewBox="-300 -300 600 600"
-  xmlns="http://www.w3.org/2000/svg" version="1.1"
-  xmlns:xlink="http://www.w3.org/1999/xlink">
-
-<title>SVG demonstration</title>
-<desc>Mozilla CSS Getting Started - SVG demonstration</desc>
-
-<defs>
-  <g id="segment" class="segment">
-    <path class="segment-fill" d="M0,0 v-200 a40,40 0 0,0 -62,10 z"/>
-    <path class="segment-edge" d="M0,-200 a40,40 0 0,0 -62,10"/>
-    </g>
-  <g id="quadrant">
-    <use xlink:href="#segment"/>
-    <use xlink:href="#segment" transform="rotate(18)"/>
-    <use xlink:href="#segment" transform="rotate(36)"/>
-    <use xlink:href="#segment" transform="rotate(54)"/>
-    <use xlink:href="#segment" transform="rotate(72)"/>
-    </g>
-  <g id="petals">
-    <use xlink:href="#quadrant"/>
-    <use xlink:href="#quadrant" transform="rotate(90)"/>
-    <use xlink:href="#quadrant" transform="rotate(180)"/>
-    <use xlink:href="#quadrant" transform="rotate(270)"/>
-    </g>
-  <radialGradient id="fade" cx="0" cy="0" r="200"
-      gradientUnits="userSpaceOnUse">
-    <stop id="fade-stop-1" offset="33%"/>
-    <stop id="fade-stop-2" offset="95%"/>
-    </radialGradient>
-  </defs>
-
-<text id="heading" x="-280" y="-270">
-  SVG demonstration</text>
-<text  id="caption" x="-280" y="-250">
-  Move your mouse pointer over the flower.</text>
-
-<g id="flower">
-  <circle id="overlay" cx="0" cy="0" r="200"
-    stroke="none" fill="url(#fade)"/>
-  <use id="outer-petals" xlink:href="#petals"/>
-  <use id="inner-petals" xlink:href="#petals"
-    transform="rotate(9) scale(0.33)"/>
-  </g>
-
-</svg>
-
- -

Feu una nou arxiu CSS, style8.css. Copieu i enganxeu el contingut d'aquí, assegurant-se que us desplaceu per obtenir tota ella;

- -
/*** SVG demonstration ***/
-
-/* page */
-svg {
-  background-color: beige;
-  }
-
-#heading {
-  font-size: 24px;
-  font-weight: bold;
-  }
-
-#caption {
-  font-size: 12px;
-  }
-
-/* flower */
-#flower:hover {
-  cursor: crosshair;
-  }
-
-/* gradient */
-#fade-stop-1 {
-  stop-color: blue;
-  }
-
-#fade-stop-2 {
-  stop-color: white;
-  }
-
-/* outer petals */
-#outer-petals {
-  opacity: .75;
-  }
-
-#outer-petals .segment-fill {
-  fill: azure;
-  stroke: lightsteelblue;
-  stroke-width: 1;
-  }
-
-#outer-petals .segment-edge {
-  fill: none;
-  stroke: deepskyblue;
-  stroke-width: 3;
-  }
-
-#outer-petals .segment:hover > .segment-fill {
-  fill: plum;
-  stroke: none;
-  }
-
-#outer-petals .segment:hover > .segment-edge {
-  stroke: slateblue;
-  }
-
-/* inner petals */
-#inner-petals .segment-fill {
-  fill: yellow;
-  stroke: yellowgreen;
-  stroke-width: 1;
-  }
-
-#inner-petals .segment-edge {
-  fill: none;
-  stroke: yellowgreen;
-  stroke-width: 9;
-  }
-
-#inner-petals .segment:hover > .segment-fill {
-  fill: darkseagreen;
-  stroke: none;
-  }
-
-#inner-petals .segment:hover > .segment-edge {
-  stroke: green;
-  }
-
- -

Obriu el document en el navegador habilitat per SVG. Moure el punter del ratolí sobre el gràfic.

- -

Aquest wiki no suporta SVG en les pàgines, de manera que no es pot mostrar la demostració aquí. El gràfic es veu així:

- - - - - - - -
SVG demonstration
- -

Notes sobre aquesta demostració:

- - - - - - - - - - -
Repte
Canvieu la fulla d'estil perquè els pètals interns es tornin tots de color rosa quan el punter del ratolí està sobre qualsevol d'ells, sense canviar la forma en què els pètals externs funcionen.
- -

Veure la solució per el repte.

- -

I ara què?

- -

En aquesta demostració, el vostre navegador habilitat per SVG  ja sap com mostrar els elements SVG. La fulla d'estil només modifica la visualització de certes maneres. Això també és cert per als documents HTML i XUL. Però es pot utilitzar CSS per a documents XML d'ús general, on no hi ha un camí predefinit per mostrar els elements. La pàgina següent mostra això: dades XML

diff --git a/files/ca/web/guide/css/inici_en_css/taules/index.html b/files/ca/web/guide/css/inici_en_css/taules/index.html deleted file mode 100644 index d7875ae370..0000000000 --- a/files/ca/web/guide/css/inici_en_css/taules/index.html +++ /dev/null @@ -1,475 +0,0 @@ ---- -title: Taules -slug: Web/Guide/CSS/Inici_en_CSS/Taules -tags: - - CSS - - CSS Tables - - 'CSS:Getting_Started' - - Example - - Guide - - Intermediate - - NeedsBeginnerUpdate - - NeedsLiveSample - - NeedsUpdate - - Web -translation_of: Learn/CSS/Building_blocks/Styling_tables -translation_of_original: Web/Guide/CSS/Getting_started/Tables ---- -

{{CSSTutorialTOC}}{{previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Layout", "Disseny")}}

- -

Aquesta és la 13th secció del tutorial CSS Getting Started tutorial; descriu selectors més avançats, i algunes formes específiques en el disseny de taules. Es crea un nou document d'exemple que conté una taula, i un full d'estil per a això.

- -

Informació: Taules

- -

Una taula és una disposició de la informació en una reixeta rectangular. Algunes taules poden ser complexes, i per a taules complexes, diferents navegadors poden donar resultats diferents.

- -

En dissenyar el vostre document, utilitzeu una taula per expressar les relacions entre els elements d'informació. Llavors no importa si els diferents navegadors presenten la informació de manera lleugerament diferent, ja que el significat segueix sent clar.

- -

No utilitzeu taules en formes inusuals per produir determinats dissenys visuals. Les tècniques de la pàgina anterior d'aquest tutorial (Disseny) són millors per a aquest propòsit.

- -

Estructura de la taula

- -

En una taula, cada peça d'informació es mostra en una cel·la.

- -

Les cel·les en una línia de la pàgina constitueix una fila.

- -

En algunes taules, les files poden ser agrupades. Un grup especial de files en l'inici de la taula és la capçalera (header). Un grup especial de files al final de la taula és el peu de pàgina (footer). Les principals files de la taula són el cos (body), i que també podrien estar en grups.

- -

Les cel·les en una línia de la pàgina conformen una columna, però les columnes tenen un ús limitat en la CSS de les taules.

- -
-
Exemple
- -

La taula de Selectors basats en relacion en la pàgina Selectors té deu cel·les en cinc files.

- -

La primera fila és la capçalera. Les altres quatre files són el cos. No hi ha peu de pàgina.

- -

Té dues columnes.

-
- -

Aquest tutorial només cobreix taules simples, on els resultats són bastant predictibles. En una taula simple, cada cel·la ocupa només una fila i columna. Es pot utilitzar CSS per a taules complexes en les cel·les que s'estenen (s'estenen a través) més d'una fila o columna, però les taules com aquestes estan més enllà de l'abast d'aquest tutorial bàsic.

- -

Vores

- -

Les cel·les no tenen marges.

- -

Les cel·les tenen vores i farciment. Per defecte, les vores estan separades pel valor de la propietat {{cssxref("border-spacing")}} de la taula. També podeu eliminar completament l'espai mitjançant l'establiment de la propietat {{cssxref ("border-collapse")}} de la taula a col·lapsar (collapse).

- -
-
Exemple
- -

Aquí hi ha tres taules.

- -

La taula de l'esquerra té 0,5 em espaiat de vores. La taula del centre té espaiat de vores zero. La taula de la dreta ha col·lapsat les vores:

- - - - - - - - -
- -

{{embedLiveSample('Borders', 600)}}

-
- -

Llegendes

- -

Un element {{HTMLElement("caption")}} és una etiqueta que s'aplica a tota la taula. Per defecte, es mostra a la part superior de la taula.

- -

Per moure'l a la part inferior, establiu la seva  propietat {{cssxref("caption-side")}} a baix. La propietat s'hereta, de manera que, alternativament, es pot establir sobre la taula o un altre element antecessor.

- -

Per l'estil del text de la Llegenda, utilitzeu qualsevol de les propietats usuals de text.

- -
-
Exemple
- -

Aquesta taula una llegenda a la part inferior.

- -
#demo-table > caption {
-  caption-side: bottom;
-  font-style: italic;
-  text-align: right;
-}
-
- - - -

{{embedLiveSample('Captions', 300)}}

-
- -

Cel·les buides

- -

Es poden mostrar cel·les buides (és a dir, les seves vores i fons) especificant {{cssxref("empty-cells")}}: show; per a l'element de la taula.

- -

Es poden amagar mitjançant l'especificació empty-cells: hide;. Llavors, si l'element pare d'una cel·la té un fons, es mostra a través de la cel.la buida.

- -
-
Exemple
- -

Aquestes taules tenen un fons de color verd pàl·lid. Les seves cel·les tenen un fons gris clar i unes vores gris fosc.

- -

A la taula de l'esquerra, es mostra la cel·la buida. A la dreta, està oculta:

- - - - - - - - -
- - - - - - - - - - - -
 Hearts
DiamondsSpades
-
- - - - - - - - - - - -
 Hearts
DiamondsSpades
-
-
- -
-
Detalls
- -

Per obtenir informació detallada sobre les taules, vegeu Taules en l'especificació CSS.

- -

La informació no va més enllà d'aquest tutorial, però no cobreix les diferències entre els navegadors que poden afectar a taules complexes.

-
- -

Acció: Estil d'una taula

- -
    -
  1. Feu un nou document HTML, doc3.html. Copieu i enganxeu el contingut d'aquí, assegurant-se que es desplaça per obtenir tota ella; - -
    <!DOCTYPE html>
    -<html>
    -  <head>
    -    <title>Sample document 3</title>
    -    <link rel="stylesheet" href="style3.css">
    -  </head>
    -  <body>
    -    <table id="demo-table">
    -      <caption>Oceans</caption>
    -      <thead>
    -        <tr>
    -          <th></th>
    -          <th>Area</th>
    -          <th>Mean depth</th>
    -        </tr>
    -        <tr>
    -          <th></th>
    -          <th>million km<sup>2</sup></th>
    -          <th>m</th>
    -        </tr>
    -      </thead>
    -      <tbody>
    -        <tr>
    -          <th>Arctic</th>
    -          <td>13,000</td>
    -          <td>1,200</td>
    -        </tr>
    -        <tr>
    -          <th>Atlantic</th>
    -          <td>87,000</td>
    -          <td>3,900</td>
    -        </tr>
    -        <tr>
    -          <th>Pacific</th>
    -          <td>180,000</td>
    -          <td>4,000</td>
    -        </tr>
    -        <tr>
    -          <th>Indian</th>
    -          <td>75,000</td>
    -          <td>3,900</td>
    -        </tr>
    -        <tr>
    -          <th>Southern</th>
    -          <td>20,000</td>
    -          <td>4,500</td>
    -        </tr>
    -      </tbody>
    -      <tfoot>
    -        <tr>
    -          <th>Total</th>
    -          <td>361,000</td>
    -          <td></td>
    -        </tr>
    -        <tr>
    -          <th>Mean</th>
    -          <td>72,000</td>
    -          <td>3,800</td>
    -        </tr>
    -      </tfoot>
    -    </table>
    -  </body>
    -</html>
    -
    -
  2. -
  3. Feu un nova fulla d'estil, style3.css. Copieu i enganxeu el contingut d'aquí, assegurant-se que es desplaça per obtenir tota ella; -
    /*** Style for doc3.html (Tables) ***/
    -
    -#demo-table {
    -  font: 100% sans-serif;
    -  background-color: #efe;
    -  border-collapse: collapse;
    -  empty-cells: show;
    -  border: 1px solid #7a7;
    -}
    -
    -#demo-table > caption {
    -  text-align: left;
    -  font-weight: bold;
    -  font-size: 200%;
    -  border-bottom: .2em solid #4ca;
    -  margin-bottom: .5em;
    -}
    -
    -
    -/* basic shared rules */
    -#demo-table th,
    -#demo-table td {
    -  text-align: right;
    -  padding-right: .5em;
    -}
    -
    -#demo-table th {
    -  font-weight: bold;
    -  padding-left: .5em;
    -}
    -
    -
    -/* header */
    -#demo-table > thead > tr:first-child > th {
    -  text-align: center;
    -  color: blue;
    -}
    -
    -#demo-table > thead > tr + tr > th {
    -  font-style: italic;
    -  color: gray;
    -}
    -
    -/* fix size of superscript */
    -#demo-table sup {
    -  font-size: 75%;
    -}
    -
    -/* body */
    -#demo-table td {
    -  background-color: #cef;
    -  padding:.5em .5em .5em 3em;
    -}
    -
    -#demo-table tbody th:after {
    -  content: ":";
    -}
    -
    -
    -/* footer */
    -#demo-table tfoot {
    -  font-weight: bold;
    -}
    -
    -#demo-table tfoot th {
    -  color: blue;
    -}
    -
    -#demo-table tfoot th:after {
    -  content: ":";
    -}
    -
    -#demo-table > tfoot td {
    -  background-color: #cee;
    -}
    -
    -#demo-table > tfoot > tr:first-child td {
    -  border-top: .2em solid #7a7;
    -}
    -
    -
  4. -
  5. Obriu el document en el navegador. Ha de tenir un aspecte molt similar a aquest:
    - {{EmbedLiveSample("Action_Styling_a_table", 400, 380)}}
  6. -
  7. Compareu les regles de la fulla d'estil amb la taula que es mostra, per assegurar-se que compreneu l'efecte de cada regla. Si trobeu una regla que no esteu segur sobre ella, comentar-la i refresqueu el navegador per veure què passa. Aquí hi ha algunes notes sobre aquesta taula: -
      -
    • La llegenda es troba fora de la vora de la taula.
    • -
    • Si teniu una mida de punt mínim establert en les Opcions, podria afectar el superíndex en km2.
    • -
    • Hi ha tres cel·les buides. Dos d'elles permeten mostrar el fons de la taula a través. El tercer té un fons i una vora superior.
    • -
    • Els dos punts son afegits per la fulla d'estil.
    • -
    -
  8. -
- -
-
Repte
- -

Modifiqueu la fulla d'estils per fer que la taula tingui aquest aspecte:

- - - - - - - -
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 AreaMean depth
 million km2m
Arctic:13,0001,200
Atlantic:87,0003,900
Pacific:180,0004,000
Indian:75,0003,900
Southern:20,0004,500
Total:361,000 
Mean:72,0003,800
-
- -

Oceans

-
-
-
- -

Veure la solució per el repte.

- -

I ara què?

- -

{{nextPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Media", "Media")}}Aquesta és l'última pàgina d'aquest tutorial que se centra en les propietats i els valors CSS. Per a un resum complet de les propietats i valors, vegeu Taula de propietats completa en l'especificació CSS

- -

En la següent pàgina es veu de nou el propòsit i l'estructura de les fulles d'estil CSS.

diff --git a/files/ca/web/guide/graphics/index.html b/files/ca/web/guide/graphics/index.html new file mode 100644 index 0000000000..a65c99ec66 --- /dev/null +++ b/files/ca/web/guide/graphics/index.html @@ -0,0 +1,49 @@ +--- +title: Gràfics en la Web +slug: Web/Guide/Gràfics +tags: + - 2D + - 3D + - Canvas + - Graphics + - HTML5 + - SVG + - Web + - WebGL + - WebRTC +translation_of: Web/Guide/Graphics +--- +

Els llocs web i les aplicacions sovint necessiten presentar gràfics. Les imatges estàtiques poden visualitzar-se fàcilment usant l'element {{HTMLElement("img")}} o configurant el fons dels elements HTML  utilitzant la propietat {{cssxref("background-image")}}. També podeu construir gràfics sobre la marxa o manipular imatges després de fetes. Aquests articles proporcionen informació sobre com podeu aconseguir-ho.

+ +
+
+

Gràfics 2D

+ +
+
Canvas
+
L'element {{HTMLElement("canvas")}} proporciona APIs per dibuixar gràfics 2D utilitzant JavaScript.
+
SVG
+
Els Gràfics Vectorials Escalables (SVG) permeten utilitzar línies, corbes i altres formes geomètriques per representar gràfics. Amb vectors, podeu crear imatges que s'escalen netament a qualsevol grandària.
+
+ +

Veure Tot...

+
+ +
+

Gràfics 3D

+ +
+
WebGL
+
Una guia per començar amb WebGL, l'API de gràfics 3D per a la web. Aquesta tecnologia permet utilitzar OpenGL ES estàndard en contingut web.
+
+ +

Vídeo

+ +
+
Ús d'àudio i vídeo HTML5
+
Incrustar vídeo i/o àudio en una pàgina web i controlar la seva reproducció.
+
WebRTC
+
El RTC en WebRTC significa Comunicacions en Temps Real, tecnologia que permet la transmissió d'àudio/vídeo i l'intercanvi de dades entre clients del navegador (parells).
+
+
+
diff --git "a/files/ca/web/guide/gr\303\240fics/index.html" "b/files/ca/web/guide/gr\303\240fics/index.html" deleted file mode 100644 index a65c99ec66..0000000000 --- "a/files/ca/web/guide/gr\303\240fics/index.html" +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Gràfics en la Web -slug: Web/Guide/Gràfics -tags: - - 2D - - 3D - - Canvas - - Graphics - - HTML5 - - SVG - - Web - - WebGL - - WebRTC -translation_of: Web/Guide/Graphics ---- -

Els llocs web i les aplicacions sovint necessiten presentar gràfics. Les imatges estàtiques poden visualitzar-se fàcilment usant l'element {{HTMLElement("img")}} o configurant el fons dels elements HTML  utilitzant la propietat {{cssxref("background-image")}}. També podeu construir gràfics sobre la marxa o manipular imatges després de fetes. Aquests articles proporcionen informació sobre com podeu aconseguir-ho.

- -
-
-

Gràfics 2D

- -
-
Canvas
-
L'element {{HTMLElement("canvas")}} proporciona APIs per dibuixar gràfics 2D utilitzant JavaScript.
-
SVG
-
Els Gràfics Vectorials Escalables (SVG) permeten utilitzar línies, corbes i altres formes geomètriques per representar gràfics. Amb vectors, podeu crear imatges que s'escalen netament a qualsevol grandària.
-
- -

Veure Tot...

-
- -
-

Gràfics 3D

- -
-
WebGL
-
Una guia per començar amb WebGL, l'API de gràfics 3D per a la web. Aquesta tecnologia permet utilitzar OpenGL ES estàndard en contingut web.
-
- -

Vídeo

- -
-
Ús d'àudio i vídeo HTML5
-
Incrustar vídeo i/o àudio en una pàgina web i controlar la seva reproducció.
-
WebRTC
-
El RTC en WebRTC significa Comunicacions en Temps Real, tecnologia que permet la transmissió d'àudio/vídeo i l'intercanvi de dades entre clients del navegador (parells).
-
-
-
diff --git "a/files/ca/web/guide/html/_consells_per_crear_p\303\240gines_html_de_c\303\240rrega_r\303\240pida/index.html" "b/files/ca/web/guide/html/_consells_per_crear_p\303\240gines_html_de_c\303\240rrega_r\303\240pida/index.html" deleted file mode 100644 index 6c683a8156..0000000000 --- "a/files/ca/web/guide/html/_consells_per_crear_p\303\240gines_html_de_c\303\240rrega_r\303\240pida/index.html" +++ /dev/null @@ -1,186 +0,0 @@ ---- -title: Consells per crear pàgines HTML de càrrega ràpida -slug: Web/Guide/HTML/_Consells_per_crear_pàgines_HTML_de_càrrega_ràpida -tags: - - Advanced - - Guide - - HTML - - NeedsUpdate - - Performance - - Web -translation_of: Learn/HTML/Howto/Author_fast-loading_HTML_pages ---- -

Aquests consells es basen en el coneixement i l'experimentació comuna.

- -

Una pàgina web optimitzada no només preveu un lloc més sensible per als seus visitants, sinó que també redueix la càrrega dels servidors web i la connexió a Internet. Això pot ser crucial per als llocs d'alt volum o dels llocs que tenen un pic en el tràfic a causa de circumstàncies inusuals, com ara notícies d'última hora.

- -

Optimitzar el rendiment de càrrega de pàgina no és només per a contingut que serà vist pels visitants de dispositius telefònics o mòbils de banda estreta. És igual d'important que el contingut en banda ampla i pot conduir a millores espectaculars fins i tot per als seus visitants amb les connexions més ràpides.

- -

Consells

- -

Reduir el pes de la pàgina

- -

El pes de la pàgina és, de bon tros, el factor més important en el rendiment de càrrega de pàgines.

- -

La reducció del pes de la pàgina a través de l'eliminació d'espais en blanc i comentaris innecessaris, comunament coneguda com la reducció al mínim, i movent el script en línia i CSS en arxius externs, pot millorar el rendiment de descàrrega amb una necessitat mínima d'altres canvis en l'estructura de la pàgina.

- -

Eines com ara HTML Tidy pot treure automàticament espais en blanc i les línies en blanc addicionals del codi HTML vàlid. Altres eines poden "comprimir" JavaScript canviant el format o per ofuscació de la font i la substitució dels identificadors llargs amb versions més curtes.

- -

Reduir al mínim el nombre d'arxius

- -

La reducció del nombre d'arxius que es fa referència en una pàgina web redueix el nombre de connexions HTTP necessaries per descarregar una pàgina.

- -

Depenent de la configuració de la memòria cau d'un navegador, es pot enviar una petició If-Modified-Since al servidor web per a cada arxiu CSS, JavaScript o imatge, preguntant si l'arxiu ha estat modificat des de l'última vegada que es va descarregar.

- -

En reduir el nombre d'arxius que es fa referència en una pàgina web, es redueix el temps necessari perquè aquestes peticions siguin enviades, i per les respostes que es rebin.

- -

Si utilitzeu moltes imatges de fons en el vostre CSS, es pot reduir la quantitat de cerques HTTP necessaries mitjançant la combinació de les imatges en una, conegut com un sprite d'imatge. A continuació, només s'aplica la mateixa imatge cada vegada que ho necessiteu per a un fons, i ajustant les coordenades x/y de manera apropiada. Aquesta tècnica funciona millor amb els elements que tenen dimensions limitades, i no funcionarà per a cada ús d'una imatge de fons. No obstant això, el menor nombre de peticions HTTP i l'emmagatzematge en memòria cau d'una sola imatge pot ajudar a reduir el temps pageload.

- -

L'excés de temps dedicat a la consulta de l'última modificació dels arxius de referència pot retardar la visualització inicial d'una pàgina web, ja que el navegador ha de comprovar el temps de modificació per a cada arxiu CSS o JavaScript, abans de processar la pàgina.

- -

Reduir la recerca de dominis

- -

Atès que cada domini per separat porta temps en la recerca de DNS, el temps de càrrega de la pàgina creixerà juntament amb el nombre de dominis independents que apareguin en link(s) CSS i src(es) JavaScript i imatge.

- -

Això no sempre és pràctic; no obstant això, sempre s'ha de tenir en compte d'utilitzar només el nombre mínim necessari dels diferents dominis en les vostres pàgines.

- -

Contingut reutilitzat en memòria cau

- -

Assegureu-vos que qualsevol contingut que es pugui emmagatzemar en memòria cau, s'emmagatzemi en memòria cau, i amb els temps de caducitat apropiades.

- -

En concret, presteu atenció a la capçalera Last-Modified. Permet d'una manera eficient l'emmagatzematge en memòria cau de la pàgina; per mitjà d'aquesta capçalera, la informació es transmet a l'agent d'usuari sobre l'arxiu que vol carregar, com quan es va modificar per última vegada. La majoria dels servidors web afegeixen automàticament la capçalera Last-Modified a pàgines estàtiques (per exemple .html, .css), d'acord amb la data d'última modificació emmagatzemada en el sistema d'arxius. Amb les pàgines dinàmiques (per exemple, .php, .aspx), això, per descomptat, no es pot fer, i la capçalera no s'envia.

- -

Així, en particular, per a les pàgines que es generen de forma dinàmica, una mica de recerca sobre aquest tema és beneficiós. Pot ser una mica complicat, però s'estalviarà molt en les sol·licituds de pàgina en les pàgines que normalment no serien emmagatzemades en memòria cau.

- -

Més informació:

- -
    -
  1. HTTP Conditional Get for RSS Hackers
  2. -
  3. HTTP 304: Not Modified
  4. -
  5. HTTP ETag on Wikipedia
  6. -
  7. Caching in HTTP
  8. -
- -

Ordenar de manera òptima els components de la pàgina

- -

Descarregar el contingut de la pàgina en primer lloc, juntament amb qualsevol CSS o JavaScript que pugui ser necessàri per a la seva visualització inicial, de manera que l'usuari obté una resposta aparent més ràpida durant la càrrega de les pàgines. Aquest contingut és normalment de text, i per tant pot beneficiar-se de la compressió del text en trànsit, proporcionant així una resposta fins i tot més ràpida per a l'usuari.

- -

Cap característica dinàmica que requereixi la pàgina per completar la càrrega abans de ser utilitzada, ha de ser desactivada inicialment, i només es permet després que la pàgina s'hagi carregat. Això farà que el JavaScript es carregui després del contingut de la pàgina, el que millorarà l'aspecte general de la càrrega de la pàgina.

- -

Reduir el nombre de scripts en línia

- -

Els scripts en línia poden ser costosos per a la càrrega de la pàgina, ja que l'analitzador ha d'assumir que un script en línia podria modificar l'estructura de la pàgina, mentre que l'anàlisi està en curs. Reduir l'ús de scripts en línia en general, i reduir l'ús de document.write() per a continguts de sortida en particular, pot millorar la càrrega total de la pàgina. Utilitzeu mètodes moderns d'AJAX per manipular el contingut de la pàgina per als navegadors moderns, en lloc dels antics enfocaments basats en document.write().

- -

Utilitzar CSS modern i marcat vàlid

- -

L'ús de CSS modern redueix la quantitat de marcat, pot reduir la necessitat d'imatges (spacer), en termes de disseny, i molt sovint pot substituir les imatges de text estilitzat - el "cost" és molt més que l'equivalent de text-i-CSS.

- -

L'ùs del marcat vàlid té altres avantatges. En primer lloc, els navegadors no tenen necessitat de dur a terme la correcció d'errors a l'analitzar el codi HTML (això és, a part de la qüestió filosòfica, de si s'ha de permetre la variació de format a l'entrada de l'usuari, i després mitjançant programació "corregir" o normalitzar aquest o si, en canvi, fer complir un estricte format d'entrada, no tolerància).

- -

D'altra banda, el marcat vàlid permet el lliure ús d'altres eines les quals poden pre-processar les vostres pàgines web. Per exemple, HTML Tidy pot eliminar espais en blanc i les etiquetes opcionals de tancament; però, es negarà a executar una pàgina amb greus errors de marcat.

- -

Part del teu contingut

- -

Les taules de dissenys són un mètode llegat que no ha de ser utilitzat més. Dissenys que utilitzen blocs {{HTMLElement ("div")}}, i en un futur pròxim, CSS3 Multi-column Layout o CSS3 Flexible Box Layout, s'han d'utilitzar al seu lloc.

- -

Les taules encara es consideren marcat vàlid, però han de ser utilitzades per a la visualització de dades tabulars. Per ajudar al navegador a processar la vostre pàgina més ràpidament, heu d'evitar niar les vostres taules.

- -

En lloc de niar profundament les taules com en:

- -
<TABLE>
-  <TABLE>
-    <TABLE>
-          ...
-    </TABLE>
-  </TABLE>
-</TABLE>
- -

utilitzar taules no niats o divs com a:

- -
<TABLE>...</TABLE>
-<TABLE>...</TABLE>
-<TABLE>...</TABLE>
-
- -

Veure: CSS3 Multi-column Layout Spec i CSS3 Flexible Box Layout

- -

Minimitzar i comprimir recursos SVG

- -

SVG produït per la majoria de les aplicacions de dibuix, sovint conté metadades innecessaries que es poden treure. Configureu els servidors per aplicar la compressió gzip per als recursos SVG.

- -

Especificar les mides de les imatges i taules

- -

Si el navegador pot determinar immediatament l'altura i/o amplada de les vostres imatges i taules, serà capaç de mostrar una pàgina web sense haver de reorganitzar el contingut. Això no només accelera la visualització de la pàgina, sinó que evita els molestos canvis en el disseny d'una pàgina quan la pàgina completa la càrrega. Per aquesta raó, height i width s'han d'especificar per a les imatges, sempre que sigui possible.

- -

Les taules han d'utilitzar la combinació CSS selector:propietat:

- -
  table-layout: fixed;
-
- -

i ha de precisar les amplades de les columnes utilitzant les etiquetes HTML COL i COLGROUP.

- -

Trieu els vostres requisits d'agent d'usuari sàviament

- -

Per aconseguir les millores més importants en el disseny de la pàgina, assegureu-vos que els requisits raonables d'agent d'usuari s'especifiquin en els projectes. No requereix que el seu contingut aparegui un píxel perfecte en tots els navegadors, especialment no en els navegadors de versions més antigues.

- -

L'ideal és que, els requisits mínims bàsics s'han de basar en la consideració dels navegadors moderns que suporten les normes pertinents. Això pot incloure les versions recents de Firefox, Internet Explorer, Google Chrome, Opera i Safari.

- -

Recordeu, però, que molts dels consells que apareixen en aquest article són tècniques de sentit comú que s'apliquen a qualsevol agent d'usuari, i que es poden aplicar a qualsevol pàgina web, independentment dels requisits de compatibilitat amb els navegadors.

- -

Exemple de l'estructura d'una pàgina

- -

· HTML

- -
-
· HEAD
-
- -
-
-
-
· LINK ...
- arxius CSS necessaris per l'aparença de la pàgina. Minimitzar el nombre d'arxius per el rendiment, mentre es manté CSS no relacionat en arxius separats per al manteniment.
-
-
-
- -
-
-
-
· SCRIPT ...
- arxius JavaScript per a funcions requerides durant la càrrega de la pàgina, però no qualsevol DHTML que només es pot executar després de càrrega de la pàgina.
-
Minimitzar el nombre d'arxius per el rendiment, mentre es manté JavaScript no relacionat en arxius separats per al manteniment.
-
-
-
- -
-
· BODY
-
· Contingut de la pàgina, visible per a l'usuari, en trossos petits (taules/divs) que es poden visualitzar sense esperar que la pàgina completi la seva descàrrega.
-
- -
-
-
-
· SCRIPT ...
- Qualsevol script que s'utilitzarà per realitzar DHTML. El script DHTML normalment es pot executar després que la pàgina s'hagi carregat completament i tots els objectes necessaris hagin estat inicialitzats. No hi ha necessitat de carregar aquests scripts abans que el contingut de la pàgina. Això només ralenteix l'aparença inicial de la càrrega de la pàgina.
-
Minimitzar el nombre d'arxius per el rendiment, mentre es manté JavaScript no relacionat en arxius separats per al manteniment.
-
Si s'utilitzen les imatges per a efectes rollover, s'ha de carregar prèviament aquí després que el contingut de la pàgina s'hagi descarregat.
-
-
-
- -

Utilitzar asyn i defer, si és possible

- -

Fer que els scripts de JavaScript siguin compatibles tant amb async i defer i utilitzar async sempre que sigui possible, especialment si té diverses etiquetes de script. Amb això, la pàgina pot aturar el processament, mentre que encara s'estigui carregant JavaScript. En cas contrari, el navegador no renderizará res que estigui darrere de les etiquetes de script que no tinguin aquests atributs.

- -

Nota: Tot i que aquests atributs ens ajuden molt per a la primera vegada que es carrega una pàgina, s'han d'usar, però no dependre de que funcionarà en tots els navegadors. Si seguiu totes les pautes per fer un bon codi JavaScript, no hi ha necessitat de canviar el codi.

- -

Enllaços relacionats

- - diff --git a/files/ca/web/guide/html/us_de_seccions_i_esquemes_en_html/index.html b/files/ca/web/guide/html/us_de_seccions_i_esquemes_en_html/index.html deleted file mode 100644 index 5da074b341..0000000000 --- a/files/ca/web/guide/html/us_de_seccions_i_esquemes_en_html/index.html +++ /dev/null @@ -1,341 +0,0 @@ ---- -title: Us de seccions i esquemes en HTML 5 -slug: Web/Guide/HTML/Us_de_seccions_i_esquemes_en_HTML -tags: - - Advanced - - Example - - Guide - - HTML - - HTML5 - - Outlines - - Overview - - Sections - - Web -translation_of: Web/Guide/HTML/Using_HTML_sections_and_outlines ---- -
-

Important: Actualment no existeixen implementacions de l'algorisme d'esquema en els navegadors gràfics o agents d'usuari de tecnologia d'assistència, encara que l'algorisme s'executa a un altre programari, com comprobadors de conformitat. Per tant, l'algorisme d'esquema no pot ser invocat per transmetre l'estructura dels documents als usuaris. Es recomana als autors a utilitzar les capçaleres de rang (h1-h6) per transmetre l'estructura.

-
- -

L'especificació HTML5 aporta diversos elements nous als desenvolupadors web que els permet descriure l'estructura d'un document web amb la semàntica estàndard. En aquest document es descriuen aquests elements i la forma d'utilitzar-los per definir el contorn desitjat per a qualsevol document.

- -

Estructura de un document en HTML 4

- -

L'estructura d'un document, és a dir, l'estructura semàntica del que està entre <body> i </body>, és fonamental per a la presentació de la pàgina a l'usuari. HTML 4 utilitza la noció de seccions i subseccions d'un document per a descriure la seva estructura. Una secció està definida per un element  ({{HTMLElement("div")}}) amb elements de capçalera ({{HTMLElement("h1")}}, {{HTMLElement("h2")}}, {{HTMLElement("h3")}}, {{HTMLElement("h4")}}, {{HTMLElement("h5")}} o {{HTMLElement("h6")}}) dins d'ella, definint el seu títol. Les relacions d'aquests elements dóna lloc a l'estructura del document i el seu contorn.

- -

Així que el següent marcat:

- -
-
<div class="section" id="forest-elephants" >
-  <h1>Forest elephants</h1>
-  <p>In this section, we discuss the lesser known forest elephants.
-    ...this section continues...
-  <div class="subsection" id="forest-habitat" >
-    <h2>Habitat</h2>
-    <p>Forest elephants do not live in trees but among them.
-     ...this subsection continues...
-  </div>
-</div>
-
-
- -

condueix al següent esquema:

- -
1. Forest elephants
-   1.1 Habitat
-
- -

Els elements {{HTMLElement("div")}} no són obligatoris per definir una nova secció. La mera presència d'un element capçalera és suficient perquè  impliqui una nova secció. Per tant aixó,

- -
<h1>Forest elephants</h1>
-  <p>In this section, we discuss the lesser known forest elephants.
-    ...this section continues...
-  <h2>Habitat</h2>
-  <p>Forest elephants do not live in trees but among them.
-    ...this subsection continues...
-  <h2>Diet</h2>
-<h1>Mongolian gerbils</h1>
-
- -

condueix al següent esquema:

- -
1. Forest elephants
-   1.1 Habitat
-   1.2 Diet
-2. Mongolian gerbils
-
- -

Problemes resolts per HTML5

- -

La definició d'HTML 4 de l'estructura d'un document i el seu algoritme d'esquematització implícit és molt perillos i condueix a nombrosos problemes:

- -
    -
  1. L'ús de {{HTMLElement("div")}} per definir seccions semàntiques, sense definir valors específics per als atributs class fa impossible l'automatització de l'algoritme d'esquema ( "És que {{HTMLElement("div")}} part de la esquema de la pàgina, defineix una secció o un subsecció? "o" és només una presentació de {{HTMLElement ( "div")}}, unicament utilitzat per a l'estil? "). En altres termes, l'especificació HTML 4 és molt imprecisa en el que és una secció i com es defineix el seu àmbit. La generació automàtica dels esquemes és important, especialment per la tecnologia d'assistència, que és possible adaptar-la a la forma en què es presenta la informació als usuaris, d'acord a l'estructura del document. HTML5 elimina la necessitat d'elements {{HTMLElement ( "div")}} de l'algoritme d'esquema mitjançant la introducció d'un nou element, {{HTMLElement("section")}}, l'element  HTML Section.
  2. -
  3. La fusió de diversos documents és difícil: la inclusió d'un sub-document en un document principal significa canviar el nivell de elements d'encapçalament HTML de manera que es mantigui l'esquema. Això es soluciona en HTML5 amb els elements de seccionament recentment introduïts ({{HTMLElement("article")}}, {{HTMLElement("section")}}, {{HTMLElement("nav")}} i {{HTMLElement("aside")}}), són sempre subseccions de la secció del seu ancestre més proper, independentment de quines seccions són creades per les capçaleres internes.
  4. -
  5. En HTML 4, cada secció és part de l'esquema del document. Però els documents sovint no són tan lineals. Un document pot tenir seccions especials que contenen informació que no és part de, tot i que està relacionat amb el flux principal, com un bloc d'anunci o una caixa d'explicació. HTML 5 introdueix l'element {{HTMLElement("aside")}} que permet aquestes seccions per no ser part de l'esquema principal.
  6. -
  7. Un cop més, en HTML 4, ja que cada secció és part de l'esquema del document, no hi ha manera de tenir seccions que continguin informació relacionada no amb el document, sinó a tot el lloc, com logotips, menús, taula de continguts, o la informació de copyright i avisos legals . Amb aquesta finalitat, HTML 5 introdueix tres nous elements: {{HTMLElement("nav")}} per a les col·leccions d'enllaços, com una taula de continguts, {{HTMLElement("footer")}} i {{HTMLElement("header")}} per obtenir informació relacionada amb el lloc. Recordeu que {{HTMLElement("header")}} i {{HTMLElement("footer")}} no seccionan el contingut com {{HTMLElement("section")}}, sinó que hi són per a marcar semànticament parts d'una secció.
  8. -
- -

De manera més general, HTML5 aporta precisió a les característiques de seccionament i encapçalament, permetent que l'esquema del document pogui ser predictible i utilitzat pel navegador per millorar l'experiència de l'usuari.

- -

Algoritme d'esquema HTML5

- -

Anem a considerar els algoritmes subjacents la forma en que HTML s'encarrega de les seccions i esquemes.

- -

Definir seccions

- -

Tot el contingut situat a l'interior de l'element {{HTMLElement("body")}} és part d'una secció. Les seccions en HTML5 es poden niar. Al costat de la secció principal, definit per l'element {{HTMLElement("body")}}, els límits de secció es defineixen de manera explícita o implícita. Les seccions definides de forma explícita, són els continguts dins de les etiquetes {{HTMLElement("body")}},  {{HTMLElement("section")}},  {{HTMLElement("article")}},  {{HTMLElement("aside")}} i {{HTMLElement("nav")}}.

- -
Cada secció pot tenir la seva pròpia jerarquia de encapçalaments. Per tant, fins i tot una secció niada pot tenir un {{HTMLElement("h1")}}. Veure {{anch("Defining headings")}}
- -

Vegem un exemple - aquí tenim un document amb una secció de nivell superior i un peu de pàgina definit. Dins de la secció de nivell superior tenim tres subseccions, que es defineixen per dos elements {{htmlelement("section")}} i un element {{htmlelement("aside")}}:

- -
<section>
-
-  <h1>Forest elephants</h1>
-
-  <section>
-    <h1>Introduction</h1>
-    <p>In this section, we discuss the lesser known forest elephants.</p>
-  </section>
-
-  <section>
-    <h1>Habitat</h1>
-    <p>Forest elephants do not live in trees but among them.</p>
-  </section>
-
-  <aside>
-    <p>advertising block</p>
-  </aside>
-
-</section>
-
-<footer>
-  <p>(c) 2010 The Example company</p>
-</footer>
- -

Això ens porta al següent esquema::

- -
1. Forest elephants
-   1.1 Introduction
-   1.2 Habitat
-
- -

Definir encapçalaments

- -

Mentre que els elements de seccionament HTML defineixen l'estructura del document, un esquema també necessita encapçalaments per ser útil. La regla bàsica és simple: el primer element d'encapçalament HTML (un de {{HTMLElement("h1")}}, {{HTMLElement("h2")}}, {{HTMLElement("h3")}}, {{HTMLElement("h4")}}, {{HTMLElement("h5")}}, {{HTMLElement("h6")}})) defineix el encapçalament de la secció actual.

- -

Els elements de capçalera tenen un rang donat pel nombre en el nom de l'element, on {{HTMLElement ("h1")}} té el rang més alt, i {{HTMLElement ("H6")}} té el rang més baix. Temes de classificació relativa només dins d'una secció; l'estructura de les seccions determina el esquema, no el rang d'encapçalament de les seccions. Per exemple, considereu aquest codi:

- -
<section>
-  <h1>Forest elephants</h1>
-  <p>In this section, we discuss the lesser known forest elephants.
-    ...this section continues...
-  <section>
-    <h2>Habitat</h2>
-    <p>Forest elephants do not live in trees but among them.
-        ...this subsection continues...
-  </section>
-</section>
-<section>
-  <h3>Mongolian gerbils</h3>
-  <p>In this section, we discuss the famous mongolian gerbils.
-     ...this section continues...
-</section>
- -

Aixó crea el següent esquema:

- -
1. Forest elephants
-   1.1 Habitat
-2. Mongolian gerbils
- -

Recordeu que el rang de l'element d'encapçalament (en l'exemple {{HTMLElement("h1")}} per a la primera secció de nivell superior, {{HTMLElement("h2")}} per a la subsecció i {{HTMLElement("h3")}} per a la segona secció de nivell superior) no és important. (Qualsevol rang es pot utilitzar com l'encapçalament d'una secció definida de manera explícita, encara que no es recomana aquesta pràctica.)

- -

Seccionament implícit

- -

A causa que el Seccionament d'elements HTML5 no són obligatoris per definir un esquema, per mantenir la compatibilitat amb la web existent, dominat per HTML 4, hi ha una manera de definir seccions sense ells. Això es diu seccionament implícit.

- -

Els elements de capçalera ({{HTMLElement("h1")}} a {{HTMLElement("h6")}}) defineixen una nova secció implícita, quan no són el primer encapçalament de les seccions explícites dels seue pares. La forma implícita d'aquesta secció es posiciona en l'esquema que es defineix per la seu rang relatiu amb l'encapçalat anterior en la seva secció per a pares. Si es tracta d'un rang inferior al de l'encapçalat anterior, s'obre una subsecció de la secció implícita. Aquest codi:

- -
<section>
-  <h1>Forest elephants</h1>
-  <p>In this section, we discuss the lesser known forest elephants.
-    ...this section continues...
-  <h3 class="implicit subsection">Habitat</h3>
-  <p>Forest elephants do not live in trees but among them.
-    ...this subsection continues...
-</section>
- -

condueix al següent esquema:

- -
1. Forest elephants
-   1.1 Habitat (implicitly defined by the h3 element)
-
- -

Si es tracta del mateix rang que l'encapçalat anterior, es tanca la secció anterior (que pot haver estat explícit!) I s'obre una nova implícita en el mateix nivell: 

- -
<section>
-  <h1>Forest elephants</h1>
-  <p>In this section, we discuss the lesser known forest elephants.
-    ...this section continues...
-  <h1 class="implicit section">Mongolian gerbils</h1>
-  <p>Mongolian gerbils are cute little mammals.
-    ...this section continues...
-</section>
- -

condueix al següent esquema:

- -
1. Forest elephants
-2. Mongolian gerbils (implicitly defined by the h1 element, which closed the previous section at the same time)
-
- -

Si es tracta d'un rang més alt que l'encapçalat anterior, es tanca la secció anterior i s'obre una nova implícita en el nivell superior:

- -
<body>
-  <h1>Mammals</h1>
-  <h2>Whales</h2>
-  <p>In this section, we discuss the swimming whales.
-    ...this section continues...
-  <section>
-    <h3>Forest elephants</h3>
-    <p>In this section, we discuss the lesser known forest elephants.
-      ...this section continues...
-    <h3>Mongolian gerbils</h3>
-      <p>Hordes of gerbils have spread their range far beyond Mongolia.
-         ...this subsection continues...
-    <h2>Reptiles</h2>
-      <p>Reptiles are animals with cold blood.
-          ...this section continues...
-  </section>
-</body>
- -

condueix al següent esquema:

- -
1. Mammals
-   1.1 Whales (implicitly defined by the h2 element)
-   1.2 Forest elephants (explicitly defined by the section element)
-   1.3 Mongolian gerbils (implicitly defined by the h3 element, which closes the previous section at the same time)
-2. Reptiles (implicitly defined by the h2 element, which closes the previous section at the same time)
-
- -

Aquest no és l'esquema que es podria esperar fent una ullada ràpida a les etiquetes d'encapçalament. Per fer un marcat humà comprensible, és una bona pràctica utilitzar etiquetes explícites per a l'obertura i tancament de seccions, i per a que coincideixi amb el rang d'encapçalament a nivell de niament de secció previst. No obstant això, no és requerit per l'especificació HTML5. Si trobeu que els navegadors mostran el seu esquema de document de manera inesperada, comproveu si té seccions que es tanquen de manera implícita pels elements d'encapçalament.

- -

Una excepció a la regla general és que el rang d'encapçalament ha de coincidir amb el nivell de niament de secció, és per a les seccions que poden ser reutilitzades en múltiples documents. Per exemple, una secció podria ser emmagatzemada en un sistema de gestió de continguts i muntada en documents en temps d'execució. En aquest cas, una bona pràctica és començar per {{HTMLElement("h1")}} per al nivell d'encapçalament superior de la secció reutilitzable. El nivell de niament de la secció reutilitzable serà determinat per la jerarquia de les seccions del document en què apareix. Les etiquetes de secció explícites són encara útils en aquest cas.

- -

Arrels de seccionament

- -

Una arrel de seccionament és un element HTML que pot tenir el seu propi esquema, però les seccions i encapçalaments en el seu interior no contribueixen a l'esquema del seu ancestre. Al costat de {{HTMLElement("body")}} que és l'arrel de seccionament lògica d'un document, aquests són sovint elements que introdueixen contingut extern a la pàgina: {{HTMLElement("blockquote")}}, {{HTMLElement("details")}}, {{HTMLElement("fieldset")}}, {{HTMLElement("figure")}} i {{HTMLElement("td")}}.

- -

Exemple:

- -
<section>
-  <h1>Forest elephants</h1>
-  <section>
-    <h2>Introduction</h2>
-    <p>In this section, we discuss the lesser known forest elephants</p>
-  </section>
-  <section>
-    <h2>Habitat</h2>
-    <p>Forest elephants do not live in trees but among them. Let's
-       look what scientists are saying in "<cite>The Forest Elephant in Borneo</cite>":</p>
-    <blockquote>
-       <h1>Borneo</h1>
-       <p>The forest element lives in Borneo...</p>
-    </blockquote>
-  </section>
-</section>
-
- -

El resultat d'aquest exemple en el següent esquema:

- -
1. Forest elephants
-   1.1 Introduction
-   1.2 Habitat
- -

Aquest esquema no conté el esquema intern de l'element {{HTMLElement("blockquote")}}, que sent una citació externa, és una arrel de seccionament i aïlla el seu esquema intern.

- -

Seccions fora de l'esquema

- -

HTML 5 introdueix dos nous elements que permeten definir seccions que no pertanyen el esquema principal d'un document web:

- -
    -
  1. L'element de secció HTML Aside ({{HTMLElement("aside")}}) defineix una secció que, encara que es relaciona amb l'element principal, no pertany al corrent principal, com un quadre d'explicació o un anunci. Té el seu propi esquema, però no pertany a la principal.
  2. -
  3. L'element de secció HTML de navegació ({{HTMLElement("nav")}}) defineix una secció que conté enllaços de navegació. Pot haver-hi diversos d'ells en un document, per exemple, una pàgina amb enllaços interns com una taula de continguts, i un altre amb el lloc d'enllaços de navegació. Aquests enllaços no són part del flux principal del document i esquema, i en general no són mostrats inicialment pels lectors de pantalla i tecnologies de suport similars.
  4. -
- -

Encapçalats i peus de pàgina

- -

HTML5 també introdueix dos nous elements que es poden utilitzar per marcar la capçalera i el peu de pàgina d'una secció:

- -
    -
  1. L'element Header HTML ({{HTMLElement("header")}}) defineix una capçalera de la pàgina - en general conté el logotip i el nom del lloc i, possiblement, un menú horitzontal - o encapçalament de secció, que potser conté la capçalera de la secció, el nom de l'autor, etc.. {{HTMLElement("article")}}, {{HTMLElement("section")}}, {{HTMLElement("aside")}} i {{HTMLElement("nav")}} poden tenir la seva pròpia {{HTMLElement("header")}}. Malgrat el seu nom, no necessàriament es col·locat al començament de la pàgina o secció.
  2. -
  3. L'element Footer HTML ({{HTMLElement("footer")}}) defineix un peu de pàgina - en general conté el dret d'autor i avisos legals i, de vegades alguns enllaços - o secció de peu de pàgina, que potser conté la data de publicació de la secció, la informació de llicència, etc. {{HTMLElement("article")}}, {{HTMLElement("section")}}, {{HTMLElement("aside")}} i {{HTMLElement("nav")}} poden tenir el seu pròpi {{HTMLElement("footer")}}. Malgrat el seu nom, no necessàriament es col·locat al final de la pàgina o secció.
  4. -
- -

Aquests no creen noves seccions en l'esquema, més aviat, marcan el contingut dins de les seccions de la pàgina.

- -

Adreces en elements de seccionament

- -

L'autor d'un document, sovint, vol publicar alguna informació de contacte, com el nom i l'adreça de l'autor. HTML 4 permet això a través de l'element {{HTMLElement("address")}}, que s'ha ampliat en HTML5.

- -

Un document pot estar fet de diferentes seccions per diferents autors. Una secció d'un altre autor, que el de la pàgina principal, es defineix mitjançant l'element {{HTMLElement("article")}}. En conseqüència, l'element {{HTMLElement("address")}} està enllaçat al seu més proper ancestre {{HTMLElement("body")}} o {{HTMLElement("article")}}.

- -

Usar elements HTML5 en navegadors no HTML5

- -

Els elements de seccions i capçaleres han de treballar en la majoria dels navegadors no HTML5. Tot i que no són compatibles, no necessiten una interfície especial DOM i només necessiten un estil CSS específic com a elements desconeguts, que son, se'ls dóna estil amb display:inline per defecte:

- -
section, article, aside, footer, header, nav, hgroup {
-  display:block;
-}
-
- -

Per descomptat, el desenvolupador web els pot donar estil de manera diferent però tinguen en compte que en un navegador no HTML5, l'estil per defecte és diferent del que s'espera per a aquest tipus d'elements. També tingueu en compte que l'element {{HTMLElement("time")}} no s'ha inclòs, ja que l'estil predeterminat per a ell en un navegador no HTML 5 és el mateix que en un amb HTML5 compatible.

- -

Aquest mètode té les seves limitacions,  ja que alguns navegadors no permeten un estil d'elements no compatibles. Aquest és el cas d'Internet Explorer (versió 8 i anteriors), que necessiten un script específic per permetre això:

- -
<!--[if lt IE 9]>
-  <script>
-    document.createElement("header" );
-    document.createElement("footer" );
-    document.createElement("section");
-    document.createElement("aside"  );
-    document.createElement("nav"    );
-    document.createElement("article");
-    document.createElement("hgroup" );
-    document.createElement("time"   );
-  </script>
-<![endif]-->
- -

Aquest script significa que, en el cas d'Internet Explorer (8 i anteriors), el script ha d'estar habilitat per tal de mostrar els elements de seccionament HTML5 i de capçaleres correctament. Si no és així, no es mostraran, la qual cosa pot ser problemàtic, ja que aquests elements són propensos a definir l'estructura de la pàgina sencera. És per això que un element explícit {{HTMLElement( "noscript")}} ha de ser afegit per a aquest cas:

- -
<noscript>
-   <strong>Warning !</strong>
-   Because your browser does not support HTML5, some elements are simulated using JScript.
-   Unfortunately your browser has disabled scripting. Please enable it in order to display this page.
-</noscript>
- -

Això ens porta al següent codi per permetre el suport dels elements de seccions HTML5 i capçaleres en els navegadors no HTML5, fins i tot per a Internet Explorer (8 i anteiors), amb un retorn adequat per al cas en què aquest últim navegador estigui configurat per no utilitzar scripts:

- -
<!--[if lt IE 9]>
-  <script>
-    document.createElement("header" );
-    document.createElement("footer" );
-    document.createElement("section");
-    document.createElement("aside"  );
-    document.createElement("nav"    );
-    document.createElement("article");
-    document.createElement("hgroup" );
-    document.createElement("time"   );
-  </script>
-  <noscript>
-     <strong>Warning !</strong>
-     Because your browser does not support HTML5, some elements are created using JavaScript.
-     Unfortunately your browser has disabled scripting. Please enable it in order to display this page.
-  </noscript>
-<![endif]-->
- -

Conclusió

- -

Els nous elements semàntics introduïts en HTML5 tene la capacitat de descriure l'estructura i l'esquema d'un document web d'una manera estàndard. Aporten una gran avantatge per a les persones que tenen navegadors HTML5 i que necessitan l'estructura per ajudar-los a entendre la pàgina, per exemple les persones que necessiten l'ajuda d'una mica de tecnologia d'assistència. Aquests nous elements semàntics són senzills d'usar i, amb molt poques càrregues, es poden fer funcionar també en els navegadors no HTML5. Per tant han de ser utilitzats sense restriccions.

- -
{{HTML5ArticleTOC()}}
diff --git a/files/ca/web/guide/html/using_html_sections_and_outlines/index.html b/files/ca/web/guide/html/using_html_sections_and_outlines/index.html new file mode 100644 index 0000000000..5da074b341 --- /dev/null +++ b/files/ca/web/guide/html/using_html_sections_and_outlines/index.html @@ -0,0 +1,341 @@ +--- +title: Us de seccions i esquemes en HTML 5 +slug: Web/Guide/HTML/Us_de_seccions_i_esquemes_en_HTML +tags: + - Advanced + - Example + - Guide + - HTML + - HTML5 + - Outlines + - Overview + - Sections + - Web +translation_of: Web/Guide/HTML/Using_HTML_sections_and_outlines +--- +
+

Important: Actualment no existeixen implementacions de l'algorisme d'esquema en els navegadors gràfics o agents d'usuari de tecnologia d'assistència, encara que l'algorisme s'executa a un altre programari, com comprobadors de conformitat. Per tant, l'algorisme d'esquema no pot ser invocat per transmetre l'estructura dels documents als usuaris. Es recomana als autors a utilitzar les capçaleres de rang (h1-h6) per transmetre l'estructura.

+
+ +

L'especificació HTML5 aporta diversos elements nous als desenvolupadors web que els permet descriure l'estructura d'un document web amb la semàntica estàndard. En aquest document es descriuen aquests elements i la forma d'utilitzar-los per definir el contorn desitjat per a qualsevol document.

+ +

Estructura de un document en HTML 4

+ +

L'estructura d'un document, és a dir, l'estructura semàntica del que està entre <body> i </body>, és fonamental per a la presentació de la pàgina a l'usuari. HTML 4 utilitza la noció de seccions i subseccions d'un document per a descriure la seva estructura. Una secció està definida per un element  ({{HTMLElement("div")}}) amb elements de capçalera ({{HTMLElement("h1")}}, {{HTMLElement("h2")}}, {{HTMLElement("h3")}}, {{HTMLElement("h4")}}, {{HTMLElement("h5")}} o {{HTMLElement("h6")}}) dins d'ella, definint el seu títol. Les relacions d'aquests elements dóna lloc a l'estructura del document i el seu contorn.

+ +

Així que el següent marcat:

+ +
+
<div class="section" id="forest-elephants" >
+  <h1>Forest elephants</h1>
+  <p>In this section, we discuss the lesser known forest elephants.
+    ...this section continues...
+  <div class="subsection" id="forest-habitat" >
+    <h2>Habitat</h2>
+    <p>Forest elephants do not live in trees but among them.
+     ...this subsection continues...
+  </div>
+</div>
+
+
+ +

condueix al següent esquema:

+ +
1. Forest elephants
+   1.1 Habitat
+
+ +

Els elements {{HTMLElement("div")}} no són obligatoris per definir una nova secció. La mera presència d'un element capçalera és suficient perquè  impliqui una nova secció. Per tant aixó,

+ +
<h1>Forest elephants</h1>
+  <p>In this section, we discuss the lesser known forest elephants.
+    ...this section continues...
+  <h2>Habitat</h2>
+  <p>Forest elephants do not live in trees but among them.
+    ...this subsection continues...
+  <h2>Diet</h2>
+<h1>Mongolian gerbils</h1>
+
+ +

condueix al següent esquema:

+ +
1. Forest elephants
+   1.1 Habitat
+   1.2 Diet
+2. Mongolian gerbils
+
+ +

Problemes resolts per HTML5

+ +

La definició d'HTML 4 de l'estructura d'un document i el seu algoritme d'esquematització implícit és molt perillos i condueix a nombrosos problemes:

+ +
    +
  1. L'ús de {{HTMLElement("div")}} per definir seccions semàntiques, sense definir valors específics per als atributs class fa impossible l'automatització de l'algoritme d'esquema ( "És que {{HTMLElement("div")}} part de la esquema de la pàgina, defineix una secció o un subsecció? "o" és només una presentació de {{HTMLElement ( "div")}}, unicament utilitzat per a l'estil? "). En altres termes, l'especificació HTML 4 és molt imprecisa en el que és una secció i com es defineix el seu àmbit. La generació automàtica dels esquemes és important, especialment per la tecnologia d'assistència, que és possible adaptar-la a la forma en què es presenta la informació als usuaris, d'acord a l'estructura del document. HTML5 elimina la necessitat d'elements {{HTMLElement ( "div")}} de l'algoritme d'esquema mitjançant la introducció d'un nou element, {{HTMLElement("section")}}, l'element  HTML Section.
  2. +
  3. La fusió de diversos documents és difícil: la inclusió d'un sub-document en un document principal significa canviar el nivell de elements d'encapçalament HTML de manera que es mantigui l'esquema. Això es soluciona en HTML5 amb els elements de seccionament recentment introduïts ({{HTMLElement("article")}}, {{HTMLElement("section")}}, {{HTMLElement("nav")}} i {{HTMLElement("aside")}}), són sempre subseccions de la secció del seu ancestre més proper, independentment de quines seccions són creades per les capçaleres internes.
  4. +
  5. En HTML 4, cada secció és part de l'esquema del document. Però els documents sovint no són tan lineals. Un document pot tenir seccions especials que contenen informació que no és part de, tot i que està relacionat amb el flux principal, com un bloc d'anunci o una caixa d'explicació. HTML 5 introdueix l'element {{HTMLElement("aside")}} que permet aquestes seccions per no ser part de l'esquema principal.
  6. +
  7. Un cop més, en HTML 4, ja que cada secció és part de l'esquema del document, no hi ha manera de tenir seccions que continguin informació relacionada no amb el document, sinó a tot el lloc, com logotips, menús, taula de continguts, o la informació de copyright i avisos legals . Amb aquesta finalitat, HTML 5 introdueix tres nous elements: {{HTMLElement("nav")}} per a les col·leccions d'enllaços, com una taula de continguts, {{HTMLElement("footer")}} i {{HTMLElement("header")}} per obtenir informació relacionada amb el lloc. Recordeu que {{HTMLElement("header")}} i {{HTMLElement("footer")}} no seccionan el contingut com {{HTMLElement("section")}}, sinó que hi són per a marcar semànticament parts d'una secció.
  8. +
+ +

De manera més general, HTML5 aporta precisió a les característiques de seccionament i encapçalament, permetent que l'esquema del document pogui ser predictible i utilitzat pel navegador per millorar l'experiència de l'usuari.

+ +

Algoritme d'esquema HTML5

+ +

Anem a considerar els algoritmes subjacents la forma en que HTML s'encarrega de les seccions i esquemes.

+ +

Definir seccions

+ +

Tot el contingut situat a l'interior de l'element {{HTMLElement("body")}} és part d'una secció. Les seccions en HTML5 es poden niar. Al costat de la secció principal, definit per l'element {{HTMLElement("body")}}, els límits de secció es defineixen de manera explícita o implícita. Les seccions definides de forma explícita, són els continguts dins de les etiquetes {{HTMLElement("body")}},  {{HTMLElement("section")}},  {{HTMLElement("article")}},  {{HTMLElement("aside")}} i {{HTMLElement("nav")}}.

+ +
Cada secció pot tenir la seva pròpia jerarquia de encapçalaments. Per tant, fins i tot una secció niada pot tenir un {{HTMLElement("h1")}}. Veure {{anch("Defining headings")}}
+ +

Vegem un exemple - aquí tenim un document amb una secció de nivell superior i un peu de pàgina definit. Dins de la secció de nivell superior tenim tres subseccions, que es defineixen per dos elements {{htmlelement("section")}} i un element {{htmlelement("aside")}}:

+ +
<section>
+
+  <h1>Forest elephants</h1>
+
+  <section>
+    <h1>Introduction</h1>
+    <p>In this section, we discuss the lesser known forest elephants.</p>
+  </section>
+
+  <section>
+    <h1>Habitat</h1>
+    <p>Forest elephants do not live in trees but among them.</p>
+  </section>
+
+  <aside>
+    <p>advertising block</p>
+  </aside>
+
+</section>
+
+<footer>
+  <p>(c) 2010 The Example company</p>
+</footer>
+ +

Això ens porta al següent esquema::

+ +
1. Forest elephants
+   1.1 Introduction
+   1.2 Habitat
+
+ +

Definir encapçalaments

+ +

Mentre que els elements de seccionament HTML defineixen l'estructura del document, un esquema també necessita encapçalaments per ser útil. La regla bàsica és simple: el primer element d'encapçalament HTML (un de {{HTMLElement("h1")}}, {{HTMLElement("h2")}}, {{HTMLElement("h3")}}, {{HTMLElement("h4")}}, {{HTMLElement("h5")}}, {{HTMLElement("h6")}})) defineix el encapçalament de la secció actual.

+ +

Els elements de capçalera tenen un rang donat pel nombre en el nom de l'element, on {{HTMLElement ("h1")}} té el rang més alt, i {{HTMLElement ("H6")}} té el rang més baix. Temes de classificació relativa només dins d'una secció; l'estructura de les seccions determina el esquema, no el rang d'encapçalament de les seccions. Per exemple, considereu aquest codi:

+ +
<section>
+  <h1>Forest elephants</h1>
+  <p>In this section, we discuss the lesser known forest elephants.
+    ...this section continues...
+  <section>
+    <h2>Habitat</h2>
+    <p>Forest elephants do not live in trees but among them.
+        ...this subsection continues...
+  </section>
+</section>
+<section>
+  <h3>Mongolian gerbils</h3>
+  <p>In this section, we discuss the famous mongolian gerbils.
+     ...this section continues...
+</section>
+ +

Aixó crea el següent esquema:

+ +
1. Forest elephants
+   1.1 Habitat
+2. Mongolian gerbils
+ +

Recordeu que el rang de l'element d'encapçalament (en l'exemple {{HTMLElement("h1")}} per a la primera secció de nivell superior, {{HTMLElement("h2")}} per a la subsecció i {{HTMLElement("h3")}} per a la segona secció de nivell superior) no és important. (Qualsevol rang es pot utilitzar com l'encapçalament d'una secció definida de manera explícita, encara que no es recomana aquesta pràctica.)

+ +

Seccionament implícit

+ +

A causa que el Seccionament d'elements HTML5 no són obligatoris per definir un esquema, per mantenir la compatibilitat amb la web existent, dominat per HTML 4, hi ha una manera de definir seccions sense ells. Això es diu seccionament implícit.

+ +

Els elements de capçalera ({{HTMLElement("h1")}} a {{HTMLElement("h6")}}) defineixen una nova secció implícita, quan no són el primer encapçalament de les seccions explícites dels seue pares. La forma implícita d'aquesta secció es posiciona en l'esquema que es defineix per la seu rang relatiu amb l'encapçalat anterior en la seva secció per a pares. Si es tracta d'un rang inferior al de l'encapçalat anterior, s'obre una subsecció de la secció implícita. Aquest codi:

+ +
<section>
+  <h1>Forest elephants</h1>
+  <p>In this section, we discuss the lesser known forest elephants.
+    ...this section continues...
+  <h3 class="implicit subsection">Habitat</h3>
+  <p>Forest elephants do not live in trees but among them.
+    ...this subsection continues...
+</section>
+ +

condueix al següent esquema:

+ +
1. Forest elephants
+   1.1 Habitat (implicitly defined by the h3 element)
+
+ +

Si es tracta del mateix rang que l'encapçalat anterior, es tanca la secció anterior (que pot haver estat explícit!) I s'obre una nova implícita en el mateix nivell: 

+ +
<section>
+  <h1>Forest elephants</h1>
+  <p>In this section, we discuss the lesser known forest elephants.
+    ...this section continues...
+  <h1 class="implicit section">Mongolian gerbils</h1>
+  <p>Mongolian gerbils are cute little mammals.
+    ...this section continues...
+</section>
+ +

condueix al següent esquema:

+ +
1. Forest elephants
+2. Mongolian gerbils (implicitly defined by the h1 element, which closed the previous section at the same time)
+
+ +

Si es tracta d'un rang més alt que l'encapçalat anterior, es tanca la secció anterior i s'obre una nova implícita en el nivell superior:

+ +
<body>
+  <h1>Mammals</h1>
+  <h2>Whales</h2>
+  <p>In this section, we discuss the swimming whales.
+    ...this section continues...
+  <section>
+    <h3>Forest elephants</h3>
+    <p>In this section, we discuss the lesser known forest elephants.
+      ...this section continues...
+    <h3>Mongolian gerbils</h3>
+      <p>Hordes of gerbils have spread their range far beyond Mongolia.
+         ...this subsection continues...
+    <h2>Reptiles</h2>
+      <p>Reptiles are animals with cold blood.
+          ...this section continues...
+  </section>
+</body>
+ +

condueix al següent esquema:

+ +
1. Mammals
+   1.1 Whales (implicitly defined by the h2 element)
+   1.2 Forest elephants (explicitly defined by the section element)
+   1.3 Mongolian gerbils (implicitly defined by the h3 element, which closes the previous section at the same time)
+2. Reptiles (implicitly defined by the h2 element, which closes the previous section at the same time)
+
+ +

Aquest no és l'esquema que es podria esperar fent una ullada ràpida a les etiquetes d'encapçalament. Per fer un marcat humà comprensible, és una bona pràctica utilitzar etiquetes explícites per a l'obertura i tancament de seccions, i per a que coincideixi amb el rang d'encapçalament a nivell de niament de secció previst. No obstant això, no és requerit per l'especificació HTML5. Si trobeu que els navegadors mostran el seu esquema de document de manera inesperada, comproveu si té seccions que es tanquen de manera implícita pels elements d'encapçalament.

+ +

Una excepció a la regla general és que el rang d'encapçalament ha de coincidir amb el nivell de niament de secció, és per a les seccions que poden ser reutilitzades en múltiples documents. Per exemple, una secció podria ser emmagatzemada en un sistema de gestió de continguts i muntada en documents en temps d'execució. En aquest cas, una bona pràctica és començar per {{HTMLElement("h1")}} per al nivell d'encapçalament superior de la secció reutilitzable. El nivell de niament de la secció reutilitzable serà determinat per la jerarquia de les seccions del document en què apareix. Les etiquetes de secció explícites són encara útils en aquest cas.

+ +

Arrels de seccionament

+ +

Una arrel de seccionament és un element HTML que pot tenir el seu propi esquema, però les seccions i encapçalaments en el seu interior no contribueixen a l'esquema del seu ancestre. Al costat de {{HTMLElement("body")}} que és l'arrel de seccionament lògica d'un document, aquests són sovint elements que introdueixen contingut extern a la pàgina: {{HTMLElement("blockquote")}}, {{HTMLElement("details")}}, {{HTMLElement("fieldset")}}, {{HTMLElement("figure")}} i {{HTMLElement("td")}}.

+ +

Exemple:

+ +
<section>
+  <h1>Forest elephants</h1>
+  <section>
+    <h2>Introduction</h2>
+    <p>In this section, we discuss the lesser known forest elephants</p>
+  </section>
+  <section>
+    <h2>Habitat</h2>
+    <p>Forest elephants do not live in trees but among them. Let's
+       look what scientists are saying in "<cite>The Forest Elephant in Borneo</cite>":</p>
+    <blockquote>
+       <h1>Borneo</h1>
+       <p>The forest element lives in Borneo...</p>
+    </blockquote>
+  </section>
+</section>
+
+ +

El resultat d'aquest exemple en el següent esquema:

+ +
1. Forest elephants
+   1.1 Introduction
+   1.2 Habitat
+ +

Aquest esquema no conté el esquema intern de l'element {{HTMLElement("blockquote")}}, que sent una citació externa, és una arrel de seccionament i aïlla el seu esquema intern.

+ +

Seccions fora de l'esquema

+ +

HTML 5 introdueix dos nous elements que permeten definir seccions que no pertanyen el esquema principal d'un document web:

+ +
    +
  1. L'element de secció HTML Aside ({{HTMLElement("aside")}}) defineix una secció que, encara que es relaciona amb l'element principal, no pertany al corrent principal, com un quadre d'explicació o un anunci. Té el seu propi esquema, però no pertany a la principal.
  2. +
  3. L'element de secció HTML de navegació ({{HTMLElement("nav")}}) defineix una secció que conté enllaços de navegació. Pot haver-hi diversos d'ells en un document, per exemple, una pàgina amb enllaços interns com una taula de continguts, i un altre amb el lloc d'enllaços de navegació. Aquests enllaços no són part del flux principal del document i esquema, i en general no són mostrats inicialment pels lectors de pantalla i tecnologies de suport similars.
  4. +
+ +

Encapçalats i peus de pàgina

+ +

HTML5 també introdueix dos nous elements que es poden utilitzar per marcar la capçalera i el peu de pàgina d'una secció:

+ +
    +
  1. L'element Header HTML ({{HTMLElement("header")}}) defineix una capçalera de la pàgina - en general conté el logotip i el nom del lloc i, possiblement, un menú horitzontal - o encapçalament de secció, que potser conté la capçalera de la secció, el nom de l'autor, etc.. {{HTMLElement("article")}}, {{HTMLElement("section")}}, {{HTMLElement("aside")}} i {{HTMLElement("nav")}} poden tenir la seva pròpia {{HTMLElement("header")}}. Malgrat el seu nom, no necessàriament es col·locat al començament de la pàgina o secció.
  2. +
  3. L'element Footer HTML ({{HTMLElement("footer")}}) defineix un peu de pàgina - en general conté el dret d'autor i avisos legals i, de vegades alguns enllaços - o secció de peu de pàgina, que potser conté la data de publicació de la secció, la informació de llicència, etc. {{HTMLElement("article")}}, {{HTMLElement("section")}}, {{HTMLElement("aside")}} i {{HTMLElement("nav")}} poden tenir el seu pròpi {{HTMLElement("footer")}}. Malgrat el seu nom, no necessàriament es col·locat al final de la pàgina o secció.
  4. +
+ +

Aquests no creen noves seccions en l'esquema, més aviat, marcan el contingut dins de les seccions de la pàgina.

+ +

Adreces en elements de seccionament

+ +

L'autor d'un document, sovint, vol publicar alguna informació de contacte, com el nom i l'adreça de l'autor. HTML 4 permet això a través de l'element {{HTMLElement("address")}}, que s'ha ampliat en HTML5.

+ +

Un document pot estar fet de diferentes seccions per diferents autors. Una secció d'un altre autor, que el de la pàgina principal, es defineix mitjançant l'element {{HTMLElement("article")}}. En conseqüència, l'element {{HTMLElement("address")}} està enllaçat al seu més proper ancestre {{HTMLElement("body")}} o {{HTMLElement("article")}}.

+ +

Usar elements HTML5 en navegadors no HTML5

+ +

Els elements de seccions i capçaleres han de treballar en la majoria dels navegadors no HTML5. Tot i que no són compatibles, no necessiten una interfície especial DOM i només necessiten un estil CSS específic com a elements desconeguts, que son, se'ls dóna estil amb display:inline per defecte:

+ +
section, article, aside, footer, header, nav, hgroup {
+  display:block;
+}
+
+ +

Per descomptat, el desenvolupador web els pot donar estil de manera diferent però tinguen en compte que en un navegador no HTML5, l'estil per defecte és diferent del que s'espera per a aquest tipus d'elements. També tingueu en compte que l'element {{HTMLElement("time")}} no s'ha inclòs, ja que l'estil predeterminat per a ell en un navegador no HTML 5 és el mateix que en un amb HTML5 compatible.

+ +

Aquest mètode té les seves limitacions,  ja que alguns navegadors no permeten un estil d'elements no compatibles. Aquest és el cas d'Internet Explorer (versió 8 i anteriors), que necessiten un script específic per permetre això:

+ +
<!--[if lt IE 9]>
+  <script>
+    document.createElement("header" );
+    document.createElement("footer" );
+    document.createElement("section");
+    document.createElement("aside"  );
+    document.createElement("nav"    );
+    document.createElement("article");
+    document.createElement("hgroup" );
+    document.createElement("time"   );
+  </script>
+<![endif]-->
+ +

Aquest script significa que, en el cas d'Internet Explorer (8 i anteriors), el script ha d'estar habilitat per tal de mostrar els elements de seccionament HTML5 i de capçaleres correctament. Si no és així, no es mostraran, la qual cosa pot ser problemàtic, ja que aquests elements són propensos a definir l'estructura de la pàgina sencera. És per això que un element explícit {{HTMLElement( "noscript")}} ha de ser afegit per a aquest cas:

+ +
<noscript>
+   <strong>Warning !</strong>
+   Because your browser does not support HTML5, some elements are simulated using JScript.
+   Unfortunately your browser has disabled scripting. Please enable it in order to display this page.
+</noscript>
+ +

Això ens porta al següent codi per permetre el suport dels elements de seccions HTML5 i capçaleres en els navegadors no HTML5, fins i tot per a Internet Explorer (8 i anteiors), amb un retorn adequat per al cas en què aquest últim navegador estigui configurat per no utilitzar scripts:

+ +
<!--[if lt IE 9]>
+  <script>
+    document.createElement("header" );
+    document.createElement("footer" );
+    document.createElement("section");
+    document.createElement("aside"  );
+    document.createElement("nav"    );
+    document.createElement("article");
+    document.createElement("hgroup" );
+    document.createElement("time"   );
+  </script>
+  <noscript>
+     <strong>Warning !</strong>
+     Because your browser does not support HTML5, some elements are created using JavaScript.
+     Unfortunately your browser has disabled scripting. Please enable it in order to display this page.
+  </noscript>
+<![endif]-->
+ +

Conclusió

+ +

Els nous elements semàntics introduïts en HTML5 tene la capacitat de descriure l'estructura i l'esquema d'un document web d'una manera estàndard. Aporten una gran avantatge per a les persones que tenen navegadors HTML5 i que necessitan l'estructura per ajudar-los a entendre la pàgina, per exemple les persones que necessiten l'ajuda d'una mica de tecnologia d'assistència. Aquests nous elements semàntics són senzills d'usar i, amb molt poques càrregues, es poden fer funcionar també en els navegadors no HTML5. Per tant han de ser utilitzats sense restriccions.

+ +
{{HTML5ArticleTOC()}}
diff --git a/files/ca/web/guide/mobile/a_hybrid_approach/index.html b/files/ca/web/guide/mobile/a_hybrid_approach/index.html new file mode 100644 index 0000000000..da2ee0a625 --- /dev/null +++ b/files/ca/web/guide/mobile/a_hybrid_approach/index.html @@ -0,0 +1,43 @@ +--- +title: Una solució híbrida +slug: Web_Development/Mobile/A_hybrid_approach +translation_of: Web/Guide/Mobile/A_hybrid_approach +--- +

Les bales de plata costen de trobar en el desenvolupament web — és molt més probable que empris estratègies que fan ús de vàries tècniques segons les circumstàncies. I això ens du a la nostra tercera solució pel desenvolupament web amigable amb el mòbil, que tracta d'evitar les deficiències de les altres dues solucions (diferents webs i única web amb disseny sensible), combinant-les.

+

Aquest enfoc híbrid se centra en atacar per separat cada un dels tres objectius del desenvolupament web per als mòbils, i aplicar les millors solucions tècniques disponibles a cada un d'ells. Aquest article presenta aquí una potencial combinació de tècniques, però en altres circumstàncies pot convenir una combinació diferent. El concepte clau que cal recordar i entendre és que per resoldre les teves necesitats concretes pots combinar les tècniques que calgui de banda del servidor amb les aplicades al navegador.

+

Avantatges

+

El disseny sensible (responsive design) està força bé — ara mateix [NT: juny 2011] és la millor tècnica disponible per a fer que els nostres layouts web es vegin bé en una àmplia varietat de circumstàncies. Si l'ús que se li ha de donar a les versions mòbil i de PC de la teva web són suficientment similars, llavors aquesta és la solució preferible pels teus layouts. Encara que -no s'ha d'oblidar- pot ser una mica cansat continuament usar tècniques (CSS i Javascript) per modificar la presentació de continguts que es presenten segons el context.

+

Afortunadament, no hi ha motius tècnics que ens forcin a emprar tècniques de la banda del navegador per a aquesta tasca: tenim l'opció de fer servir la detecció del user-agent des de la banda del servidor per a escollir el contingut que volem mostrar a l'usuari. Això no reduirïa la complexitat d'alterar el contingut des de la banda del servidor, però encara permetria que els nostres layouts es beneficiessin de la flexibilitat i futura llegibilitat del disseny sensible.

+

L'ús de la detecció del user-agent pel contingut i no pas pel layout també et permetria tenir una única URL per a ambdós continguts, puix que el contingut pot adaptar la seva disposició al navegador de l'usuari. Això normalment es veu com a una bona solució. En lloc de mantenir dues versions completament diferents de la web, simplement redirigim els usuaris a les planes amb el contingut que els hi escau. I donat que el disseny és sensible, saps que cada plana es veurà tan bé com és possible a la pantalla de l'usuari.

+

També podem donar solució a alguns dels problemes de rendiment del disseny sensible incorporant certes tècniques des de la banda del servidor. Per exemple, un dels punts més criticats als dissenys sensibles és que les imatges són enviades a tots els dispositius amb la mateixa resolució, incloent telèfons els quals redimensionen les imatges inteligentment. Una tècnica per a evitar aquest inconvenient empra la detecció del user-agent des del servidor juntament amb la llibreria de detecció de capacitat del dispositiu de WURFL per a enviar una imatge ja reescalada segons el dispositiu de l'usuari. Estan sorgint una àmplia gama de productes que proporcionen això com a webservice. És clar, aquesta tècnica pateix els desavantatges associats a la deteccció del user-agent. Però inclús si això no funciona, el rendiment no és pitjor que emprant només imatges fluides.

+

Combinant les tècniques ja mencionades, podem obtenir una estratègia de desenvolupament web mòbil que és més flexible que les webs fetes diferents (mòbil vs. PC) i té millor rendiment que un disseny sensible pur.

+

Inconvenients

+

Un inconvenient de les solucions híbrides és que poden conduir a un augment en el nombre de vies de codi que treballen en paralel, tant del costat del navegador com del servidor. Això és tradueix en un molt probablement major consum de temps en programació que d'altres solucions. Encara que amb la correcta planificació, podem tenir el codi organitzat d'una manera asequible per les tasques de manteniment.

+

Un altre inconvenient és que com que aquesta solució romàn sobre l'ús d'un disseny sensible, és més factible i eficaç per a projectes de nova planta o que ja disposen d'un layout flexible, però no és així per a webs que ja tenen la versió d'escriptori ben construida. De igual forma, puix que emprem la detecció del user-agent, hauràs d'actualitzar les regles de detecció amb el temps continuament. [NT: donat que ja s'ha esmentat que hi ha web services que faciliten aquesta tasca amb un grau òptim de fiabilitat i amb facilitat d'integració en qualsevol CMS com una extensió o llibreria, no li veig al què a aquest inconvenient... és una opinió personal].

+

Quan és adient escollir aquesta solució

+

Sempre té sentit considerar combinar tecnologies del costat del navegador i del servidor; n'hi ha tantes opcions disponibles en aquest sentit que convé calibrar els pros i els contres de cada tècnica que emprem.

+

En molts casos, no és necesària la complexitat afegida del model híbrid. Per exemple, potser ni necesites ajustar el contingut en funció del dispositiu emprat per l'usuari —podria ser suficient sabent si una característica és present al seu navegador. Això ho podries discernir des del costat del navegador emprant una detecció per javascript. No pot fer mal excavar una mica i preguntar-te al voltant de quin eix vols centrar el teu contingut en cada cas.

+

Hem parlat d'afegir tècniques del costat del servidor a un disseny sensible, però també hi ha formes d'implementar un sistema híbrid per a casos on necesites que les versions mòbil i d'escriptori siguin diferents. Podries, per exemple, augmentar la flexibilitat d'amdós versions incorporant a cada una d'elles media queries [NT: indicar al navegador que carregui i apliqui diferents fulls d'estils CSS segons les característiques físiques del navegador] i un layout flexible. D'aquesta forma podries fer que la teva versiò mòbil treballés millor -més adaptativament- sobre les tabletes.well.

+

Exemples

+

webowonder_mobile_and_desktop-300x225.jpgPer a la web demo de Mozilla O’ Wonder, vam provar una versió bàsica de solució híbrida, amb resultats positius. Vam emprar alguns elements de disseny web sensible per donar a la web un layout mòbil, mentres que empràvem la deteccció de user-agent per a oferir videos amigables amb el mòbil i per a re-ordenar les demos si l'usuari era en un telèfon. Fes una ullada al seu codi si vols, que tenim al github.

+

Ben aviat podríem estar fent més desenvolupaments en aquesta línia! De fet, una possible via per a la web principal de Mozilla s'ha esbossat amunt a la secció "Avantatges":

+ +

De moment no hi ha gaire que veure pel mòbil, puix que encara som a la etapa de planificació del desenvolupament, però sempre pots visitar i veure com creix el nou mozilla.org al github. Suscriu-te al bloc Mozilla Webdev per assebentar-te dels progressos que fem.

+

Resum

+

No hi ha una solució única per tots els casos. Les aplicacions web que pels usuaris de la versió mòbil necesiten adaptar molt els continguts o les funcionalitats que ofereixen probablement hauran de desenvolupar una web diferent a la d'escriptori. En canvi, planes orientades al contingut que no necesiten modificar el contingut pels usuaris mòbils quedaran bastant satisfets amb un disseny web sensible. Si el que necesites és canviar només lleugerament el missatge pels usuaris mòbils, i vols conservar els beneficis d'un disseny sensible, una solució híbrida pot ser la teva millor opció. Decisions com aquesta són al cor del desenvolupament de webs mòbils: sigues concret en quan al que t'agradaria aconseguir, i escull una solució pràctica sient conscient dels avantatges i inconvenients. Bona sort!

+

Enfocs del desenvolupament de webs mòbils

+

Llegeix els articles següents per a entendre el fons i les estratègies de desenvolupament per a mòbils.

+ +
+

Informació del document original

+

Aquest article va ser publicat originalment al 27 de Juny de 2011, al bloc Mozilla Webdev com "Approaches to Mobile Web Development Part 4 – A Hybrid Approach", per Jason Grlicky.

+
+

 

diff --git a/files/ca/web/guide/mobile/index.html b/files/ca/web/guide/mobile/index.html new file mode 100644 index 0000000000..84a810eb1c --- /dev/null +++ b/files/ca/web/guide/mobile/index.html @@ -0,0 +1,18 @@ +--- +title: Desenvolupament de webs per a mòbils +slug: Web_Development/Mobile +tags: + - Mobile + - NeedsTranslation + - TopicStub + - Web Development +translation_of: Web/Guide/Mobile +translation_of_original: Web_Development/Mobile +--- +

Construir webs per ser vistes en dispositius mòbils requereix prendre solucions que assegurin que la web funcioni igual de bé en dispositius mòbils com ho fa en navegadors d'escriptori. Els següents articles descriuen algunes d'aquestes solucions:

+ diff --git a/files/ca/web/guide/mobile/mobile-friendliness/index.html b/files/ca/web/guide/mobile/mobile-friendliness/index.html new file mode 100644 index 0000000000..b5ed1bbdb4 --- /dev/null +++ b/files/ca/web/guide/mobile/mobile-friendliness/index.html @@ -0,0 +1,30 @@ +--- +title: Webs amigables amb els mòbils +slug: Web_Development/Mobile/Mobile-friendliness +translation_of: Web/Guide/Mobile/Mobile-friendliness +--- +

Què és una web amigable amb els mòbils?

+

Vol dir multitud de coses segons amb qui parlis. Lo millor és veure aquest assumpte prenent com a referent els 3 objectius per a millorar l'experiència dels teus usuaris: presentació, contingut, i rendiment.

+

Objectiu #1 (presentació)

+

“Fes webs que treballin bé en qualsevol mida de pantalla.”

+

Avui dia els usuaris accedeixen a les webs emprant una gama amplísima de dispositius que inclou telèfons, tabletes, eReaders, netbooks, a banda dels tradicionals ordinadors d'escriptori i dels portàtils. I no cal dir que una web amb una estructura d'amplada fixe i 3 columnes, que a més usa intensivament javascript, efectes mouse-over, etc. no es veurà molt bé en una pantalla de 2 polzades d'amplada i un processador poc potent. En canvi, una estructura molt més aprimada, amb una estructura i uns elements redimensionats al tamany d'aquesta petita pantalla tàctil probablement garantirà una molt millor experiència de navegació. Aquesta és la raó per la que el primer objectiu és presentar adequadament el contingut de tal manera que els usuaris mòbils tingui la vida més fàcil.

+

Objectiu #2 (contingut)

+

“Adapta els teus continguts per als usuaris mòbils.”alaska_air_mobile_and_desktop-300x225.png

+

Has de rumiar què deuen voler fer els que visiten la teva web des del telèfon. Un bon exemple d'això és la plana d' Alaska Air’s. La seva web per a escriptori se centra en que els visitants facin reserves. Però probablement els usuaris mòbils estan més interessats en el check-in per a un vol, o veure si aquest vol s'ha retrasat. Per això van ajustar el continguts de les seves webs d'acord amb aquest raonament, i així estan atenent millor les necesitats dels usuaris mòbils.

+

Objectiu #3 (rendiment)

+

“Dona als teus usuaris una experiència fluïda, fins i tot amb una conexió lenta.”

+

Malgrat que la qüestió de la velocitat de conexió ha millorat força en els darrers anys, massa sovint continua sent bastant farragós la navegació sense cables des d'un dispositiu mòbil. Això fa que sigui més necesari que mai posar en pràctica tècniques d'optimització del rendiment, enviant a l'usuari exclusivament aquells bits que siguin estrictament necesaris.

+

Coneix el teu públic

+

Encara que no sigui quelcom estrictament específic de la definició de lo que és amigable amb el mòbil, definir qui i com són els teus potencials usuaris de la teva web mòbil ajuda a concretar els tres objectius anteriors. Per exemple, és absolutament crític tenir en ment a quins navegadors i dispositius et dirigiràs quan defineixis la teva estratègia. Si entre la teva audiència hi ha molts early-adopters [NT: gent que sol ser dels primers en adquirir les innovacions tecnològiques], llavors et pots enfocar en tabletes i telèfons amb navegadors que solen respectar els estàndars. Però si en canvi, la majoria dels teus usuaris disposen de telèfons amb navegadors de menys capacitat, això hauria de fer desestimar segons quines estratègies o dissenys com a opcions viables.

+

Enfocs pel desenvolupament de webs mòbils

+

Els següents enfocs difereixen en com tracten de resoldre els objectius d'usabilitat que hem estat comentant.

+ +
+

Informació del document original

+

Originalment publicat el 4 de Maig, 2011 al bloc Mozilla Webdev com "Approaches to Mobile Web Development Part 1 - What is Mobile Friendliness?", per Jason Grlicky.

+
+

 

diff --git a/files/ca/web/guide/mobile/separate_sites/index.html b/files/ca/web/guide/mobile/separate_sites/index.html new file mode 100644 index 0000000000..ceb9160b38 --- /dev/null +++ b/files/ca/web/guide/mobile/separate_sites/index.html @@ -0,0 +1,31 @@ +--- +title: Diferents webs per a mòbil i PC +slug: Web_Development/Mobile/Separate_sites +translation_of: Web/Guide/Mobile/Separate_sites +--- +

La solucio de "webs diferents" per a la construcció de webs accesibles des del mòbil implica crear realment dos webs diferents (de contingut i forma) per als usuaris mòbils i pels que ens visiten des de l'escriptori de l'ordinador/portàtil. Aquesta solució -com les altres- té els seus avantatges però també els seus inconvenients.

+

Avantatges

+

La primera opció és de lluny la més popular i habitual: emprar des del teu codi al servidor la detecció del user-agent del visitant de la web per a redirigir o mostrar una web específicament dissenyada pels mòbils, típicament ubicada a una URL del tipus m.example.com. Així, aquesta tècnica que empra una lògica construida del costat del servidor resol d'un sol cop els tres objectius del desenvolupament web — si sembla que el navegador de l'usuari està corrent en un telèfon llavors la nostra aplicació li proporcionarà un contingut adaptat en tots el sentits per al mòbil i per tant optimitzat en rendiment, en tots els sentits.

+

Conceptualment  senzill, aquesta és la opció més fàcil per a afegir a una web existent, especialment si estàs emprant un CMS o una aplicació web que suporta plantilles pel disseny de manera més o menys flexible. Donat que a l'usuari se li envien només continguts, estils i scripts especifics pel mòbil, aquest métode també proporciona el millor rendiment per sobre de qualsevol dels altres que aquí presentem. Per acabar, també permet donar als usuaris dos experiències completament diferents quan visiten una web o una altra, perqué realment són dos webs diferents.

+

Inconvenients

+

Per desgràcia, no falten els inconvenients. Per començar, hauràs de mantenir per duplicat totes les planes de la teva web que vulguis mostrar als usuaris mòbils. Si estàs emprant un CMS, és posible reorganitzar les plantilles de la web per a minimitzar aquesta feina de duplicació. Però sempre que hi hagi una diferència entre les plantilles mòbil i d'escriptori, hi haurà una potencial font de complicacions en el teu codi. Igualment, aquesta situació incrementa el temps necesari per a afegir noves característiques o continguts a la web, perqué has d'implementar el teu codi en dos lògiques de frontend diferents.

+

Més important que això, hi ha el fet de que la detecció del user-agent és una tasca inherentment defectuosa i amb una alta probabilitat de que amb el pas del temps funcioni malament quan vagin sortint nous dispositius i configuracions de navegador. Cada cop que aparegui un nou navegador hauràs d'ajustar el teu algorisme de detecció per a identificar-lo. I els falsos positius (quan es detecta algo que no és) són particularment inconvenients: podria ser vergonyòs servir la versiò mòbil de la web a un usuari d'escriptori.

+

[NT: cal dir que hi ha llibreries i webservices  que t'ajuden en aquesta detecció del user-agent amb prou fiabilitat, perqué hi ha un equip a darrera que s'encarrega de la seva continua actualització. Això garantiria bastant el que la teva aplicació de servidor sempre interpretés correctament el user-agent del visitant i et permet no només saber el tamany de la pantalla sinó també altres característiques com si és touch. Un bon exemple és el webservice Tera-WURFL.]

+

Quan és adient escollir aquesta solució

+

sumo_screenshot.pngPrimerament, si el teu públic potencial inclou usuaris amb telèfons vells o de capacitat limitada, val la pena assenyalar que necesitaries implementar aquesta solució en algun grau sí o sí encara que no sigui completament. Això és perqué el navegador que porten alguns telèfons no solen ser compatibles amb cert codi que tú empraries normalment en una web per a l'escriptori, però en canvi s'entenen força bé amb formats com XHTML-MP o el vell WML.

+

Fora d'això, hi ha un cas en el que aquesta estratègia realment destaca per sobre de qualsevol altre. Si la funcionalitat que tú vols fer arribar als teus usuaris mòbils és bastant diferent de la que normalment ofereixes a la web d'escriptori, llavors usar dos webs diferents per a cada escenari és simplement la millor opció. Perqué així tens la opció d'enviar HTML, Javascript i CSS completament diferents als mòbils i als PCs.

+

Un altre cas on tú estaries forçat a prendre una solució com aquesta és si, per qualsevol raó, no poguessis modificar la web d'escriptori tal com està, llavors necesitaries una web 100% diferent pel mòbil.

+

Exemples

+

La majoria de les aplicacions webs que has vist de les grans empreses a internet han optat per aquesta via, incloent Facebook, YouTube, Digg, i Flickr. De fet, Mozilla emprà aquesta solució per a les versions mòbils de addons.mozilla.org (AMO) i support.mozilla.org (SUMO). Si volguessis veure el codi font d'aquests exemples en acció, pren-te la llibertat de consultar el repositori a github per a AMO o SUMO.

+

Altres enfocs pel desenvolupament web mòbil

+

Fes una ullada als següents articles sobre el desenvolupament de la web mòbil.

+ +
+

Informació del document original

+

Aquest article va ser publicat originalment el 13 de Maig de 2011, al bloc Mozilla Webdev com "Approaches to Mobile Web Development Part 2 – Separate Sites", per Jason Grlicky.

+
+

 

diff --git a/files/ca/web/html/element/command/index.html b/files/ca/web/html/element/command/index.html deleted file mode 100644 index 17614b7e4f..0000000000 --- a/files/ca/web/html/element/command/index.html +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: -slug: Web/HTML/Element/command -tags: - - HTML - - HTML Element Reference - - HTML element - - HTML5 -translation_of: Web/HTML/Element/command ---- -
{{obsolete_header()}}
- -
-

Nota: L'element comand s'ha eliminat de {{Gecko("24.0")}} en favor de l'element {{HTMLElement("menuitem")}}. Firefox mai ha donat suport a aquest element comand, i s'ha abandonat la implementació de la interfície DOM {{domxref("HTMLCommandElement")}} existent a Firefox 24.

-
- -

Sumari

- -

L'element comand representa un comando que l'usuari pot invocar.

- - - - - - - - - - - - - - - - - - - - - - - - -
Categories de contingutcontingut de flux, phrasing content, contingut metadata.
Contingut permèsCap, és un {{Glossary("empty element")}}.
Omissió de l'etiquetaL'etiqueta d'inici és obligatori, però, com que és un element buit, l'ús d'una etiqueta final està prohibit.
Elements pares permesosnomés {{HTMLElement("colgroup")}}, encara que  implícitament pot ser definida com la seva etiqueta d'inici però no és obligatòria. La {{HTMLElement("colgroup")}} no ha de tenir un {{HTMLElement("span")}} com a fill.
Interfície DOM{{domxref("HTMLCommandElement")}} {{ obsolete_inline(24) }}
- -

Atributs

- -

Aquest element inclou els atributs globals.

- -
-
{{htmlattrdef("checked")}}
-
Indica si comand es seleccionat. S'ha d'ometre llevat que l'atribut type és checkbox o radio.
-
{{htmlattrdef("disabled")}}
-
Indica que comand no està disponible..
-
{{htmlattrdef("icon")}}
-
Dóna una imatge que representa el comand.
-
{{htmlattrdef("label")}}
-
El nom del command tal com es mostra a l'usuari.
-
{{htmlattrdef("radiogroup")}}
-
Aquest atribut dóna el nom del grup d'ordres, amb un type radio, que es commuta quan s'alterna el propi comandament. S'ha omès aquest atribut llevat que l'atribut type sigui radio.
-
{{htmlattrdef("type")}}
-
Aquest atribut indica el tipus de comandt. Això pot ser un dels tres valors. -
    -
  • -

    command o buit que és l'estat per defecte, i indica que es tracta d'un comand normal.

    -
  • -
  • -

    checkbox indica que command s'alterna amb un checkbox.

    -
  • -
  • -

    radio indica que command s'alterna amb un radiobutton.

    -
  • -
-
-
- -

Exemples

- -
<command type="command" label="Save" icon="icons/save.png" onclick="save()">
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('HTML WHATWG', 'commands.html', '<command>')}}{{Spec2('HTML WHATWG')}} 
{{SpecName('HTML5 W3C', 'semantics.html#the-command-element', '<command>')}}{{Spec2('HTML5 W3C')}} 
- - - -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

{{ HTMLRef }}

diff --git a/files/ca/web/html/element/element/index.html b/files/ca/web/html/element/element/index.html deleted file mode 100644 index 66e51e06e1..0000000000 --- a/files/ca/web/html/element/element/index.html +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: -slug: Web/HTML/Element/element -translation_of: Web/HTML/Element/element ---- -
-

Nota: Aquest element s'ha eliminat de l'especificació. Vegeu això per més informació de l'editor de l'especificació.

-
- -

Resum

- -

L'element HTML <element>  s'utilitza per definir nous elements DOM personalitzats.

- - - -

Atributs

- -

Aquest element inclou els atributs globals.

- -

Exemples

- -

El text va aquí.

- -
Més text va aquí.
-
- -

Especificacions

- -

L'element <element> es torbava antigament dins d'un esborrany de l'especificació de Elements personalitzats però s'ha eliminat.

- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • Components Web: {{HTMLElement("content")}}, {{HTMLElement("shadow")}}, {{HTMLElement("template")}}
  • -
- -
{{HTMLRef}}
diff --git "a/files/ca/web/html/elements_en_l\303\255nia/index.html" "b/files/ca/web/html/elements_en_l\303\255nia/index.html" deleted file mode 100644 index 0ec8db2c0d..0000000000 --- "a/files/ca/web/html/elements_en_l\303\255nia/index.html" +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Elements en línia -slug: Web/HTML/Elements_en_línia -tags: - - Beginner - - HTML - - 'HTML:Element Reference' -translation_of: Web/HTML/Inline_elements ---- -

Sumari

- -

Els elements HTML (Hypertext Markup Language) solen ser elements "en línia" o elements a "nivell de bloc". Un element en línia ocupa només l'espai delimitat per les etiquetes que defineixen l'element en línia. El següent exemple demostra la influència de l'element en línia:

- -

Exemple en línia

- -

HTML

- -
<p>This <span>span</span> is an inline element; its background has been colored to display both the beginning and end of the inline element's influence</p>
- -

CSS

- -
span { background-color: #8ABB55; }
-
- -

{{ EmbedLiveSample('Inline_example') }}

- -

En línia vs. nivell de bloc

- -
-
Model de contingut
-
En general, els elements en línia poden contenir únicament les dades i altres elements en línia.
-
Format
-
Per defecte, els elements en línia no comencen amb nova línia.
-
- -

Elements

- -

Els següents elements són "en línia":

- -
-
-
{{ HTMLElement("a") }}
-
{{ HTMLElement("b") }}
-
{{ HTMLElement("big") }}
-
{{ HTMLElement("i") }}
-
{{ HTMLElement("small") }}
-
{{ HTMLElement("tt") }}
-
{{ HTMLElement("abbr") }}
-
{{ HTMLElement("acronym") }}
-
{{ HTMLElement("cite") }}
-
{{ HTMLElement("code") }}
-
{{ HTMLElement("dfn") }}
-
{{ HTMLElement("em") }}
-
{{ HTMLElement("kbd") }}
-
{{ HTMLElement("strong") }}
-
{{ HTMLElement("samp") }}
-
{{ HTMLElement("time") }}
-
{{ HTMLElement("var") }}
-
{{ HTMLElement("a") }}
-
{{ HTMLElement("bdo") }}
-
{{ HTMLElement("br") }}
-
{{ HTMLElement("img") }}
-
{{ HTMLElement("map") }}
-
{{ HTMLElement("object") }}
-
{{ HTMLElement("q") }}
-
{{ HTMLElement("script") }}
-
{{ HTMLElement("span") }}
-
{{ HTMLElement("sub") }}
-
{{ HTMLElement("sup") }}
-
{{ HTMLElement("button") }}
-
{{ HTMLElement("input") }}
-
{{ HTMLElement("label") }}
-
{{ HTMLElement("select") }}
-
{{ HTMLElement("textarea") }}
-
-
- -

Veure

- - diff --git a/files/ca/web/html/global_attributes/dropzone/index.html b/files/ca/web/html/global_attributes/dropzone/index.html deleted file mode 100644 index 9435eb1c68..0000000000 --- a/files/ca/web/html/global_attributes/dropzone/index.html +++ /dev/null @@ -1,99 +0,0 @@ ---- -title: dropzone -slug: Web/HTML/Global_attributes/dropzone -tags: - - Experimental - - Global attributes - - HTML - - Reference -translation_of: Web/HTML/Global_attributes/dropzone ---- -

{{HTMLSidebar("Global_attributes")}}{{SeeCompatTable}}

- -

L'atribut global dropzone és un atribut enumerat que indica quin tipus de contingut poden ser arrossegats sobre un element, utilitzant l'API Drag and Drop. Pot tenir els següents valors:

- -
    -
  • copy,  indica que el deixa anar crearà una còpia de l'element que va ser arrossegat.
  • -
  • move, indica que l'element arrossegat es mourà a aquesta nova ubicació.
  • -
  • link, crearà un enllaç a les dades arrossegats.
  • -
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('HTML WHATWG', "interaction.html#the-dropzone-attribute", "dropzone")}}{{Spec2('HTML WHATWG')}}Sense canvis des de l'última instantània, {{SpecName('HTML5.1')}}
{{SpecName('HTML5.1', "editing.html#the-dropzone-attribute", "dropzone")}}{{Spec2('HTML5.1')}}Instantània de {{SpecName('HTML WHATWG')}}, definició inicial
- - - -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatUnknown() }}{{ CompatNo }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatUnknown() }}{{ CompatUnknown}}{{ CompatNo }}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
-
- -

Veure

- - diff --git a/files/ca/web/html/inline_elements/index.html b/files/ca/web/html/inline_elements/index.html new file mode 100644 index 0000000000..0ec8db2c0d --- /dev/null +++ b/files/ca/web/html/inline_elements/index.html @@ -0,0 +1,82 @@ +--- +title: Elements en línia +slug: Web/HTML/Elements_en_línia +tags: + - Beginner + - HTML + - 'HTML:Element Reference' +translation_of: Web/HTML/Inline_elements +--- +

Sumari

+ +

Els elements HTML (Hypertext Markup Language) solen ser elements "en línia" o elements a "nivell de bloc". Un element en línia ocupa només l'espai delimitat per les etiquetes que defineixen l'element en línia. El següent exemple demostra la influència de l'element en línia:

+ +

Exemple en línia

+ +

HTML

+ +
<p>This <span>span</span> is an inline element; its background has been colored to display both the beginning and end of the inline element's influence</p>
+ +

CSS

+ +
span { background-color: #8ABB55; }
+
+ +

{{ EmbedLiveSample('Inline_example') }}

+ +

En línia vs. nivell de bloc

+ +
+
Model de contingut
+
En general, els elements en línia poden contenir únicament les dades i altres elements en línia.
+
Format
+
Per defecte, els elements en línia no comencen amb nova línia.
+
+ +

Elements

+ +

Els següents elements són "en línia":

+ +
+
+
{{ HTMLElement("a") }}
+
{{ HTMLElement("b") }}
+
{{ HTMLElement("big") }}
+
{{ HTMLElement("i") }}
+
{{ HTMLElement("small") }}
+
{{ HTMLElement("tt") }}
+
{{ HTMLElement("abbr") }}
+
{{ HTMLElement("acronym") }}
+
{{ HTMLElement("cite") }}
+
{{ HTMLElement("code") }}
+
{{ HTMLElement("dfn") }}
+
{{ HTMLElement("em") }}
+
{{ HTMLElement("kbd") }}
+
{{ HTMLElement("strong") }}
+
{{ HTMLElement("samp") }}
+
{{ HTMLElement("time") }}
+
{{ HTMLElement("var") }}
+
{{ HTMLElement("a") }}
+
{{ HTMLElement("bdo") }}
+
{{ HTMLElement("br") }}
+
{{ HTMLElement("img") }}
+
{{ HTMLElement("map") }}
+
{{ HTMLElement("object") }}
+
{{ HTMLElement("q") }}
+
{{ HTMLElement("script") }}
+
{{ HTMLElement("span") }}
+
{{ HTMLElement("sub") }}
+
{{ HTMLElement("sup") }}
+
{{ HTMLElement("button") }}
+
{{ HTMLElement("input") }}
+
{{ HTMLElement("label") }}
+
{{ HTMLElement("select") }}
+
{{ HTMLElement("textarea") }}
+
+
+ +

Veure

+ + diff --git a/files/ca/web/html/optimizing_your_pages_for_speculative_parsing/index.html b/files/ca/web/html/optimizing_your_pages_for_speculative_parsing/index.html deleted file mode 100644 index df48dec4e3..0000000000 --- a/files/ca/web/html/optimizing_your_pages_for_speculative_parsing/index.html +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Optimizing your pages for speculative parsing -slug: Web/HTML/Optimizing_your_pages_for_speculative_parsing -translation_of: Glossary/speculative_parsing ---- -

Tradicionalment en els navegadors, el analitzador sintàctic d'HTML s'executa en el fil principal i s'ha bloquejat després d'una etiqueta </script> fins que l'script s'ha recuperat de la xarxa i s'executat. El analitzador sintàctic d'HTML en Firefox 4 i versions posteriors dóna suport a l'anàlisi especulativa fora del fil principal. A continuació s'analitza mentre que els scripts estan sent descarregats i s'executen. Com en Firefox 3.5 i 3.6, l'analitzador sintàctic d'HTML comença càrregues especulatives per als scripts, fulles d'estil i imatges que troba per davant en la seqüència. No obstant això, en Firefox 4 i posterior l'analitzador sintàctic d'HTML també executa l'algorisme de construcció de l'arbre HTML especulativament. L'avantatge és que quan una especulació èxit, no hi ha necessitat de reanàlisi de la part de l'arxiu d'entrada ja que va ser analitzat a la recerca de scripts, fulls d'estil i imatges. L'inconvenient és que hi ha més feina perduda quan l'especulació falla.

- -

Aquest document pot ajudar evitar que aquest tipus de coses que fan que l'especulació falli i alenteixen la càrrega de la pàgina.

- -

Fent càrregues especulatives successives

- -

Només hi ha una regla per fer càrregues especulatives de scripts vinculats, fulls d'estil i imatges successives:

- -
    -
  • Si s'utilitza un element <base> per anul·lar l'URI base de la pàgina, posar l'element de la part non-scripted del document. No ho afegiu a través de document.write() or document.createElement().
  • -
- -

Evitant perdre la sortida del constructor d'arbre

- -

El constructor d'arbre especulatiu falla quan document.write() canvia l'estat del constructor d'arbre, de tal manera que l'estat especulatiu després de la etiqueta </script>  ja no se sosté quan ha estat analitzat tot el contingut inserit per document.write(). No obstant això, només els usos inusuals de document.write() causen problemes. Aquestes són les coses que cal evitar:

- -
    -
  • No escriviu arbres desequilibrats. <script>document.write("<div>");</script> és incorrecta. <script>document.write("<div></div>");</script> està bé.
  • -
  • No escriviu un símbol sense acabar. <script>document.write("<div></div");</script> is incorrecta.
  • -
  • No acabeu un escrit amb un retorn de carro. <script>document.write("Hello World!\r");</script> és incorrecta <script>document.write("Hello World!\n");</script> està bé.
  • -
  • Noteu que l'escriptura d'etiquetes equilibrades pot fer que altres etiquetes poguin inferir d'una manera que fa que l'escriptura sigui desequilibrada. Per exemple <script>document.write("<div></div>");</script> dins de l'element head s'interpreta com <script>document.write("</head><body><div></div>");</script> el qual està desequilibrat.
  • -
  • No doneu format part d'una taula<table><script>document.write("<tr><td>Hello World!</td></tr>");</script></table> és incorrecta. However, <script>document.write("<table><tr><td>Hello World!</td></tr></table>");</script> està bé.
  • -
  • TODO: document.write dins d'altres elements de format..
  • -
diff --git a/files/ca/web/javascript/about_javascript/index.html b/files/ca/web/javascript/about_javascript/index.html new file mode 100644 index 0000000000..f581aa7021 --- /dev/null +++ b/files/ca/web/javascript/about_javascript/index.html @@ -0,0 +1,55 @@ +--- +title: Sobre JavaScript +slug: Web/JavaScript/quant_a_JavaScript +translation_of: Web/JavaScript/About_JavaScript +--- +
{{JsSidebar()}}
+ +

Què és JavaScript?

+ +

JavaScript® és el llenguatge de tipus scripting orientat a objectes desenvolupat per Netscape, utilitzat en millions de pàgines web i aplicacions de servidor arreu del món. El JavaScript de Netscape extén el llenguatge de scripting standard definit a l'ECMA-262 Edició 3 (ECMAScript), amb només lleus diferències de l'standard publicat.

+ +

Al contrari del que popular ment es creu de forma errònia, JavaScript no és "Java interpretat". En resum, JavaScript és un llegunatge d'scripting dinàmic que suporta contrucció d'objectes basada en prototipus. La sintaxi bàsica és similar a Java i C++ de forma intencionada per a reduir el nombre de conceptes nous requerits per a aprendre el llenguatge. Construccions del llenguatge, com ara sentències if, bucles for i while, blocs switch i try ... catch funcionen de la mateixa forma que en aquests llenguatges (o bé d'una forma molt semblant).

+ +

JavaScript pot funcionar com un llenguatge tant procedural com orientat a objectes. Els objectes es creen de forma programàtica en JavaScript tot afegint-hi mètodes i propietats a objectes en temps d'execució que d'altra forma serien buits, contràriament a les definicions sintàctiques  de classes tan comunes a llenguatges compilats com C++ i Java. Un cop construit un objecte aquest pot ser utilitzat com a motlle (o prototipus) per a crear objectes similars.

+ +

Les capacitats dinàmiques de JavaScript inclouen construcció d'objectes en temps d'execució, llistats de paràmetres variables, funcions com a variables, creació dinàmica de scripts (via eval), introspecció d'objectes (via for ... in) i recuperació del codi font (els programes escrits en JavaScript poden decompilar els cosos de funcions a la seva forma original de codi font).

+ +

Els objectes intrínsecs són Number, String, Boolean, Date, RegExp, i Math.

+ +

Per a una discussió més profunda de la programació en JavaScript seguiu els enllaços de recursos de JavaScript que trobareu a sota.

+ +

Quines implementacions de JavaScript hi ha disponibles?

+ +

mozilla.org alberga dues implementacions de JavaScript. La primera implementació de JavaScript de tots els temps va ser creada per Brendan Eich a Netscape, i des de llavors ha sigut actualitzada per a compliar amb la ECMA-262 Edició 5 i versions posteriors. Aquest motor, anomenat SpiderMonkey, està implementat en C. El motor Rhino, creat principalment per Norris Boyd (també a Netscape) és una implementació JavaScript en Java. Com el SpiderMonkey, Rhino compleix amb ECMA-262 Edició 3.

+ +

Al llarg del temps s'han anat afegint diverses optimitzacions al motor de JavaScript SpiderMonkey, com ara TraceMonkey (Firefox 3.5), JägerMonkey (Firefox 4) i IonMonkey.

+ +

A més de les implementacions anomenades a dalt, existeixen altres motors JavaScript, com ara:

+ +
    +
  • El V8 de Google, utilitzat al navegador Google Chrome i a les versions més recents del navegador Opera.
  • +
  • El JavaScriptCore (SquirrelFish/Nitro), utilitzat a alguns navegadors basats en WebKit, com ara l'Apple Safari.
  • +
  • El Carakan, utilitzats en versions antigues d'Opera.
  • +
  • El Chakra, utilitzat en Internet Explorer (tot i que el llenguatge que implementa és anomenat formalment "JScript" per a evitar problemes amb marques registrades).
  • +
+ +

Tots els motors de JavaScript de mozilla.org exposen una API pública que les aplicacions poden emprar per a saber sobre el suport de JavaScript. L'entorn més comú per a JavaScript són els navegadors web, amb diferència. Els navegadors web usualment utilitzen una API pública per a crear 'objectes host' responsables d'exposar el DOM dins de JavaScript.

+ +

Una altra aplicació comuna de JavaScript és com a llenguatge d'escripting al cantó del servidor (web). Un servidor web de JavaScript exposaria els objectes host que representen peticions HTTP i objectes resposta, que podrien llavors ser manipulats per un programa JavaScript per a generar pàgines web de forma dinàmica.

+ +

Recursos de JavaScript

+ +
+
SpiderMonkey
+
Informació específica per a incrustar el motor JavaScript escrit en C (també conegut com a SpiderMonkey).
+
+ +
+
Rhino
+
Informació específica sobre la implementació de JavaScript escrita en Java (també coneguda com a Rhino).
+
Recursos del llenguatge
+
Recull dels standards de JavaScript publicats.
+
Una re-introducció a JavaScript
+
Guia de JavaScript i referència de JavaScript.
+
diff --git a/files/ca/web/javascript/guide/expressions_and_operators/index.html b/files/ca/web/javascript/guide/expressions_and_operators/index.html new file mode 100644 index 0000000000..9985daa497 --- /dev/null +++ b/files/ca/web/javascript/guide/expressions_and_operators/index.html @@ -0,0 +1,846 @@ +--- +title: Expressions i operadors +slug: Web/JavaScript/Guide/Expressions_i_Operadors +translation_of: Web/JavaScript/Guide/Expressions_and_Operators +--- +
{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide/Functions", "Web/JavaScript/Guide/Numbers_and_dates")}}
+ +

Aquest capítol explica les expressions i els operadors de JavaScript, incloent l'assignació, comparació, airtmètic, operadors de bits, lògics, cadenes, i operadors especials.

+ +

Expressions

+ +

Una expressió és qualsevol unitat de codi vàlida que esdevé un valor.

+ +

Conceptualment hi ha dos tipus d'expressions: les que assignen un valor a una variable i les que simplement tenen un valor.

+ +

L'expressió x = 7 és un exemple del primer tipus. Aquesta expressió fa servir l'operador  = per a assignar el valor set a la variable x. L'expressió per si mateixa s'avalua com a 7.

+ +

El codi 3 + 4 és un exemple d'expressió del segon tipus. Aquesta expressió utilitza l'operador + per a sumar tres i quatre sense assignar el resultat, set, a una variable.
+
+ JavaScript té les següents categories d'expressions:

+ +
    +
  • Aritmètiques: s'avaluen a un nombre, per exemple 3.14159. (Generalment utilitzen {{ web.link("#Arithmetic_operators", "operadors aritmètics") }}.)
  • +
  • String: s'avaluen a una cadena de caràcters, per exemple, "Pau" o "234". (Generalment utilitzen {{ web.link("#String_operators", "operadors d'strings") }}.)
  • +
  • Lògiques: s'avaluen a cert o fals. (sovint inclouen {{ web.link("#Logical_operators", "operadors lògics") }}.)
  • +
  • Objecte: s'avaluen a un objecte. (Vegeu els {{ web.link("#Special_operators", "operadors especials") }} més informació.)
  • +
+ +

Operadors

+ +

JavaScript disposa dels següents tipus d'operadors. Aquesta secció descriu els operadors i conté informació sobre la seva precedència.

+ +
    +
  • {{ web.link("#Assignment_operators", "Operadors d'assignació") }}
  • +
  • {{ web.link("#Comparison_operators", "Operadors de comparació") }}
  • +
  • {{ web.link("#Arithmetic_operators", "Operadors aritmètics") }}
  • +
  • {{ web.link("#Bitwise_operators", "Operadors de bits") }}
  • +
  • {{ web.link("#Logical_operators", "Operadors lògics") }}
  • +
  • {{ web.link("#String_operators", "Operadors de strings") }}
  • +
  • {{ web.link("#Special_operators", "Operadors especials") }}
  • +
+ +

JavaScript té operadors binaris i unaris, també disposa d'un operador especial ternari, l'operador condicional. Un operador binari requereix dos operands, un abans l'operador i l'altre després de l'operador:

+ +
operand1 operador operand2
+
+ +

Per exemple, 3+4 o x*y.

+ +

Un operador unari A requereix d'un sol operand, ja sigui abans o després de l'operador:

+ +
operador operand
+
+ +

o be

+ +
operand operador
+
+ +

Per exemple, x++ o ++x.

+ +

Operadors d'assignació

+ +

Un operador d'assignació assigna un valor a l'operand de la seva esquerra basat en l'operand de la seva dreta. L'operador d'assignació simple és l'igual (=), que assigna el valor de l'operand de la dreta a l'operand de l'esquerra. És a dir, x = y assigna el valor de y a x.

+ +

També hi ha operadors d'assignació compostos, que són abreviacions per als operadors llistats a la taula següent:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Taula 3.1 Operadors d'assignació
Operadors d'assignació compostosSignificat
x += yx = x + y
x -= yx = x - y
x *= yx = x * y
x /= yx = x / y
x %= yx = x % y
x <<= yx = x << y
x >>= yx = x >> y
x >>>= yx = x >>> y
x &= yx = x & y
x ^= yx = x ^ y
x |= yx = x | y
+ +

Operadors de comparació

+ +

This seems to me kind of poorly explained, mostly the difference betwen "==" and "==="...Els operadors de comparació comparen els operands i retornen un valor lògic basat en si la comparació és certa o no. Els operands poden ser numèrics, string, lògics, o bé valors d'objectes. Els Strings es comparen basant-se en l'ordre lexicogràfic standard, utilitzant valors Unicode. Quan els dos operands no són del mateix tipus, en la majoria dels casos JavaScript intenta convertir-los a un tipus apropiat per a realitzar la comparació.
+  Aquest comportament generalment resulta en una comparació amb els operands transformats a nombres. La única excepció quant a la conversió de tipus és quan s'utilitzen els operands === i !==, els quals realitzen comparacións estrictes de igualtat i no-igualtat, respectivament. Aquests operadors no intenten convertir els operands a tipus compatibles abans de aplicar l'igualtat. La taula següent descriu els operadors de comparació en base a aquest exemple:

+ +
var var1 = 3, var2 = 4;
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Taula 3.2 Operadors de comparació
OperadorDescripcióExemples que s'avaluen a cert
Igualtat (==)Retorna true si els operands són iguals.3 == var1 +

"3" == var1

+ 3 == '3'
No-igualtat (!=)Retorna true si els operands són diferents.var1 != 4
+ var2 != "3"
Igualtat estricta (===)Retorna true si els operands són iguals i del mateix tipus. Vegeu també Object.is i igualtat a JS.3 === var1
No-igualtat estricta (!==)Retorna true si els operands no són iguals i/o del mateix tipus.var1 !== "3"
+ 3 !== '3'
Major que (>)Retorna true si l'operand de l'esquerra és més gran que l'operand e la dreta.var2 > var1
+ "12" > 2
Major o igual que (>=)Retorna true si l'operand de l'esquera és major o igual que l'operand de la dreta.var2 >= var1
+ var1 >= 3
Menor que (<)Retorna true si l'operand de l'esquerra és més petit que l'operand de la dreta.var1 < var2
+ "2" < "12"
Menor o igual que (<=)Retorna true si l'operand de l'esquerra és menor o igual que l'operand de la dreta.var1 <= var2
+ var2 <= 5
+ +

Operadors aritmètics

+ +

Els operadors aritmètics prenen valors numèrics (ja siguin literals o variables) com a operands i retornen un sol valors numèric. Els operadors aritmètics standard són la suma (+), la resta (-), la multiplicació (*) i la divisió (/). Aquests operadors funcionen de la mateixa manera que a la majoria d'altres llenguatges de programació quan s'utilitzen amb nombres de coma flotant (particularment, cal destacar que la divisió entre zero produeix Infinity). Per exemple:

+ +
console.log(1 / 2); /* imprimeix 0.5 */
+console.log(1 / 2 == 1.0 / 2.0); /* això també és cert */
+
+ +

Adicionalment, JavaScript proporciona els operadors aritmètics llistats a la taula següent:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Taula 3.3 Operadors aritmètics
OperadorDescripcióExemple
%
+ (Mòdul)
Operador binari. Retorna el residu de dividir els dos operands.12 % 5 retorna 2.
++
+ (Increment)
+

Operador unari. Afegeix un al seu operand. Si s'utilitza com a prefix (++x), retorna el valor del seu operand després d'afexir-li un; si s'utilitza com a sufix (x++), retorna el valor del seu operand abans d'afegir-li un.

+
Si x és 3, llavors ++x assigna 4 a x i retorna 4, mentre que x++ retorna 3 i, només llavors, assigna 4 a x.
--
+ (Decrement)
Operador uniari. Resta un al seu operand. Retorna el valor anàleg a l'operador increment.Si x és 3, llavors --x assigna 2 a x i retorna 2, mentre que x-- retorna 3 i, només llavors, assigna 2 a x.
-
+ (Negació unària)
Operador unari. Retorna el resultat de negar el seu operand.Si x val 3, llavors -x retorna -3.
+ +

Operadors de bits

+ +

Els operadors de bits tracten els seus operands com a conunts de 32 bits (zeros i uns), en comptes de com a nombres decimals, hexadecimals o octals. Per exemple, el nombre decimal 9 és representat de forma binària per 1001. Els operadors de bits realitzen operacions sobre aquestes representacions binàries, però sempre retornen valors numèrics de JavaScript.

+ +

La taula següent resumeix els operadors de bits disponibles a JavaScript.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Taula 3.4 Operadors de bits
OperadorÚsDescripció
AND binaria & bRetorna 1 a cada posició de bit on la posició corresponent a ambdós operadors conten uns.
OR binaria | b +

Retorna 1 a cada posició de bit on al menys un dels operands té un 1 a la posició corresponent.

+
XOR binaria ^ b +

Retorna un 1 a cada posició de bit on només un dels operands té un 1 a la posicio corresponent, però no ambdós.

+
NOT binari~ aInverteix els bits del seu operand.
Desplaçament a l'esquerraa << bDesplaça la representació binària de a b bits a l'esquerra, afegint zeros a la dreta.
Desplaçament a la dreta amb propagació de signea >> bDesplaça la representació binària de a b bits a la dreta, descartant els bits que no hi caben.
Desplaçament a la dreta amb inserció de zerosa >>> bDesplaça la representació binària de a b bits a la dreta, descartant els bits que no hi caben i inserint zeros a l'esquerra.
+ +

Operadors lògics de bits

+ +

Conceptualment, els operadors lògics de bits funcionen de la següent manera:

+ +
    +
  • Es converteixen els operands a nombres sencers de 32 bits expressats per una sèrie de bits (zeros i uns).
  • +
  • S'emparella cada bit del primer operand amb el bit corresponent del segond operand: el primer bit amb el primer bit, el segon amb el segon, etcètera.
  • +
  • S'aplica l'operador per a cada parella de bits, i el resultat es construeix de forma binària.
  • +
+ +

Per exemple, la representació binària de 9 és 1001, mentre que la representació binària de quinze és 1111. Així, quan els operadors de bits s'apliquen a aquests valors el resultat és el següent:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Taula 3.5 Exemples d'operadors de bits
ExpressióResultatDescripció binària
15 & 991111 & 1001 = 1001
15 | 9151111 | 1001 = 1111
15 ^ 961111 ^ 1001 = 0110
~15-16~00000000...00001111 = 11111111...11110000
~9-10~00000000...00001001 = 11111111...11110110
+ +

Fixeu-vos que a l'utilitzar l'operador de bits NOT tots 32 bits són invertit, i que els valors amb el bit més significatiu (el de l'esquerra) amb valor 1 representen nombres negatius (representació en complement a dos).

+ +

Operadors de desplaçament de bits

+ +

Els operadors de desplaçament de bits requereixen de dos operands: el primer és un conjunt de bits a desplaçar. El segon operand és el nombre de posicions que es desplaçaran els bits del primer operand. La direcció des desplaçament és controlada per l'operador utilitzat.

+ +

Els operadors de desplaçament de bits converteixen els seus operands a nombres de 32 bits i el valor retornat és del mateix tipus que l'operand de l'esquerra. Trobareu un llistat amb els operadors de desplaçament de bits a la taula següent.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Taula 3.6 Operadors de desplaçament de bits
OperadorDescripcióExemple
<<
+ (Desplaçament a l'esquerra)
+

Aquest operador desplaça a l'esquerra el primer operand el nombre de bits especificat. Els bits que no hi caben es descarten. Les noves posicions de la dreta s'omplen amb zeros.

+
9<<2 retorna 36, perquè 1001 desplaçat 2 bits a l'esquerra esdevé 100100, que és la representació binaria de 36.
>>
+ (Desplaçament a la dreta amb propagació de signe)
+

Aquest operador desplaça el primer operand el nombre de bits especificats cap a la dreta. Els nous bits de l'esquerra són copies del bit originalment més significatiu.

+
9>>2 retorna 2, perquè 1001 desplaçat 2 bits a la dreta esdevé 10, que és la representació binària de 2. De la mateixa manera, -9>>2 retorna -3, perquè el signe l'operand preseva el signe.
>>>
+ (Desplaçament a la dreta omplint amb zeros)
+

Aquest operador desplaça l'operand el nombre de bits especificat a la dreta. Els bits sobrant són descartats. Els nous bits de l'esquerra s'omplen amb zeros.

+
19>>>2 retorna 4, perquè 10011 desplaçat 2 bits a la dreta esdevé 100, que és la representació binària de 4. Per a nombres no negatius aquest operador retorna el mateix resultat que l'operador de desplaçament a la dreta amb propagació de signe.
+ +

Operadors lògics

+ +

Els operadors lògics utilitzen típicament amb valors booleans (lògics); quan ho són, retornen un valor de tipus Boolean. Els operadors && i || , però, en realitat retornen el valor d'un dels operands, de tal manera que si aquests operadors s'utilitzen amb valors no booleans poden retornar un valor no booleà. A la següent taula es descriuen els operadors lògics.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Taula 3.6 Operadors lògics
OperadorÚsDescripció
&&expr1 && expr2(AND lògic) Retorna expr1 si pot ser convertida a fals; en qualsevol altre cas retorna expr2. Així, quan es proporcionen operands booleans, && retorna true si ambdós operands són true: en qualsevol altre cas retorna fals.
||expr1 || expr2(OR lògic) Retorna expr1 si pot ser convertida a true; en qualsevol altre cas retorna expr2. És a dir, quan s'utilitza amb operands booleans, || retorna true si qualsevol dels dos operands és true; si ambdós operands són false, retorna false.
!!expr(NOT lògic) Retorna false si el seu únic operand es pot convertir a true; en qualsevol altre cas retorna true.
+ +

Alguns exemples d'expressions que es poden convertir a false són aquelles que s'avaluen a null, 0, NaN, l'string buit (""), o undefined.

+ +

El codi següent mostra exemples de l'operador && (AND lògic).

+ +
var a1 =  true && true;     // t && t retorna true
+var a2 =  true && false;    // t && f retorna false
+var a3 = false && true;     // f && t retorna false
+var a4 = false && (3 == 4); // f && f retorna false
+var a5 = "Cat" && "Dog";    // t && t retorna Dog
+var a6 = false && "Cat";    // f && t retorna false
+var a7 = "Cat" && false;    // t && f retorna false
+
+ +

El codi següent mostra exemples de l'operador || (OR lògic).

+ +
var o1 =  true || true;     // t || t retorna true
+var o2 = false || true;     // f || t retorna true
+var o3 =  true || false;    // t || f retorna true
+var o4 = false || (3 == 4); // f || f retorna false
+var o5 = "Cat" || "Dog";    // t || t retorna Cat
+var o6 = false || "Cat";    // f || t retorna Cat
+var o7 = "Cat" || false;    // t || f retorna Cat
+
+ +

El codi següent mostra exemples de l'operador ! (NOT lògic).

+ +
var n1 = !true;  // !t retorna false
+var n2 = !false; // !f retorna true
+var n3 = !"Cat"; // !t retorna false
+
+ +

Avaluació en curtcircuit

+ +

Mentre les expressions lògiques es van avaluant una a una d'esquerra a dreta, a l'avaluar cadascuna també s'avalua si curtcirquiatar l'expressió mitjançant les regles següents:

+ +
    +
  • false && quelcom es curtcircuita avaluant-se a false.
  • +
  • true || quelcom es curtcircuita avaluant-se a true.
  • +
+ +

Les regles de la lògica garanteixen que aquestes avaluacions sempre són correctes. Cal remarca que la part quelcom no arriva a avaluar-se mai, així que cap efecte secundari provocat per la seva avaluació tindrà efecte.

+ +

Operadors de Strings

+ +

A més dels operadors de comparació, que poden utilitzar-se amb valors de tipus string, l'operador de concatenació (+) concatena dos valors string, retornant un altre string format per la unió dels dos strings operands. Per exemple, "la meva " + "string" retorna la string "la meva string".

+ +

L'abreviació de operador d'assignació += també pot ser emprat per a concatenar strings. Per exemple, si la variable mystring te el valor "alfa", llavors l'expressió mystring += "bet" s'avalua a "alfabet" i assigna aquest valor a mystring.

+ +

Operadors especial

+ +

JavaScript ofereix els següents operadors especials:

+ +
    +
  • {{ web.link("#Conditional_operator", "Operador condicional") }}
  • +
  • {{ web.link("#Comma_operator", "Operador coma") }}
  • +
  • {{ web.link("#delete", "delete") }}
  • +
  • {{ web.link("#in", "in") }}
  • +
  • {{ web.link("#instanceof", "instanceof") }}
  • +
  • {{ web.link("#new", "new") }}
  • +
  • {{ web.link("#this", "this") }}
  • +
  • {{ web.link("#typeof", "typeof") }}
  • +
  • {{ web.link("#void", "void") }}
  • +
+ +

Operador condicional

+ +

L'operador condicional és l'únic operador de JavaScript que accepta tres operands. L'operador retorna un de dos valors basant-se en una condició. La sintaxi és la següent:

+ +
condició ? val1 : val2
+
+ +

Si condició és certa, l'operador retorna el valor val1. En qualsevol altre cas retorna el valor val2. Es pot emprar l'operador condicional a qualsevol lloc on es pugui utilitzar un operador standard.

+ +

Per exemple,

+ +
var estat = (edat >= 18) ? "adult" : "menor";
+
+ +

Aquesta sentència assigna el valor "adult" a la variable estat si edat és 18 o més. En qualsevol altre cas assigna el valor "menor" a estat.

+ +

Operador coma

+ +

L'operador coma (,) simplement avalua els seus dos operands i retorna el valor del segon operand. Aquest operdor s'utilitza principalment dins el bucle for per a permetre que múltiples variables s'actualitzin per a cada volta del bucle.

+ +

Per exemple, si a és un array de dues dimensions amb 10 elements per dimensió, el codi següent utilitza l'operador coma per a incrementar dues variables a l'hora. El codi mostra els valors dels elements de la diagonal de l'array:

+ +
for (var i = 0, j = 9; i <= j; i++, j--)
+  document.writeln("a[" + i + "][" + j + "]= " + a[i][j]);
+
+ +

delete

+ +

L'operador delete esborra un objecte, una propietat d'un objecte o l'element a la posició especificada d'un array. La sintaxi és:

+ +
delete nomObjecte;
+delete nomObjecte.property;
+delete nomObjecte[index];
+delete propietat; // Només és legal dins una sentència with
+
+ +

on nomObjecte és el nom d'un objecte, propietat és una propietat existent i index és un nombre sencer que representa la posició d'un element dins un array.

+ +

La quarta forma només és legal dins una sentència with, per a esborrar la propietat d'un objecte.

+ +

Es pot emprar l'operador delete per a esborrar variables declarades implícitament però no serveix per a variables declarades amb la sentència var.

+ +

Si l'operador delete aconsegueix el seu objectiu, assigna el valor undefined a la propietat o element esmentat. L'operador delete retorna true si l'operació és posible; retorna false si l'operació no és posible.

+ +
x = 42;
+var y = 43;
+myobj = new Number();
+myobj.h = 4;    // crea la propietat h
+delete x;       // retorna true (pot esborrar si la variable ha estat declarada implicitament)
+delete y;       // retorna false (no pot esborrar si la variable ha estat declarada amb var)
+delete Math.PI; // retorna false (no pot esborrar propietats predefinides)
+delete myobj.h; // retorna true (pot esborrar propietats definides per l'usuari)
+delete myobj;   // retorna true (pot esborrar si l'objecte ha estat declarat implícitament)
+
+ +
Esborrar elements d'un array
+ +

A l'esborrar l'element d'un array, la longitud de l'array no es veu afectada. Per exemple, si s'esborrar a[3], a[4] roman a a[4] mentre que a[3] passa a valer undefined.

+ +

Quan l'operador delete esborra un element d'un array, aquest element ja no és a l'array. Al següent exemple, s'esborra trees[3] amb delete. Tot i així, trees[3] encara és accessible i retorna undefined.

+ +
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
+delete trees[3];
+if (3 in trees) {
+  // aquest codi no s'arriba a executar mai
+}
+
+ +

Si es vol que un element d'un array existeixi però tingui un valor indefinit, es pot emprar la paraula clau undefined en comptes de l'operador delete. Al següent exemple, trees[3] rep el valor undefined, però l'elelement de l'array encara existeix:

+ +
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
+trees[3] = undefined;
+if (3 in trees) {
+  // aquest codi s'executa
+}
+
+ +

in

+ +

L'operador in retorna true si la propietat especificada existeix en l'objecte especificat. La sintaxi és:

+ +
nomPropOnombre in nomObjecte
+
+ +

on nomPropOnombre és una string que representa el nom d'una propietat o bé una expressió numèrica que representa la posició d'un element dins un array, i nomObjecte és el nom d'un objecte.

+ +

Els següents exemples mostren alguns usos de l'operador in.

+ +
// Arrays
+var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
+0 in trees;        // retorna true
+3 in trees;        // retorna true
+6 in trees;        // retorna false
+"bay" in trees;    // retorna false (s'ha de proporcionar l'índex,
+                   // no el valor a aquell índex)
+"length" in trees; // retorna true (length és una propietat de Array)
+
+// Objects predefinits
+"PI" in Math;          // retorna true
+var myString = new String("coral");
+"length" in myString;  // retorna true
+
+// Objectes creats per l'usuari
+var mycar = {make: "Honda", model: "Accord", year: 1998};
+"make" in mycar;  // retorna true
+"model" in mycar; // retorna true
+
+ +

instanceof

+ +

L'operador instanceof retorna cert si l'objecte especificat és del tipus especificat. La sintaxi és:

+ +
nomObjecte instanceof tipusObjecte
+
+ +

on nomObjecte és el nom de l'objecte a comprarar amb tipusObjecte, i tipusObjecte és un tipus d'objecte, com ara Date o Array.

+ +

Utilitzeu instanceof quan necessiteu confirmar el tipus d'un objecte en temps d'execució. Per exemple, a l'hora de capturar execepcions és posible executar diferent codi segons el tipus d'excepció llençada.

+ +

Per exemple, el següent codi utilitza instanceof per a determinar si dia és un objecte de tipus Date. Com que dia és un objecte de tipus Date les sentències dins la sentència if s'executaran.

+ +
var dia = new Date(1995, 12, 17);
+if (dia instanceof Date) {
+  // bloc de codi que s'executarà
+}
+
+ +

new

+ +

L'operador new s'utilitza per a crear una instància d'un tipus d'objete definit per l'usuari o bé un dels tipus d'objectes predefinits Array, Boolean, Date, Function, Image, Number, Object, Option, RegExp, o String. Al servidor també es pot emprar amb DbPool, Lock, File, i SendMail. La sintaxi de new és la següent:

+ +
var nomObjecte = new tipusObjecte([param1, param2, ..., paramN]);
+
+ +

També és posible crear objectes mitjançant inicialitzadors d'objectes, tal i com s'explica a {{ web.link("Working_with_objects#Using_object_initializers", "utilitzar inicialitzadors d'objectes") }}.

+ +

Vegeu la pàgina de l'operador new a la Referència del nucli de JavaScript per a més informació.

+ +

this

+ +

La paraula clau this s'utilitza per a referir-se a l'objecte actual. En general this fa referència a l'objecte que ha realitzat la crida dins un mètode. La sintaxi de this és la següent:

+ +
this["nomPropietat"]
+
+ +
this.nomPropietat
+
+ +

Exemple 1.
+ Suposem que una funció anomenada validate valida la propietat value d'un objecte, donat l'objecte i el rang de valors:

+ +
function validate(obj, lowval, hival){
+  if ((obj.value < lowval) || (obj.value > hival))
+    alert("Valor no vàlid!");
+}
+
+ +

Podríem cridar validate a cada manegador d'events onChange dels elements d'un formulari, utilitzant this per a passar l'element del formulari, tal i com es mostra al següent exemple:

+ +
<B>Introduïu un nombre entre 18 i 99:</B>
+<INPUT TYPE="text" NAME="edat" SIZE=3
+   onChange="validate(this, 18, 99);">
+
+ +

Exemple 2.
+ Al combinar-lo amb la propietat del form, this fa referència al pare de l'objecte del formulari. Al següent exemple el form myForm conté un bojecte Text i un botó. Quan l'usuari fa clic al botó, el valor de l'objecte Text és assignat al nom del formulari. El manegador de l'event onClick del botó utilitza this.form per a fererir-se al fomulari pare, myForm.

+ +
<FORM NAME="myForm">
+Nom del formulari:<INPUT TYPE="text" NAME="text1" VALUE="Beluga"/>
+<INPUT NAME="button1" TYPE="button" VALUE="Mostrar el nom del formulari"
+   onClick="this.form.text1.value = this.form.name;"/>
+</FORM>
+
+ +

typeof

+ +

L'operador typeof es pot utilitzar de qualsevol de les formes següents:

+ +
    +
  1. +
    typeof operand
    +
    +
  2. +
  3. +
    typeof (operand)
    +
    +
  4. +
+ +

L'operador typeof retorna una string indicant el tipus de l'operand, que no és avaluat. operand és una string, variable, paraula clau u objecte del qual es retornarà el tipus. Els parèntesi són opcionals.

+ +

Suposem que es defineixen les següents variables:

+ +
var myFun = new Function("5 + 2");
+var forma = "rodona";
+var tamany = 1;
+var avui = new Date();
+
+ +

L'operador typeof retornarà els següents resultats per a aquestes variables:

+ +
typeof myFun;      // retorna "function"
+typeof forma;      // retorna "string"
+typeof tamany;     // retorna "number"
+typeof avui;       // retorna "object"
+typeof noExisteix; // retorna "undefined"
+
+ +

Per a les paraules clau true i null, l'operador typeof retorna els següents resultats:

+ +
typeof true; // retorna "boolean"
+typeof null; // retorna "object"
+
+ +

Per a un nombre o string, l'operador typeof retorna els següents resultats:

+ +
typeof 62;            // retorna "number"
+typeof 'Hola món';    // retorna "string"
+
+ +

Per a valors de propietats, l'operador typeof retorna el tipus del valor que conté la propietat:

+ +
typeof document.lastModified; // retorna "string"
+typeof window.length;         // retorna "number"
+typeof Math.LN2;              // retorna "number"
+
+ +

Per a mètodes i funcions, l'operador typeof retorna els següents resultats:

+ +
typeof blur;        // retorna "function"
+typeof eval;        // retorna "function"
+typeof parseInt;    // retorna "function"
+typeof shape.split; // retorna "function"
+
+ +

Per a objectes predefinits, l'operador typeof retorna els resultats següents:

+ +
typeof Date;     // retorna "function"
+typeof Function; // retorna "function"
+typeof Math;     // retorna "object"
+typeof Option;   // retorna "function"
+typeof String;   // retorna "function"
+
+ +

void

+ +

L'operador void es pot emprar de qualsevol de les maneres següents:

+ +
    +
  1. +
    void (expression)
    +
    +
  2. +
  3. +
    void expression
    +
    +
  4. +
+ +

L'operador void avalua una expressió però no retorna cap valor. expression és l'expressió JavaScript a avaluar. Els parèntesi que embocallen l'expressió són opcionals, però es considera una bona pràctica utilitzar-los.

+ +

És possible utilitzar l'operador void per a especificar una expressió com a hipervincle. L'expressió serà avaluada però el seu contingut no reemplaçarà el contingut del document actual.

+ +

El codi següent crea un hipervincle que no fa res quan l'usuari faci clic a l'hipervincle. Quan l'usuari fa clic al l'hipervincle, void(0) serà avaluada com a undefined, la qual cosa no té cap efecte en JavaScript.

+ +
<A HREF="javascript:void(0)">Cliqueu aquí per a no fer res</A>
+
+ +

El codi següent crea un hipervincle que envia un formulari quan l'usuari fa clic sobre ell.

+ +
<A HREF="javascript:void(document.form.submit())">
+Feu clic aquí per a enviar el formulari</A>
+ +

Precedència d'operadors

+ +

La precedència d'operadors determina l'ordre en el qual aquests s'apliquen quan s'avalua una expressió. Es pot canviar aquest comportament mitjançant parèntesi.

+ +

La taula següent descriu la precedència dels operadors, del més prioritari al que ho és menys.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Taula 3.7 Precedència d'operadors
Tipus d'operadorOperadors individuals
membre. []
crida / creació d'una instància() new
negació/increment! ~ - + ++ -- typeof void delete
multiplicació/divisió* / %
suma/resta+ -
desplaçament de bits<< >> >>>
relacionals< <= > >= in instanceof
igualtat== != === !==
AND binari&
XOR binari^
OR binari|
AND lògic&&
OR lògic||
condicional?:
assignació= += -= *= /= %= <<= >>= >>>= &= ^= |=
coma,
+ +

Trobareu una versió més detallada d'aqueta taula, completa amb enllaços a a detalls adicionals per a cada operador a la Referència de JavaScript.

diff --git a/files/ca/web/javascript/guide/expressions_i_operadors/index.html b/files/ca/web/javascript/guide/expressions_i_operadors/index.html deleted file mode 100644 index 9985daa497..0000000000 --- a/files/ca/web/javascript/guide/expressions_i_operadors/index.html +++ /dev/null @@ -1,846 +0,0 @@ ---- -title: Expressions i operadors -slug: Web/JavaScript/Guide/Expressions_i_Operadors -translation_of: Web/JavaScript/Guide/Expressions_and_Operators ---- -
{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide/Functions", "Web/JavaScript/Guide/Numbers_and_dates")}}
- -

Aquest capítol explica les expressions i els operadors de JavaScript, incloent l'assignació, comparació, airtmètic, operadors de bits, lògics, cadenes, i operadors especials.

- -

Expressions

- -

Una expressió és qualsevol unitat de codi vàlida que esdevé un valor.

- -

Conceptualment hi ha dos tipus d'expressions: les que assignen un valor a una variable i les que simplement tenen un valor.

- -

L'expressió x = 7 és un exemple del primer tipus. Aquesta expressió fa servir l'operador  = per a assignar el valor set a la variable x. L'expressió per si mateixa s'avalua com a 7.

- -

El codi 3 + 4 és un exemple d'expressió del segon tipus. Aquesta expressió utilitza l'operador + per a sumar tres i quatre sense assignar el resultat, set, a una variable.
-
- JavaScript té les següents categories d'expressions:

- -
    -
  • Aritmètiques: s'avaluen a un nombre, per exemple 3.14159. (Generalment utilitzen {{ web.link("#Arithmetic_operators", "operadors aritmètics") }}.)
  • -
  • String: s'avaluen a una cadena de caràcters, per exemple, "Pau" o "234". (Generalment utilitzen {{ web.link("#String_operators", "operadors d'strings") }}.)
  • -
  • Lògiques: s'avaluen a cert o fals. (sovint inclouen {{ web.link("#Logical_operators", "operadors lògics") }}.)
  • -
  • Objecte: s'avaluen a un objecte. (Vegeu els {{ web.link("#Special_operators", "operadors especials") }} més informació.)
  • -
- -

Operadors

- -

JavaScript disposa dels següents tipus d'operadors. Aquesta secció descriu els operadors i conté informació sobre la seva precedència.

- -
    -
  • {{ web.link("#Assignment_operators", "Operadors d'assignació") }}
  • -
  • {{ web.link("#Comparison_operators", "Operadors de comparació") }}
  • -
  • {{ web.link("#Arithmetic_operators", "Operadors aritmètics") }}
  • -
  • {{ web.link("#Bitwise_operators", "Operadors de bits") }}
  • -
  • {{ web.link("#Logical_operators", "Operadors lògics") }}
  • -
  • {{ web.link("#String_operators", "Operadors de strings") }}
  • -
  • {{ web.link("#Special_operators", "Operadors especials") }}
  • -
- -

JavaScript té operadors binaris i unaris, també disposa d'un operador especial ternari, l'operador condicional. Un operador binari requereix dos operands, un abans l'operador i l'altre després de l'operador:

- -
operand1 operador operand2
-
- -

Per exemple, 3+4 o x*y.

- -

Un operador unari A requereix d'un sol operand, ja sigui abans o després de l'operador:

- -
operador operand
-
- -

o be

- -
operand operador
-
- -

Per exemple, x++ o ++x.

- -

Operadors d'assignació

- -

Un operador d'assignació assigna un valor a l'operand de la seva esquerra basat en l'operand de la seva dreta. L'operador d'assignació simple és l'igual (=), que assigna el valor de l'operand de la dreta a l'operand de l'esquerra. És a dir, x = y assigna el valor de y a x.

- -

També hi ha operadors d'assignació compostos, que són abreviacions per als operadors llistats a la taula següent:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Taula 3.1 Operadors d'assignació
Operadors d'assignació compostosSignificat
x += yx = x + y
x -= yx = x - y
x *= yx = x * y
x /= yx = x / y
x %= yx = x % y
x <<= yx = x << y
x >>= yx = x >> y
x >>>= yx = x >>> y
x &= yx = x & y
x ^= yx = x ^ y
x |= yx = x | y
- -

Operadors de comparació

- -

This seems to me kind of poorly explained, mostly the difference betwen "==" and "==="...Els operadors de comparació comparen els operands i retornen un valor lògic basat en si la comparació és certa o no. Els operands poden ser numèrics, string, lògics, o bé valors d'objectes. Els Strings es comparen basant-se en l'ordre lexicogràfic standard, utilitzant valors Unicode. Quan els dos operands no són del mateix tipus, en la majoria dels casos JavaScript intenta convertir-los a un tipus apropiat per a realitzar la comparació.
-  Aquest comportament generalment resulta en una comparació amb els operands transformats a nombres. La única excepció quant a la conversió de tipus és quan s'utilitzen els operands === i !==, els quals realitzen comparacións estrictes de igualtat i no-igualtat, respectivament. Aquests operadors no intenten convertir els operands a tipus compatibles abans de aplicar l'igualtat. La taula següent descriu els operadors de comparació en base a aquest exemple:

- -
var var1 = 3, var2 = 4;
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Taula 3.2 Operadors de comparació
OperadorDescripcióExemples que s'avaluen a cert
Igualtat (==)Retorna true si els operands són iguals.3 == var1 -

"3" == var1

- 3 == '3'
No-igualtat (!=)Retorna true si els operands són diferents.var1 != 4
- var2 != "3"
Igualtat estricta (===)Retorna true si els operands són iguals i del mateix tipus. Vegeu també Object.is i igualtat a JS.3 === var1
No-igualtat estricta (!==)Retorna true si els operands no són iguals i/o del mateix tipus.var1 !== "3"
- 3 !== '3'
Major que (>)Retorna true si l'operand de l'esquerra és més gran que l'operand e la dreta.var2 > var1
- "12" > 2
Major o igual que (>=)Retorna true si l'operand de l'esquera és major o igual que l'operand de la dreta.var2 >= var1
- var1 >= 3
Menor que (<)Retorna true si l'operand de l'esquerra és més petit que l'operand de la dreta.var1 < var2
- "2" < "12"
Menor o igual que (<=)Retorna true si l'operand de l'esquerra és menor o igual que l'operand de la dreta.var1 <= var2
- var2 <= 5
- -

Operadors aritmètics

- -

Els operadors aritmètics prenen valors numèrics (ja siguin literals o variables) com a operands i retornen un sol valors numèric. Els operadors aritmètics standard són la suma (+), la resta (-), la multiplicació (*) i la divisió (/). Aquests operadors funcionen de la mateixa manera que a la majoria d'altres llenguatges de programació quan s'utilitzen amb nombres de coma flotant (particularment, cal destacar que la divisió entre zero produeix Infinity). Per exemple:

- -
console.log(1 / 2); /* imprimeix 0.5 */
-console.log(1 / 2 == 1.0 / 2.0); /* això també és cert */
-
- -

Adicionalment, JavaScript proporciona els operadors aritmètics llistats a la taula següent:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Taula 3.3 Operadors aritmètics
OperadorDescripcióExemple
%
- (Mòdul)
Operador binari. Retorna el residu de dividir els dos operands.12 % 5 retorna 2.
++
- (Increment)
-

Operador unari. Afegeix un al seu operand. Si s'utilitza com a prefix (++x), retorna el valor del seu operand després d'afexir-li un; si s'utilitza com a sufix (x++), retorna el valor del seu operand abans d'afegir-li un.

-
Si x és 3, llavors ++x assigna 4 a x i retorna 4, mentre que x++ retorna 3 i, només llavors, assigna 4 a x.
--
- (Decrement)
Operador uniari. Resta un al seu operand. Retorna el valor anàleg a l'operador increment.Si x és 3, llavors --x assigna 2 a x i retorna 2, mentre que x-- retorna 3 i, només llavors, assigna 2 a x.
-
- (Negació unària)
Operador unari. Retorna el resultat de negar el seu operand.Si x val 3, llavors -x retorna -3.
- -

Operadors de bits

- -

Els operadors de bits tracten els seus operands com a conunts de 32 bits (zeros i uns), en comptes de com a nombres decimals, hexadecimals o octals. Per exemple, el nombre decimal 9 és representat de forma binària per 1001. Els operadors de bits realitzen operacions sobre aquestes representacions binàries, però sempre retornen valors numèrics de JavaScript.

- -

La taula següent resumeix els operadors de bits disponibles a JavaScript.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Taula 3.4 Operadors de bits
OperadorÚsDescripció
AND binaria & bRetorna 1 a cada posició de bit on la posició corresponent a ambdós operadors conten uns.
OR binaria | b -

Retorna 1 a cada posició de bit on al menys un dels operands té un 1 a la posició corresponent.

-
XOR binaria ^ b -

Retorna un 1 a cada posició de bit on només un dels operands té un 1 a la posicio corresponent, però no ambdós.

-
NOT binari~ aInverteix els bits del seu operand.
Desplaçament a l'esquerraa << bDesplaça la representació binària de a b bits a l'esquerra, afegint zeros a la dreta.
Desplaçament a la dreta amb propagació de signea >> bDesplaça la representació binària de a b bits a la dreta, descartant els bits que no hi caben.
Desplaçament a la dreta amb inserció de zerosa >>> bDesplaça la representació binària de a b bits a la dreta, descartant els bits que no hi caben i inserint zeros a l'esquerra.
- -

Operadors lògics de bits

- -

Conceptualment, els operadors lògics de bits funcionen de la següent manera:

- -
    -
  • Es converteixen els operands a nombres sencers de 32 bits expressats per una sèrie de bits (zeros i uns).
  • -
  • S'emparella cada bit del primer operand amb el bit corresponent del segond operand: el primer bit amb el primer bit, el segon amb el segon, etcètera.
  • -
  • S'aplica l'operador per a cada parella de bits, i el resultat es construeix de forma binària.
  • -
- -

Per exemple, la representació binària de 9 és 1001, mentre que la representació binària de quinze és 1111. Així, quan els operadors de bits s'apliquen a aquests valors el resultat és el següent:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Taula 3.5 Exemples d'operadors de bits
ExpressióResultatDescripció binària
15 & 991111 & 1001 = 1001
15 | 9151111 | 1001 = 1111
15 ^ 961111 ^ 1001 = 0110
~15-16~00000000...00001111 = 11111111...11110000
~9-10~00000000...00001001 = 11111111...11110110
- -

Fixeu-vos que a l'utilitzar l'operador de bits NOT tots 32 bits són invertit, i que els valors amb el bit més significatiu (el de l'esquerra) amb valor 1 representen nombres negatius (representació en complement a dos).

- -

Operadors de desplaçament de bits

- -

Els operadors de desplaçament de bits requereixen de dos operands: el primer és un conjunt de bits a desplaçar. El segon operand és el nombre de posicions que es desplaçaran els bits del primer operand. La direcció des desplaçament és controlada per l'operador utilitzat.

- -

Els operadors de desplaçament de bits converteixen els seus operands a nombres de 32 bits i el valor retornat és del mateix tipus que l'operand de l'esquerra. Trobareu un llistat amb els operadors de desplaçament de bits a la taula següent.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Taula 3.6 Operadors de desplaçament de bits
OperadorDescripcióExemple
<<
- (Desplaçament a l'esquerra)
-

Aquest operador desplaça a l'esquerra el primer operand el nombre de bits especificat. Els bits que no hi caben es descarten. Les noves posicions de la dreta s'omplen amb zeros.

-
9<<2 retorna 36, perquè 1001 desplaçat 2 bits a l'esquerra esdevé 100100, que és la representació binaria de 36.
>>
- (Desplaçament a la dreta amb propagació de signe)
-

Aquest operador desplaça el primer operand el nombre de bits especificats cap a la dreta. Els nous bits de l'esquerra són copies del bit originalment més significatiu.

-
9>>2 retorna 2, perquè 1001 desplaçat 2 bits a la dreta esdevé 10, que és la representació binària de 2. De la mateixa manera, -9>>2 retorna -3, perquè el signe l'operand preseva el signe.
>>>
- (Desplaçament a la dreta omplint amb zeros)
-

Aquest operador desplaça l'operand el nombre de bits especificat a la dreta. Els bits sobrant són descartats. Els nous bits de l'esquerra s'omplen amb zeros.

-
19>>>2 retorna 4, perquè 10011 desplaçat 2 bits a la dreta esdevé 100, que és la representació binària de 4. Per a nombres no negatius aquest operador retorna el mateix resultat que l'operador de desplaçament a la dreta amb propagació de signe.
- -

Operadors lògics

- -

Els operadors lògics utilitzen típicament amb valors booleans (lògics); quan ho són, retornen un valor de tipus Boolean. Els operadors && i || , però, en realitat retornen el valor d'un dels operands, de tal manera que si aquests operadors s'utilitzen amb valors no booleans poden retornar un valor no booleà. A la següent taula es descriuen els operadors lògics.

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Taula 3.6 Operadors lògics
OperadorÚsDescripció
&&expr1 && expr2(AND lògic) Retorna expr1 si pot ser convertida a fals; en qualsevol altre cas retorna expr2. Així, quan es proporcionen operands booleans, && retorna true si ambdós operands són true: en qualsevol altre cas retorna fals.
||expr1 || expr2(OR lògic) Retorna expr1 si pot ser convertida a true; en qualsevol altre cas retorna expr2. És a dir, quan s'utilitza amb operands booleans, || retorna true si qualsevol dels dos operands és true; si ambdós operands són false, retorna false.
!!expr(NOT lògic) Retorna false si el seu únic operand es pot convertir a true; en qualsevol altre cas retorna true.
- -

Alguns exemples d'expressions que es poden convertir a false són aquelles que s'avaluen a null, 0, NaN, l'string buit (""), o undefined.

- -

El codi següent mostra exemples de l'operador && (AND lògic).

- -
var a1 =  true && true;     // t && t retorna true
-var a2 =  true && false;    // t && f retorna false
-var a3 = false && true;     // f && t retorna false
-var a4 = false && (3 == 4); // f && f retorna false
-var a5 = "Cat" && "Dog";    // t && t retorna Dog
-var a6 = false && "Cat";    // f && t retorna false
-var a7 = "Cat" && false;    // t && f retorna false
-
- -

El codi següent mostra exemples de l'operador || (OR lògic).

- -
var o1 =  true || true;     // t || t retorna true
-var o2 = false || true;     // f || t retorna true
-var o3 =  true || false;    // t || f retorna true
-var o4 = false || (3 == 4); // f || f retorna false
-var o5 = "Cat" || "Dog";    // t || t retorna Cat
-var o6 = false || "Cat";    // f || t retorna Cat
-var o7 = "Cat" || false;    // t || f retorna Cat
-
- -

El codi següent mostra exemples de l'operador ! (NOT lògic).

- -
var n1 = !true;  // !t retorna false
-var n2 = !false; // !f retorna true
-var n3 = !"Cat"; // !t retorna false
-
- -

Avaluació en curtcircuit

- -

Mentre les expressions lògiques es van avaluant una a una d'esquerra a dreta, a l'avaluar cadascuna també s'avalua si curtcirquiatar l'expressió mitjançant les regles següents:

- -
    -
  • false && quelcom es curtcircuita avaluant-se a false.
  • -
  • true || quelcom es curtcircuita avaluant-se a true.
  • -
- -

Les regles de la lògica garanteixen que aquestes avaluacions sempre són correctes. Cal remarca que la part quelcom no arriva a avaluar-se mai, així que cap efecte secundari provocat per la seva avaluació tindrà efecte.

- -

Operadors de Strings

- -

A més dels operadors de comparació, que poden utilitzar-se amb valors de tipus string, l'operador de concatenació (+) concatena dos valors string, retornant un altre string format per la unió dels dos strings operands. Per exemple, "la meva " + "string" retorna la string "la meva string".

- -

L'abreviació de operador d'assignació += també pot ser emprat per a concatenar strings. Per exemple, si la variable mystring te el valor "alfa", llavors l'expressió mystring += "bet" s'avalua a "alfabet" i assigna aquest valor a mystring.

- -

Operadors especial

- -

JavaScript ofereix els següents operadors especials:

- -
    -
  • {{ web.link("#Conditional_operator", "Operador condicional") }}
  • -
  • {{ web.link("#Comma_operator", "Operador coma") }}
  • -
  • {{ web.link("#delete", "delete") }}
  • -
  • {{ web.link("#in", "in") }}
  • -
  • {{ web.link("#instanceof", "instanceof") }}
  • -
  • {{ web.link("#new", "new") }}
  • -
  • {{ web.link("#this", "this") }}
  • -
  • {{ web.link("#typeof", "typeof") }}
  • -
  • {{ web.link("#void", "void") }}
  • -
- -

Operador condicional

- -

L'operador condicional és l'únic operador de JavaScript que accepta tres operands. L'operador retorna un de dos valors basant-se en una condició. La sintaxi és la següent:

- -
condició ? val1 : val2
-
- -

Si condició és certa, l'operador retorna el valor val1. En qualsevol altre cas retorna el valor val2. Es pot emprar l'operador condicional a qualsevol lloc on es pugui utilitzar un operador standard.

- -

Per exemple,

- -
var estat = (edat >= 18) ? "adult" : "menor";
-
- -

Aquesta sentència assigna el valor "adult" a la variable estat si edat és 18 o més. En qualsevol altre cas assigna el valor "menor" a estat.

- -

Operador coma

- -

L'operador coma (,) simplement avalua els seus dos operands i retorna el valor del segon operand. Aquest operdor s'utilitza principalment dins el bucle for per a permetre que múltiples variables s'actualitzin per a cada volta del bucle.

- -

Per exemple, si a és un array de dues dimensions amb 10 elements per dimensió, el codi següent utilitza l'operador coma per a incrementar dues variables a l'hora. El codi mostra els valors dels elements de la diagonal de l'array:

- -
for (var i = 0, j = 9; i <= j; i++, j--)
-  document.writeln("a[" + i + "][" + j + "]= " + a[i][j]);
-
- -

delete

- -

L'operador delete esborra un objecte, una propietat d'un objecte o l'element a la posició especificada d'un array. La sintaxi és:

- -
delete nomObjecte;
-delete nomObjecte.property;
-delete nomObjecte[index];
-delete propietat; // Només és legal dins una sentència with
-
- -

on nomObjecte és el nom d'un objecte, propietat és una propietat existent i index és un nombre sencer que representa la posició d'un element dins un array.

- -

La quarta forma només és legal dins una sentència with, per a esborrar la propietat d'un objecte.

- -

Es pot emprar l'operador delete per a esborrar variables declarades implícitament però no serveix per a variables declarades amb la sentència var.

- -

Si l'operador delete aconsegueix el seu objectiu, assigna el valor undefined a la propietat o element esmentat. L'operador delete retorna true si l'operació és posible; retorna false si l'operació no és posible.

- -
x = 42;
-var y = 43;
-myobj = new Number();
-myobj.h = 4;    // crea la propietat h
-delete x;       // retorna true (pot esborrar si la variable ha estat declarada implicitament)
-delete y;       // retorna false (no pot esborrar si la variable ha estat declarada amb var)
-delete Math.PI; // retorna false (no pot esborrar propietats predefinides)
-delete myobj.h; // retorna true (pot esborrar propietats definides per l'usuari)
-delete myobj;   // retorna true (pot esborrar si l'objecte ha estat declarat implícitament)
-
- -
Esborrar elements d'un array
- -

A l'esborrar l'element d'un array, la longitud de l'array no es veu afectada. Per exemple, si s'esborrar a[3], a[4] roman a a[4] mentre que a[3] passa a valer undefined.

- -

Quan l'operador delete esborra un element d'un array, aquest element ja no és a l'array. Al següent exemple, s'esborra trees[3] amb delete. Tot i així, trees[3] encara és accessible i retorna undefined.

- -
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
-delete trees[3];
-if (3 in trees) {
-  // aquest codi no s'arriba a executar mai
-}
-
- -

Si es vol que un element d'un array existeixi però tingui un valor indefinit, es pot emprar la paraula clau undefined en comptes de l'operador delete. Al següent exemple, trees[3] rep el valor undefined, però l'elelement de l'array encara existeix:

- -
var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
-trees[3] = undefined;
-if (3 in trees) {
-  // aquest codi s'executa
-}
-
- -

in

- -

L'operador in retorna true si la propietat especificada existeix en l'objecte especificat. La sintaxi és:

- -
nomPropOnombre in nomObjecte
-
- -

on nomPropOnombre és una string que representa el nom d'una propietat o bé una expressió numèrica que representa la posició d'un element dins un array, i nomObjecte és el nom d'un objecte.

- -

Els següents exemples mostren alguns usos de l'operador in.

- -
// Arrays
-var trees = new Array("redwood", "bay", "cedar", "oak", "maple");
-0 in trees;        // retorna true
-3 in trees;        // retorna true
-6 in trees;        // retorna false
-"bay" in trees;    // retorna false (s'ha de proporcionar l'índex,
-                   // no el valor a aquell índex)
-"length" in trees; // retorna true (length és una propietat de Array)
-
-// Objects predefinits
-"PI" in Math;          // retorna true
-var myString = new String("coral");
-"length" in myString;  // retorna true
-
-// Objectes creats per l'usuari
-var mycar = {make: "Honda", model: "Accord", year: 1998};
-"make" in mycar;  // retorna true
-"model" in mycar; // retorna true
-
- -

instanceof

- -

L'operador instanceof retorna cert si l'objecte especificat és del tipus especificat. La sintaxi és:

- -
nomObjecte instanceof tipusObjecte
-
- -

on nomObjecte és el nom de l'objecte a comprarar amb tipusObjecte, i tipusObjecte és un tipus d'objecte, com ara Date o Array.

- -

Utilitzeu instanceof quan necessiteu confirmar el tipus d'un objecte en temps d'execució. Per exemple, a l'hora de capturar execepcions és posible executar diferent codi segons el tipus d'excepció llençada.

- -

Per exemple, el següent codi utilitza instanceof per a determinar si dia és un objecte de tipus Date. Com que dia és un objecte de tipus Date les sentències dins la sentència if s'executaran.

- -
var dia = new Date(1995, 12, 17);
-if (dia instanceof Date) {
-  // bloc de codi que s'executarà
-}
-
- -

new

- -

L'operador new s'utilitza per a crear una instància d'un tipus d'objete definit per l'usuari o bé un dels tipus d'objectes predefinits Array, Boolean, Date, Function, Image, Number, Object, Option, RegExp, o String. Al servidor també es pot emprar amb DbPool, Lock, File, i SendMail. La sintaxi de new és la següent:

- -
var nomObjecte = new tipusObjecte([param1, param2, ..., paramN]);
-
- -

També és posible crear objectes mitjançant inicialitzadors d'objectes, tal i com s'explica a {{ web.link("Working_with_objects#Using_object_initializers", "utilitzar inicialitzadors d'objectes") }}.

- -

Vegeu la pàgina de l'operador new a la Referència del nucli de JavaScript per a més informació.

- -

this

- -

La paraula clau this s'utilitza per a referir-se a l'objecte actual. En general this fa referència a l'objecte que ha realitzat la crida dins un mètode. La sintaxi de this és la següent:

- -
this["nomPropietat"]
-
- -
this.nomPropietat
-
- -

Exemple 1.
- Suposem que una funció anomenada validate valida la propietat value d'un objecte, donat l'objecte i el rang de valors:

- -
function validate(obj, lowval, hival){
-  if ((obj.value < lowval) || (obj.value > hival))
-    alert("Valor no vàlid!");
-}
-
- -

Podríem cridar validate a cada manegador d'events onChange dels elements d'un formulari, utilitzant this per a passar l'element del formulari, tal i com es mostra al següent exemple:

- -
<B>Introduïu un nombre entre 18 i 99:</B>
-<INPUT TYPE="text" NAME="edat" SIZE=3
-   onChange="validate(this, 18, 99);">
-
- -

Exemple 2.
- Al combinar-lo amb la propietat del form, this fa referència al pare de l'objecte del formulari. Al següent exemple el form myForm conté un bojecte Text i un botó. Quan l'usuari fa clic al botó, el valor de l'objecte Text és assignat al nom del formulari. El manegador de l'event onClick del botó utilitza this.form per a fererir-se al fomulari pare, myForm.

- -
<FORM NAME="myForm">
-Nom del formulari:<INPUT TYPE="text" NAME="text1" VALUE="Beluga"/>
-<INPUT NAME="button1" TYPE="button" VALUE="Mostrar el nom del formulari"
-   onClick="this.form.text1.value = this.form.name;"/>
-</FORM>
-
- -

typeof

- -

L'operador typeof es pot utilitzar de qualsevol de les formes següents:

- -
    -
  1. -
    typeof operand
    -
    -
  2. -
  3. -
    typeof (operand)
    -
    -
  4. -
- -

L'operador typeof retorna una string indicant el tipus de l'operand, que no és avaluat. operand és una string, variable, paraula clau u objecte del qual es retornarà el tipus. Els parèntesi són opcionals.

- -

Suposem que es defineixen les següents variables:

- -
var myFun = new Function("5 + 2");
-var forma = "rodona";
-var tamany = 1;
-var avui = new Date();
-
- -

L'operador typeof retornarà els següents resultats per a aquestes variables:

- -
typeof myFun;      // retorna "function"
-typeof forma;      // retorna "string"
-typeof tamany;     // retorna "number"
-typeof avui;       // retorna "object"
-typeof noExisteix; // retorna "undefined"
-
- -

Per a les paraules clau true i null, l'operador typeof retorna els següents resultats:

- -
typeof true; // retorna "boolean"
-typeof null; // retorna "object"
-
- -

Per a un nombre o string, l'operador typeof retorna els següents resultats:

- -
typeof 62;            // retorna "number"
-typeof 'Hola món';    // retorna "string"
-
- -

Per a valors de propietats, l'operador typeof retorna el tipus del valor que conté la propietat:

- -
typeof document.lastModified; // retorna "string"
-typeof window.length;         // retorna "number"
-typeof Math.LN2;              // retorna "number"
-
- -

Per a mètodes i funcions, l'operador typeof retorna els següents resultats:

- -
typeof blur;        // retorna "function"
-typeof eval;        // retorna "function"
-typeof parseInt;    // retorna "function"
-typeof shape.split; // retorna "function"
-
- -

Per a objectes predefinits, l'operador typeof retorna els resultats següents:

- -
typeof Date;     // retorna "function"
-typeof Function; // retorna "function"
-typeof Math;     // retorna "object"
-typeof Option;   // retorna "function"
-typeof String;   // retorna "function"
-
- -

void

- -

L'operador void es pot emprar de qualsevol de les maneres següents:

- -
    -
  1. -
    void (expression)
    -
    -
  2. -
  3. -
    void expression
    -
    -
  4. -
- -

L'operador void avalua una expressió però no retorna cap valor. expression és l'expressió JavaScript a avaluar. Els parèntesi que embocallen l'expressió són opcionals, però es considera una bona pràctica utilitzar-los.

- -

És possible utilitzar l'operador void per a especificar una expressió com a hipervincle. L'expressió serà avaluada però el seu contingut no reemplaçarà el contingut del document actual.

- -

El codi següent crea un hipervincle que no fa res quan l'usuari faci clic a l'hipervincle. Quan l'usuari fa clic al l'hipervincle, void(0) serà avaluada com a undefined, la qual cosa no té cap efecte en JavaScript.

- -
<A HREF="javascript:void(0)">Cliqueu aquí per a no fer res</A>
-
- -

El codi següent crea un hipervincle que envia un formulari quan l'usuari fa clic sobre ell.

- -
<A HREF="javascript:void(document.form.submit())">
-Feu clic aquí per a enviar el formulari</A>
- -

Precedència d'operadors

- -

La precedència d'operadors determina l'ordre en el qual aquests s'apliquen quan s'avalua una expressió. Es pot canviar aquest comportament mitjançant parèntesi.

- -

La taula següent descriu la precedència dels operadors, del més prioritari al que ho és menys.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Taula 3.7 Precedència d'operadors
Tipus d'operadorOperadors individuals
membre. []
crida / creació d'una instància() new
negació/increment! ~ - + ++ -- typeof void delete
multiplicació/divisió* / %
suma/resta+ -
desplaçament de bits<< >> >>>
relacionals< <= > >= in instanceof
igualtat== != === !==
AND binari&
XOR binari^
OR binari|
AND lògic&&
OR lògic||
condicional?:
assignació= += -= *= /= %= <<= >>= >>>= &= ^= |=
coma,
- -

Trobareu una versió més detallada d'aqueta taula, completa amb enllaços a a detalls adicionals per a cada operador a la Referència de JavaScript.

diff --git "a/files/ca/web/javascript/guide/introducci\303\263/index.html" "b/files/ca/web/javascript/guide/introducci\303\263/index.html" deleted file mode 100644 index 1b598dad9b..0000000000 --- "a/files/ca/web/javascript/guide/introducci\303\263/index.html" +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: Introducció -slug: Web/JavaScript/Guide/Introducció -translation_of: Web/JavaScript/Guide/Introduction ---- -
{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide", "Web/JavaScript/Guide/Grammar_and_types")}}
- -
-

Aquest capítol presenta JavaScript i comenta alguns dels seus conceptes fonamentals.

-
- -

Coneixements previs

- -

Aquesta guia asumeix que el lector te els següents coneixements previs:

- -
    -
  • Una idea general de Internet i la World Wide Web ({{Glossary("WWW")}}).
  • -
  • Bon coneixement de l'HyperText Markup Language ({{Glossary("HTML")}}).
  • -
  • Alguns coneixements de programació. Si sou nous quant a la programació proveu qualsevol dels tutorials que trobareu a la pàgina principal sobre JavaScript.
  • -
- -

On trobar informació sobre JavaScript

- -

La documentació de JavaScript al MDN inclou els següents apartats:

- -
    -
  • Aprenent la Web proporciona informació per a nouvinguts i introdueix conceptes bàsics de programació i Internet.
  • -
  • La guia de JavaScript (aquesta guia) proporciona un resum del llenguatge JavaScript així com els seus objectes.
  • -
  • La referència de JavaScript proporciona material de referència detallat per a JavaScript.
  • -
- -

Si vostè és nou al món de JavaScript es recomana començar amb els articles que es poden trobar a l'àrea d'aprenentatge i la Guia de JavaScript. Un cop assolits els conceptes fonamentals podeu obtindre més detalls sobre objectes individuals i sentències mitjançant la Referència de JavaScript.

- -

Què és JavaScript?

- -

JavaScript és un llenguatge d'script multiplataforma i orientat a objectes. És un llenguatge petit i lleuger. Dins l'entorn d'un amfitrió, es pot connectar JavaScript als objectes del l'entorn per a tenir un control programàtic sobre aquests.

- -

JavaScript conté una llibreria estàndard d'objectes, com Array, Date i Math, o un conjunt bàsic d'elements del llenguatge, com ara operadors, estructures de control o sentències. El nucli de JavaScript es pot estendre per a diferents propòsits mitjançant objectes adicionals; per exemple:

- -
    -
  • JavaScript al cantó del client estén el llenguatge bàsic tot proveint objectes per a controlar un navegador i el seu Document Object Model (DOM). Per exemple, les extensions del cantó del client permeten a una aplicació posar elements en un formulari HTML i respondre a esdeveniments (events) d'usuari com ara clics del ratolí, entrada de formularis o navegació per la pàgina.
  • -
  • JavaScript al cantó del servidor estén el llenguatge bàsic tot proveint objectes rellevants a córrer JavaScript en un servidor. Per exemple, les extensions del cantó del servidor permeten a una aplicació comunicar-se amb una base de dades, proveir continuitat d'informació d'una instància a una altra de l'aplicació, o bé realitzar manipulacions de fitxers al servidor.
  • -
- -

JavaScript i Java

- -

JavaScript i Java són similars des d'alguns punts de vista però són fonamentalment diferents des d'uns altres. El llenguatge JavaScript s'assembla al Java però no té el tipatge estàtic ni les comprovacions de tipatge fort de Java. JavaScript segueix la majoria de les expressions de sintaxi de Java, convencions de nomenclatura i construccions de control de flux bàsiques, la qual és la raó per la qual el seu nom va ser canviat de LiveScript a JavaScript.

- -

En contrast amb el sistema de classes de Java en temps de compilació fabricat per declaracions, JavaScript suporta un sistema en temps d'execució basat en un petit nombre de tipus de dades que representen valors numèrics, booleans i cadenes de caràcters. JavaScript té model d'objecte basat en prototipus en comptes del model més comú, basat en classes. El model basat en prototipus ofereix herència dinàmica, és a dir, el que és heretat pot variar entre diferents objectes individuals. JavaScript també suporta funcions sense cap mena de requeriment declaratiu especial. Les funcions poden ser propietats d'objectes, sent executades com a mètodes de tipatge lliure.

- -

JavaScript és un llenguatge de forma molt lliure en comparació amb Java. No és necessari declarar totes les variables, classes i mètodes. No és necessari preocupar-se per quins mètodes són públics, privats o protegits, i no és necessari implementar interfícies. Variables, paràmetres i tipus de retorn de funcions so són de tipatge explícit.

- -

Java és un llenguatge de programació basat en classes dissenyat per a executar-se ràpidament i ser segur quant a tipatge. Ser segur quant al tipatge vol dir que, per exemple, no es pot assignar un nombre sencer de Java a una referència d'objecte, o accedir memòria privada tot corrompent bytecode de Java. El model basat en classes de Java implica que els programes consisteixen exclusivament de classes i els seus mètodes. L'herència de classes a Java i el tipatge fort generalment requereixen jerarquies d'objectes fortament acoblades. Aquests requisits fan que programar en Java sigui més complex que programar en JavaScript.

- -

En contrast, JavaScript descendeix en esperit d'una línia de llenguatges més petits, amb tipatge dinàmic com ara HyperTalk i dBASE. Aquests llenguatges d'scripting ofereixen eines de programació a una audiència molt més àmplia a causa de la seva sintaxi més simple, funcionalitats especialitzades integrades i uns requeriments mínims per a la creació d'objectes.

- - - - - - - - - - - - - - - - - - - - - - - -
JavaScript en comparació a Java
JavaScriptJava
-

Basat en objectes. No hi ha distinció entre tipus d'objectes. L'herència funciona a través del mecanisme de prototipus i les propietats i mètodes es poden afegir a qualsevol objecte de forma dinàmica.

-
-

Basat en classes. Els objectes es divideixen entre classes i instàncies, amb l'herència aplicada mitjançant la jerarquia de classes. No es poden afegir propietats ni mètodes dinàmicament ni a classes ni a instàncies.

-
El tipus de dades de les variables no es declaren (tipatge dinàmic).El tipus de dades de les variables s'ha de declarar (tipatge estàtic).
No pot escriure a disc de forma automàtica.No pot escriure a disc de forma automàtica.
- -

Per a més informació sobre les diferències entre JavaScript i Java vegeu el capítol Detalls del model d'objecte.

- -

JavaScript i l'especificació ECMAScript

- -

L'estandardització de JavaScript es realitza a Ecma International — l'associació Europea per a l'estandardització  de sistemes d'informació i comunicació (ECMA era anteriorment un acrònim d'European Computer Manufacturers Association) per a proporcionar un llenguatge de programació estàndard i internacional basat en JavaScript. Aquesta versió estandarditzada de JavaScript, anomenada ECMAScript, es comporta de la mateixa manera a totes les aplicacions que suporten l'estàndard. Les empreses poden utilitzar el llenguatge estàndard obert per a desenvolupar la seva pròpia implementació de JavaScript. L'estàndard ECMAScript està documentat en l'especificació ECMA-262. Vegeu Nou a JavaScript per a aprendre sobre les diferents versions de JavaScript així com les diferents edicions de l'especificació d'ECMAScript.

- -

A més, l'estàndard ECMA-262 també està aprovat per l'ISO (International Organization of Standarization) com a ISO-16262. Podeu trobar l'especificació al lloc web d'Ecma International. L'especificació de l'ECMAScript no descriu el Model d'Objecte Document (DOM), el qual està estandaritzat pel World Wide Web Consortium (W3C). El DOM defineix la forma en què els objectes d'un document HTML s'exposen a l'script. Per a fer-se una millor idea de les diferents tecnologies usades en programar en JavaScript, consulteu l'article: resum de tecnologies de JavaScript.

- -

La documentació de JavaScript versus l'especificació de l'ECMAScript

- -

L'especificació de l'ECMAScript és un conjunt de requeriments per a implementar ECMAScript; és útil si es vol implementar característiques del llenguatge que compleixin amb els estàndards a la vostra pròpia implementació d'ECMAScript o a un motor JavaScript (com per exemple el SpiderMonkey a Firefox, o el v8 a Chrome).

- -

El document d'ECMAScript no pretén ajudar als programadors de scripts; utilitzeu la documentació de JavaScript per a obtenir informació sobre com escriure scripts.

- -

L'especificació d'ECMAScript utilitza terminologia i sintaxi que poden no ser familiars per a programador de JavaScript. Tot i que la descripció del llenguatge pot variar a ECMAScript, el llenguatge en si roman sense canvis. JavaScript suporta totes les funcionalitats definides a l'especificació d'ECMAScript.

- -

La documentació de JavaScript descriu aspectes del llenguatge que són apropiats per al programador de JavaScript.

- -

Iniciant-se en JavaScript

- -

Iniciar-se en JavaScript és senzill: tot el que fa falta és un navegador Web modern. Aquesta guia inclou algunes de les característiques de JavaScript que només estan disponibles a les últimes versions de Firefox, per això es recomana utilitzar la versió de Firefox més recent.

- -

Hi ha dues eines que formen part de Firefox que són útils per a experimentar amb JavaScript: la Consola del Web i Scratchpad.

- -

La Consola del Web

- -

La Consola del Web mostra informació sobre la pàgina Web carregada actualment i també inclou una línia d'ordres que podeu utilitzar per a executar expressions JavaScript a la pàgina actual.

- -

Per a obrir la Consola del Web, seleccioneu "Web Console" des del menú "Web Developer", que trobareu sota el menú "Tools" a Firefox. Apareixerà a la part de sota de la finestra del navegador. A la part de sota de la consola hi ha la línia d'ordres que podeu utilitzar per a introduir JavaScript, i la sortida apareix al panell de sobre:

- -

- -

Scratchpad

- -

La Consola del Web és excel·lent per a executar línies individuals de JavaScript, però tot i que pot executar múltiples línies no és gaire còmoda per a això, i no permet desar mostres de codi. És per això que per a exemples més complexos Scratchpad és una eina més adient.

- -

Per a obrir Scratchpad, seleccioneu "Scratchpad" al menú "Web Developer", que trobareu dins el menú "Tools" al Firefox. S'obre en una finestra separada i consisteix d'un editor que podeu utilitzar per a escriure i executar JavaScript al navegador. També podeu desar scripts al disc i carregar scripts des del disc.

- -

Si seleccioneu l'opció "Inspect", el codi a l'editor és executat al navegador i els resultats són inserits tot seguit a l'editor en forma de comentari:

- -

- -

Hola món

- -

Per a iniciar-vos a escriure JavaScript, obriu la Consola del Web o bé l'Scratchpad i escriviu el vostre primer codi "Hola món" en JavaScript.

- -
function saluda(user) {
-  return "Hola " + user;
-}
-
-saluda("Alice"); // "Hola Alice"
-
- -

A les següents pàgines, aquesta guia us introduirà la sintaxi de JavaScript així com les seves característiques, de manera que sereu capaços d'escriure aplicacions més complexes.

- -

{{PreviousNext("Web/JavaScript/Guide", "Web/JavaScript/Guide/Grammar_and_types")}}

diff --git a/files/ca/web/javascript/guide/introduction/index.html b/files/ca/web/javascript/guide/introduction/index.html new file mode 100644 index 0000000000..1b598dad9b --- /dev/null +++ b/files/ca/web/javascript/guide/introduction/index.html @@ -0,0 +1,140 @@ +--- +title: Introducció +slug: Web/JavaScript/Guide/Introducció +translation_of: Web/JavaScript/Guide/Introduction +--- +
{{jsSidebar("JavaScript Guide")}} {{PreviousNext("Web/JavaScript/Guide", "Web/JavaScript/Guide/Grammar_and_types")}}
+ +
+

Aquest capítol presenta JavaScript i comenta alguns dels seus conceptes fonamentals.

+
+ +

Coneixements previs

+ +

Aquesta guia asumeix que el lector te els següents coneixements previs:

+ +
    +
  • Una idea general de Internet i la World Wide Web ({{Glossary("WWW")}}).
  • +
  • Bon coneixement de l'HyperText Markup Language ({{Glossary("HTML")}}).
  • +
  • Alguns coneixements de programació. Si sou nous quant a la programació proveu qualsevol dels tutorials que trobareu a la pàgina principal sobre JavaScript.
  • +
+ +

On trobar informació sobre JavaScript

+ +

La documentació de JavaScript al MDN inclou els següents apartats:

+ +
    +
  • Aprenent la Web proporciona informació per a nouvinguts i introdueix conceptes bàsics de programació i Internet.
  • +
  • La guia de JavaScript (aquesta guia) proporciona un resum del llenguatge JavaScript així com els seus objectes.
  • +
  • La referència de JavaScript proporciona material de referència detallat per a JavaScript.
  • +
+ +

Si vostè és nou al món de JavaScript es recomana començar amb els articles que es poden trobar a l'àrea d'aprenentatge i la Guia de JavaScript. Un cop assolits els conceptes fonamentals podeu obtindre més detalls sobre objectes individuals i sentències mitjançant la Referència de JavaScript.

+ +

Què és JavaScript?

+ +

JavaScript és un llenguatge d'script multiplataforma i orientat a objectes. És un llenguatge petit i lleuger. Dins l'entorn d'un amfitrió, es pot connectar JavaScript als objectes del l'entorn per a tenir un control programàtic sobre aquests.

+ +

JavaScript conté una llibreria estàndard d'objectes, com Array, Date i Math, o un conjunt bàsic d'elements del llenguatge, com ara operadors, estructures de control o sentències. El nucli de JavaScript es pot estendre per a diferents propòsits mitjançant objectes adicionals; per exemple:

+ +
    +
  • JavaScript al cantó del client estén el llenguatge bàsic tot proveint objectes per a controlar un navegador i el seu Document Object Model (DOM). Per exemple, les extensions del cantó del client permeten a una aplicació posar elements en un formulari HTML i respondre a esdeveniments (events) d'usuari com ara clics del ratolí, entrada de formularis o navegació per la pàgina.
  • +
  • JavaScript al cantó del servidor estén el llenguatge bàsic tot proveint objectes rellevants a córrer JavaScript en un servidor. Per exemple, les extensions del cantó del servidor permeten a una aplicació comunicar-se amb una base de dades, proveir continuitat d'informació d'una instància a una altra de l'aplicació, o bé realitzar manipulacions de fitxers al servidor.
  • +
+ +

JavaScript i Java

+ +

JavaScript i Java són similars des d'alguns punts de vista però són fonamentalment diferents des d'uns altres. El llenguatge JavaScript s'assembla al Java però no té el tipatge estàtic ni les comprovacions de tipatge fort de Java. JavaScript segueix la majoria de les expressions de sintaxi de Java, convencions de nomenclatura i construccions de control de flux bàsiques, la qual és la raó per la qual el seu nom va ser canviat de LiveScript a JavaScript.

+ +

En contrast amb el sistema de classes de Java en temps de compilació fabricat per declaracions, JavaScript suporta un sistema en temps d'execució basat en un petit nombre de tipus de dades que representen valors numèrics, booleans i cadenes de caràcters. JavaScript té model d'objecte basat en prototipus en comptes del model més comú, basat en classes. El model basat en prototipus ofereix herència dinàmica, és a dir, el que és heretat pot variar entre diferents objectes individuals. JavaScript també suporta funcions sense cap mena de requeriment declaratiu especial. Les funcions poden ser propietats d'objectes, sent executades com a mètodes de tipatge lliure.

+ +

JavaScript és un llenguatge de forma molt lliure en comparació amb Java. No és necessari declarar totes les variables, classes i mètodes. No és necessari preocupar-se per quins mètodes són públics, privats o protegits, i no és necessari implementar interfícies. Variables, paràmetres i tipus de retorn de funcions so són de tipatge explícit.

+ +

Java és un llenguatge de programació basat en classes dissenyat per a executar-se ràpidament i ser segur quant a tipatge. Ser segur quant al tipatge vol dir que, per exemple, no es pot assignar un nombre sencer de Java a una referència d'objecte, o accedir memòria privada tot corrompent bytecode de Java. El model basat en classes de Java implica que els programes consisteixen exclusivament de classes i els seus mètodes. L'herència de classes a Java i el tipatge fort generalment requereixen jerarquies d'objectes fortament acoblades. Aquests requisits fan que programar en Java sigui més complex que programar en JavaScript.

+ +

En contrast, JavaScript descendeix en esperit d'una línia de llenguatges més petits, amb tipatge dinàmic com ara HyperTalk i dBASE. Aquests llenguatges d'scripting ofereixen eines de programació a una audiència molt més àmplia a causa de la seva sintaxi més simple, funcionalitats especialitzades integrades i uns requeriments mínims per a la creació d'objectes.

+ + + + + + + + + + + + + + + + + + + + + + + +
JavaScript en comparació a Java
JavaScriptJava
+

Basat en objectes. No hi ha distinció entre tipus d'objectes. L'herència funciona a través del mecanisme de prototipus i les propietats i mètodes es poden afegir a qualsevol objecte de forma dinàmica.

+
+

Basat en classes. Els objectes es divideixen entre classes i instàncies, amb l'herència aplicada mitjançant la jerarquia de classes. No es poden afegir propietats ni mètodes dinàmicament ni a classes ni a instàncies.

+
El tipus de dades de les variables no es declaren (tipatge dinàmic).El tipus de dades de les variables s'ha de declarar (tipatge estàtic).
No pot escriure a disc de forma automàtica.No pot escriure a disc de forma automàtica.
+ +

Per a més informació sobre les diferències entre JavaScript i Java vegeu el capítol Detalls del model d'objecte.

+ +

JavaScript i l'especificació ECMAScript

+ +

L'estandardització de JavaScript es realitza a Ecma International — l'associació Europea per a l'estandardització  de sistemes d'informació i comunicació (ECMA era anteriorment un acrònim d'European Computer Manufacturers Association) per a proporcionar un llenguatge de programació estàndard i internacional basat en JavaScript. Aquesta versió estandarditzada de JavaScript, anomenada ECMAScript, es comporta de la mateixa manera a totes les aplicacions que suporten l'estàndard. Les empreses poden utilitzar el llenguatge estàndard obert per a desenvolupar la seva pròpia implementació de JavaScript. L'estàndard ECMAScript està documentat en l'especificació ECMA-262. Vegeu Nou a JavaScript per a aprendre sobre les diferents versions de JavaScript així com les diferents edicions de l'especificació d'ECMAScript.

+ +

A més, l'estàndard ECMA-262 també està aprovat per l'ISO (International Organization of Standarization) com a ISO-16262. Podeu trobar l'especificació al lloc web d'Ecma International. L'especificació de l'ECMAScript no descriu el Model d'Objecte Document (DOM), el qual està estandaritzat pel World Wide Web Consortium (W3C). El DOM defineix la forma en què els objectes d'un document HTML s'exposen a l'script. Per a fer-se una millor idea de les diferents tecnologies usades en programar en JavaScript, consulteu l'article: resum de tecnologies de JavaScript.

+ +

La documentació de JavaScript versus l'especificació de l'ECMAScript

+ +

L'especificació de l'ECMAScript és un conjunt de requeriments per a implementar ECMAScript; és útil si es vol implementar característiques del llenguatge que compleixin amb els estàndards a la vostra pròpia implementació d'ECMAScript o a un motor JavaScript (com per exemple el SpiderMonkey a Firefox, o el v8 a Chrome).

+ +

El document d'ECMAScript no pretén ajudar als programadors de scripts; utilitzeu la documentació de JavaScript per a obtenir informació sobre com escriure scripts.

+ +

L'especificació d'ECMAScript utilitza terminologia i sintaxi que poden no ser familiars per a programador de JavaScript. Tot i que la descripció del llenguatge pot variar a ECMAScript, el llenguatge en si roman sense canvis. JavaScript suporta totes les funcionalitats definides a l'especificació d'ECMAScript.

+ +

La documentació de JavaScript descriu aspectes del llenguatge que són apropiats per al programador de JavaScript.

+ +

Iniciant-se en JavaScript

+ +

Iniciar-se en JavaScript és senzill: tot el que fa falta és un navegador Web modern. Aquesta guia inclou algunes de les característiques de JavaScript que només estan disponibles a les últimes versions de Firefox, per això es recomana utilitzar la versió de Firefox més recent.

+ +

Hi ha dues eines que formen part de Firefox que són útils per a experimentar amb JavaScript: la Consola del Web i Scratchpad.

+ +

La Consola del Web

+ +

La Consola del Web mostra informació sobre la pàgina Web carregada actualment i també inclou una línia d'ordres que podeu utilitzar per a executar expressions JavaScript a la pàgina actual.

+ +

Per a obrir la Consola del Web, seleccioneu "Web Console" des del menú "Web Developer", que trobareu sota el menú "Tools" a Firefox. Apareixerà a la part de sota de la finestra del navegador. A la part de sota de la consola hi ha la línia d'ordres que podeu utilitzar per a introduir JavaScript, i la sortida apareix al panell de sobre:

+ +

+ +

Scratchpad

+ +

La Consola del Web és excel·lent per a executar línies individuals de JavaScript, però tot i que pot executar múltiples línies no és gaire còmoda per a això, i no permet desar mostres de codi. És per això que per a exemples més complexos Scratchpad és una eina més adient.

+ +

Per a obrir Scratchpad, seleccioneu "Scratchpad" al menú "Web Developer", que trobareu dins el menú "Tools" al Firefox. S'obre en una finestra separada i consisteix d'un editor que podeu utilitzar per a escriure i executar JavaScript al navegador. També podeu desar scripts al disc i carregar scripts des del disc.

+ +

Si seleccioneu l'opció "Inspect", el codi a l'editor és executat al navegador i els resultats són inserits tot seguit a l'editor en forma de comentari:

+ +

+ +

Hola món

+ +

Per a iniciar-vos a escriure JavaScript, obriu la Consola del Web o bé l'Scratchpad i escriviu el vostre primer codi "Hola món" en JavaScript.

+ +
function saluda(user) {
+  return "Hola " + user;
+}
+
+saluda("Alice"); // "Hola Alice"
+
+ +

A les següents pàgines, aquesta guia us introduirà la sintaxi de JavaScript així com les seves característiques, de manera que sereu capaços d'escriure aplicacions més complexes.

+ +

{{PreviousNext("Web/JavaScript/Guide", "Web/JavaScript/Guide/Grammar_and_types")}}

diff --git "a/files/ca/web/javascript/introducci\303\263_al_javascript_orientat_a_objectes/index.html" "b/files/ca/web/javascript/introducci\303\263_al_javascript_orientat_a_objectes/index.html" deleted file mode 100644 index 187f7930f4..0000000000 --- "a/files/ca/web/javascript/introducci\303\263_al_javascript_orientat_a_objectes/index.html" +++ /dev/null @@ -1,362 +0,0 @@ ---- -title: Introducció al Javascript orientat a Objectes -slug: Web/JavaScript/Introducció_al_Javascript_orientat_a_Objectes -translation_of: Learn/JavaScript/Objects -translation_of_original: Web/JavaScript/Introduction_to_Object-Oriented_JavaScript ---- -
{{jsSidebar("Introductory")}}
- -

JavaScript és orientat a objectes des del nucli, amb unes capacitats potents, flexibles {{Glossary("OOP")}}. Aquest article comença amb la introducció de la programació orientada a objectes, després es revisa el model d'objectes de Javascript, i finalment es mostren els conceptes de la programació orientada a objectes en JavaScript.

- -

Revisió de JavaScript

- -

Si no us sentiu segurs amb els conceptes de Javascript com ara variables, tipus, funcions, i àmbits podeu llegir sobre aquests temes en Una reintroducció a JavaScript. També podeu consultar la Guia de JavaScript.

- -

Programació orientada a Objectes

- -

La programació orientada a Objectes és un paradigma de programació que usa l'abstracció per crear models basants en el món real. Fa servir diverseses tècniques de paradigmes previament establerts, inclosa la modularitat, poliformisme, i l'encapsulament. Avui, moltes llengües de programació (com Java, JavaScript, C#, C++, Python, PHP, Ruby i Objective-C) suporten la programació orientada a Objectes (POO).

- -

La programació orientada a Objectes es pot entendre com el disseny de software fent servir una col·lecció d'objectes que cooperen, al contrari de la visió tradicional en el qual un programa es vist com una col·lecció de funcions, o simplement com una llista d'instruccions per a un ordinador. En POO, cada objecte és capaç de rebre missatges, processar data, i enviar missatges a altres objectes. Cada objecte pot ser entès com una petita màquina independent amb un rol diferent o amb responsabilitat.

- -

La programació orientada a Objectes intenta promoure una major flexibilitat, mantenibilitat en programació, i és àmpliament popular en enginyeria de software a gran esala. En virtut de la seva forta èmfasi en modularitat, el codi orientat a objecte intenta ser més simple de desenvolupar i més facil d'entendre després, es presta a una anàlisi més directa, codificació, i comprensió de situacions complexes i procediments en comptes d'altres mètodes de programació menys modulars.1

- -

Terminologia

- -
-
{{Glossary("Namespace")}}
-
Un contenidor que permet als desenvolupadors agrupar totes les funcionalitats sota un nom únic d'aplicació específica.
-
{{Glossary("Class")}}
-
Defineix les característiques de l'objecte. És la definició d'una plantilla de variables i mètodes d'un objecte.
-
{{Glossary("Object")}}
-
Una instància d'una classe.
-
{{Glossary("Property")}}
-
Una característca d'un objecte, com ara un color.
-
{{Glossary("Method")}}
-
Una capacitat d'un objecte, com ara caminar. És una subrutina o funció associada amb una classe.
-
{{Glossary("Constructor")}}
-
Un mètode que es crida en el moment d'instanciació d'un objecte. Normalment té el mateix nom que el de la classe que el conté.
-
{{Glossary("Inheritance")}}
-
Una classe pot heretar les característiques d'una altra classe.
-
{{Glossary("Encapsulation")}}
-
Una manera d'agrupar les dades i mètodes que es fan servir juntes.
-
{{Glossary("Abstraction")}}
-
La conjunció d'una herència complexa, mètodes, les propietats d'un objecte, han de ser capaces de simular una realitat a modelar.
-
{{Glossary("Polymorphism")}}
-
Poli significa "molts" i morfisme significa "formes". Classes diferents poden definir el mateix mètode o propietat.
-
- -

Per una descripció més extensa sobre la programació orientada a objectes vegeu {interwiki("wikipedia", "Object-oriented programming")}} a la Viquipèdia.

- -

Programació basada en prototipus

- -

Programació basat en prototipus és un estil de programació orientada a objectes que no fa ús de les classes. En el seu lloc, la reutilització del comportament (conegut com a herència en llenguatges basats en classes) es porta a terme a través d'un procés de decoració (o d'ampliació) on els objectes que ja existeixen serveixen com a prototipus. Aquest model també és conegut com a model sense classes, orientat a prototip, o programació basadad en instàncies.

- -

L'exemple original (i més canònic) d'un llenguatge basat en prototipus és el llenguatge de programació {{interwiki("wikipedia", "Self (programming language)", "Self")}} desenvolupat per David Ungar i Randall Smith. Tanmateix, l'estil de programació sense classes s'ha anat fent més i més popular, i ha sigut adoptat per llenguatges de programació com JavaScript, Cecil, NewtonScript, Io, MOO, REBOL, Kevo, Squeak (quan s'utilitza el marc Viewer per manipular components Morphic), i altres.1

- -

Programació orientada a Objectes de JavaScript

- -

Namespace

- -

Un namespace és un contenidor el qual permet als desenvolupadors agrupar totes les funcionalitats sota un únic, nom d'aplicació específic. En JavaScript un namespace és només un altre objecte que conté mètodes, propietats, i objectes.

- -
-

Nota: Es important remarcar que en JavaScript, no hi ha diferència de nivell d'idioma entre els objectes regulars i els namespaces. Això dista d'altres llenguatges orientats a objectes, i pot resultat confús als programadors nous en JavaScript.

-
- -

La idea darrera la creació d'un namespace en JavaScript és simple: Un objecte global és creat i totes les variables, metòdes, i funcions es converteixen en propietats d'aquest objecte. L'ús de namespaces també minimitza la possibilitat de conflictes de noms en l'aplicació, ja que cada objecte d'aplicació son propietats d'un objecte global d'aplicació definit.

- -

Creem un objecte global anomenat MYAPP:

- -
// global namespace
-var MYAPP = MYAPP || {};
- -

En el codi de mostra superior, primer hem comprovat si MYAPP ja està definit (ja sigui en el mateix arxiu o en un altre arxiu). En cas de ser així, s'usa l'objecte global MYAPP existent, del contrari es crea un objecte buit anomenat MYAPP el qual encapsula el mètode, funcions, variables, i objectes.

- -

També podem crear sub-namespaces:

- -
// sub namespace
-MYAPP.event = {};
- -

Abaix es troba la sintaxi de codi per crear un namespace i afegir variables, funcions, i un mètode:

- -
// Create container called MYAPP.commonMethod for common method and properties
-MYAPP.commonMethod = {
-  regExForName: "", // define regex for name validation
-  regExForPhone: "", // define regex for phone no validation
-  validateName: function(name){
-    // Do something with name, you can access regExForName variable
-    // using "this.regExForName"
-  },
-
-  validatePhoneNo: function(phoneNo){
-    // do something with phone number
-  }
-}
-
-// Object together with the method declarations
-MYAPP.event = {
-    addListener: function(el, type, fn) {
-    //  code stuff
-    },
-   removeListener: function(el, type, fn) {
-    // code stuff
-   },
-   getEvent: function(e) {
-   // code stuff
-   }
-
-   // Can add another method and properties
-}
-
-// Syntax for Using addListener method:
-MYAPP.event.addListener("yourel", "type", callback);
- -

Objectes estàndards integrats

- -

JavaScript té alguns objectes inclosos en el seu nucli, per exemple, trobem objectes come Math, Object, Array, i String. L'exemple d'abaix ens mostra com fer servir l'objecte Math per aconseguir números aleatoris usant el seu mètode random().

- -
console.log(Math.random());
-
- -
Nota: Aquest i tots els exemples següents suposen que la funció anomenada {{domxref("console.log()")}} es defineix globalment. De fet, la funció console.log() no és part del llenguatge de JavaScript en si, però molts navegadors ho implementen per tal d'ajudar en la depuració.
- -

Vegeu Referència de JavaScript: Objectes estàndards integrats per una llista d'objectes cor en JavaScript.

- -

Cada objecte en JavaScript és una instància de l'objecte Object i per tant, n'hereda totes les seves propietats i mètodes.

- -

Objectes personalitzats

- -

La classe

- -

JavaScript és un llenguatge basat en prototipus que no conté cap class statement, el qual si que es pot trobar en C++ o Java. Això és confós a vegades per a programadors acostumats a llenguatges amb el class statement. En el seu lloc, JavaScript fa servir funcions com a classes. Definir duna classe és tan fàcil com definir una funció. En l'exemple d'abaix definim una nova classe anomenada Person.

- -
var Person = function () {};
-
- -

L'objecte (instància de classe)

- -

Per crear una nova instància d'un objecte obj fem servir la declaració new obj, assignant el resultat (el qual és de tipus obj) a una variable per accedir-hi més tard. Una forma alternativa de crear una nova instància és fent servir {{jsxref("Object.create()")}}. Aquesta crearà una instància This will create an uninititalized instance.

- -

En l'exemple d'adalt definim una classe anomenada Person. En l'exemple següent creem dues instàncies (person1 i person2).

- -
var person1 = new Person();
-var person2 = new Person();
-
- -
Nota: Siusplau vegeu {{jsxref("Object.create()")}} per un mètode instantacional nou, addiccional new, additional, instantiation mètode.
- -

El constructor

- -

El constructor és cridat en el moment de la instantiation (el moment en que la instància de l'objecte és creat). El constructor és ún mètode de la classe. En JavaScript la funció serveix com el constructor de l'objecte, therefore there is no need to explicitly define a constructor method. Every action declared in the class gets executed at the time of instantiation.

- -

El constructor es fa servir per establir les propietats de l'objecte o per cridar mè call methods to prepare the object for use. Per afegir mètodes de classes i les seves definicions es necessita una sintaxi diferent que s'explicarà més tard en aquest article.

- -

En l'exemple d'abaix, el constructor de la classe Person mostra un missatge quan és crea una instànca Person.

- -
var Person = function () {
-  console.log('instance created');
-};
-
-var person1 = new Person();
-var person2 = new Person();
-
- -

La propietat (atribut de l'objecte)

- -

Les propietats són variables contingudes en la classe; cada instància de l'objecte té aquestes propietats. Les propietats són asssignades en el constructor (funció) de la classe de forma que es creen en cada instància.

- -

Per treballar amb propietats de dins de la classe s'utilitza la paraula clau this, que fa referència a l'objecte actual. Accedir (llegir o escriure) a una propietat fora d'aquesta classe es fa mitjançant la sintaxi: InstanceName.Property; Aquesta és la mateixa sintaxi que es fa servir en C++, Java, i numeroses altres llengües. (Dins la classe, la sintaxi this.Property s'utilitza per obtindre o escriure el valor de les propietats.)

- -

En l'exemple següent definim la propietat firstName property per la classe Person i ho definim com a instanciació.

- -
var Person = function (firstName) {
-  this.firstName = firstName;
-  console.log('Person instantiated');
-};
-
-var person1 = new Person('Alice');
-var person2 = new Person('Bob');
-
-// Show the firstName properties of the objects
-console.log('person1 is ' + person1.firstName); // logs "person1 is Alice"
-console.log('person2 is ' + person2.firstName); // logs "person2 is Bob"
-
- -

Els mètodes

- -

Els mètodes segueixen la mateixa llògica que les propietats; la diferència es que són funcions i estan definides com a funcions. Cridar un mètode és similar a accedir a una propietat, però s'afegeix () al final the nom del mètode, possiblement amb arguments. Per definir un mètode, s'assigna una funció a una propietat amb nom de la propietat de la classe prototype; el nom que s'assigna a la funció és el mateix que el nom que té el mètode en l'objecte.

- -

En l'exemple següent definim i usem el mètode sayHello() per la classe Person.

- -
var Person = function (firstName) {
-  this.firstName = firstName;
-};
-
-Person.prototype.sayHello = function() {
-  console.log("Hello, I'm " + this.firstName);
-};
-
-var person1 = new Person("Alice");
-var person2 = new Person("Bob");
-
-// call the Person sayHello method.
-person1.sayHello(); // logs "Hello, I'm Alice"
-person2.sayHello(); // logs "Hello, I'm Bob"
-
- -

En JavaScript els mètodes són funcions normals dels objectes que són lligats a un objecte com una propietat, El que vol dir que poden ser invocats "fora del context". Vegeu el codi d'exemple següent:

- -
var Person = function (firstName) {
-  this.firstName = firstName;
-};
-
-Person.prototype.sayHello = function() {
-  console.log("Hello, I'm " + this.firstName);
-};
-
-var person1 = new Person("Alice");
-var person2 = new Person("Bob");
-var helloFunction = person1.sayHello;
-
-// logs "Hello, I'm Alice"
-person1.sayHello();
-
-// logs "Hello, I'm Bob"
-person2.sayHello();
-
-// logs "Hello, I'm undefined" (or fails
-// with a TypeError in strict mode)
-helloFunction();
-
-// logs true
-console.log(helloFunction === person1.sayHello);
-
-// logs true
-console.log(helloFunction === Person.prototype.sayHello);
-
-// logs "Hello, I'm Alice"
-helloFunction.call(person1);
- -

Com l'exemple mostra, totes les referències a la funció sayHello — les que existeixen a person1, a Person.prototype, a la variable helloFunction, etc. — fan referència a la mateixa funció. El valor de this durant una crida a la funció depen en com es crida. En el cas comú en que es crida la funció des d'una propietat de l'objecte — person1.sayHello() — this rep el valor de l'objecte d'on prové la propietat (person1), és per això que person1.sayHello() fa servir el nom "Alice" i person2.sayHello() fa servir el nom "Bob". Però si ho cridem d'altres maneres, this rebrà un valor diferent: Cridar-la des d'una variable — helloFunction() — this rep el valor de l'objecte global (window, en navegadors). Al no tenir la propietat firstName aquest objecte (probablement) , acabem amb el resultat "Hello, I'm undefined". (Això és en el mode no estricte; en el mode estricte seria diferent [un error], però per evitar confussions no entrarem aquí en detall.) O podem assignar explícitament el valor de this mitjançant Function#call (o Function#apply), com es mostra al final de l'exemple.

- -
Nota: Vegeu més sobre this a Function#call i Function#apply
- -

L'herència

- -

L'herència és una manera de crear una classe com una versió especialitzada d'una o més classes (JavaScript només suporta l'herència única). La classe especialitzada és communment anomenada el fill, i l'altra classe es comunment anomenada el pare. En JavaScript això s'aconsegueix mitjançant l'assignació d'una instància de la classe pare a la classe fill, i després s'especialitza. En navegadors moderns també es pot usar Object.create per implementar herències.

- -
-

Nota: JavaScript does no detecta la classe fill prototype.constructor (vegeu Object.prototype), així que ho hem de declarar manualment.

-
- -

En l'exemple d'abaix, definim la classe Student com una classe fill de Person. Després redefinim el mètode sayHello() i afegim el mètode sayGoodBye().

- -
// Define the Person constructor
-var Person = function(firstName) {
-  this.firstName = firstName;
-};
-
-// Add a couple of methods to Person.prototype
-Person.prototype.walk = function(){
-  console.log("I am walking!");
-};
-
-Person.prototype.sayHello = function(){
-  console.log("Hello, I'm " + this.firstName);
-};
-
-// Define the Student constructor
-function Student(firstName, subject) {
-  // Call the parent constructor, making sure (using Function#call)
-  // that "this" is set correctly during the call
-  Person.call(this, firstName);
-
-  // Initialize our Student-specific properties
-  this.subject = subject;
-};
-
-// Create a Student.prototype object that inherits from Person.prototype.
-// Note: A common error here is to use "new Person()" to create the
-// Student.prototype. That's incorrect for several reasons, not least
-// that we don't have anything to give Person for the "firstName"
-// argument. The correct place to call Person is above, where we call
-// it from Student.
-Student.prototype = Object.create(Person.prototype); // See note below
-
-// Set the "constructor" property to refer to Student
-Student.prototype.constructor = Student;
-
-// Replace the "sayHello" method
-Student.prototype.sayHello = function(){
-  console.log("Hello, I'm " + this.firstName + ". I'm studying "
-              + this.subject + ".");
-};
-
-// Add a "sayGoodBye" method
-Student.prototype.sayGoodBye = function(){
-  console.log("Goodbye!");
-};
-
-// Example usage:
-var student1 = new Student("Janet", "Applied Physics");
-student1.sayHello();   // "Hello, I'm Janet. I'm studying Applied Physics."
-student1.walk();       // "I am walking!"
-student1.sayGoodBye(); // "Goodbye!"
-
-// Check that instanceof works correctly
-console.log(student1 instanceof Person);  // true
-console.log(student1 instanceof Student); // true
-
- -

Pel que fa a la línia Student.prototype = Object.create(Person.prototype): En els motors de Javascript més antics sense Object.create, es pot utilitzar tant un "polyfill" (també conegut com a  "falca", vegeu l'article enllaçat), o fer servir una funció que aconegueixi assolir el mateix resultat, tal com:

- -
function createObject(proto) {
-    function ctor() { }
-    ctor.prototype = proto;
-    return new ctor();
-}
-
-// Usage:
-Student.prototype = createObject(Person.prototype);
-
- -
Nota: Vegeu Object.create per més informació sobre el que fa, i una falca per a motors més vells.
- -

L'encapsulació

- -

En l'exemple anterior, Student no necessita saber com el mètode Person class's walk() és implementat, però tot i així pot fer-lo servir com a mètode; la classe Studentno necessita definir explícitament aquest mètode a no ser que ho volguem canviar. D'això se'n diu encapsulació, per la qual cada classe empaqueta data i mètodes en una sola unitat.

- -

L'ocultació d'informació és una característica comuna en altres llenguatges sovint com a mètodes/propietats privats i protegits. Tot i que es podria simular alguna cosa com aquesta en JavaScript, no és un requeriment per fer programació orientada a objectes.2

- -

L'abstracció

- -

L'abstracció és un mecanisme que permet modelar la part que ens ocupa del problema en el qual estem treballant. Això es pot aconseguir per mitjar de l'herència (especialització), o composició. JavaScript aconsegueix l'especialització per mitjà de l'herència, i la composició per mitjà de deixar a les instàncies de classes ser valors d'atributs d'altres objectes.

- -

La classe Function de JavaScript hereta de la classe Object (això demostra la especialització del model) i la propietat Function.prototype property és una instància d'Object (Això demostra composició).

- -
var foo = function () {};
-
-// logs "foo is a Function: true"
-console.log('foo is a Function: ' + (foo instanceof Function));
-
-// logs "foo.prototype is an Object: true"
-console.log('foo.prototype is an Object: ' + (foo.prototype instanceof Object));
- -

El polimorfisme

- -

Tal i com tots els mètodes i propietats són definides dins la propietat Prototype, classes diferents poden definir mètodes amb el mateix nom; els mètodes estan en l'àmbit de la classe en la qual estan definits. Això només és cert quan les dues classes no tenen una relació pare-fill (quan un no hereta de l'altre en una cadena d'herència).

- -

Notes

- -

Les tècniques presentades en aquesta article per implementar programació orientada a objectes no són les úniques que es poden fer servir en JavaScript, que és molt flexible en termes de com es pot realitzar la programació orientada a objectes.

- -

De la mateixa manera, les tècniques que s'han mostrat aquí no utilitzen cap hack del llenguatge, ni imiten cap implementació de teories d'objectes d'altres llenguatges.

- -

Hi ha altres tècniques que proporcionen programació orientada a objectes més avançada en JavaScript, però aquests estan fora de l'abast d'aquest article introductori.

- -

Referències

- -
    -
  1. Viquipèdia. "Programació orientada a Objectes"
  2. -
  3. Viquipèdia. "Encapsulació (programació orientada a Objectes)"
  4. -
diff --git a/files/ca/web/javascript/quant_a_javascript/index.html b/files/ca/web/javascript/quant_a_javascript/index.html deleted file mode 100644 index f581aa7021..0000000000 --- a/files/ca/web/javascript/quant_a_javascript/index.html +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Sobre JavaScript -slug: Web/JavaScript/quant_a_JavaScript -translation_of: Web/JavaScript/About_JavaScript ---- -
{{JsSidebar()}}
- -

Què és JavaScript?

- -

JavaScript® és el llenguatge de tipus scripting orientat a objectes desenvolupat per Netscape, utilitzat en millions de pàgines web i aplicacions de servidor arreu del món. El JavaScript de Netscape extén el llenguatge de scripting standard definit a l'ECMA-262 Edició 3 (ECMAScript), amb només lleus diferències de l'standard publicat.

- -

Al contrari del que popular ment es creu de forma errònia, JavaScript no és "Java interpretat". En resum, JavaScript és un llegunatge d'scripting dinàmic que suporta contrucció d'objectes basada en prototipus. La sintaxi bàsica és similar a Java i C++ de forma intencionada per a reduir el nombre de conceptes nous requerits per a aprendre el llenguatge. Construccions del llenguatge, com ara sentències if, bucles for i while, blocs switch i try ... catch funcionen de la mateixa forma que en aquests llenguatges (o bé d'una forma molt semblant).

- -

JavaScript pot funcionar com un llenguatge tant procedural com orientat a objectes. Els objectes es creen de forma programàtica en JavaScript tot afegint-hi mètodes i propietats a objectes en temps d'execució que d'altra forma serien buits, contràriament a les definicions sintàctiques  de classes tan comunes a llenguatges compilats com C++ i Java. Un cop construit un objecte aquest pot ser utilitzat com a motlle (o prototipus) per a crear objectes similars.

- -

Les capacitats dinàmiques de JavaScript inclouen construcció d'objectes en temps d'execució, llistats de paràmetres variables, funcions com a variables, creació dinàmica de scripts (via eval), introspecció d'objectes (via for ... in) i recuperació del codi font (els programes escrits en JavaScript poden decompilar els cosos de funcions a la seva forma original de codi font).

- -

Els objectes intrínsecs són Number, String, Boolean, Date, RegExp, i Math.

- -

Per a una discussió més profunda de la programació en JavaScript seguiu els enllaços de recursos de JavaScript que trobareu a sota.

- -

Quines implementacions de JavaScript hi ha disponibles?

- -

mozilla.org alberga dues implementacions de JavaScript. La primera implementació de JavaScript de tots els temps va ser creada per Brendan Eich a Netscape, i des de llavors ha sigut actualitzada per a compliar amb la ECMA-262 Edició 5 i versions posteriors. Aquest motor, anomenat SpiderMonkey, està implementat en C. El motor Rhino, creat principalment per Norris Boyd (també a Netscape) és una implementació JavaScript en Java. Com el SpiderMonkey, Rhino compleix amb ECMA-262 Edició 3.

- -

Al llarg del temps s'han anat afegint diverses optimitzacions al motor de JavaScript SpiderMonkey, com ara TraceMonkey (Firefox 3.5), JägerMonkey (Firefox 4) i IonMonkey.

- -

A més de les implementacions anomenades a dalt, existeixen altres motors JavaScript, com ara:

- -
    -
  • El V8 de Google, utilitzat al navegador Google Chrome i a les versions més recents del navegador Opera.
  • -
  • El JavaScriptCore (SquirrelFish/Nitro), utilitzat a alguns navegadors basats en WebKit, com ara l'Apple Safari.
  • -
  • El Carakan, utilitzats en versions antigues d'Opera.
  • -
  • El Chakra, utilitzat en Internet Explorer (tot i que el llenguatge que implementa és anomenat formalment "JScript" per a evitar problemes amb marques registrades).
  • -
- -

Tots els motors de JavaScript de mozilla.org exposen una API pública que les aplicacions poden emprar per a saber sobre el suport de JavaScript. L'entorn més comú per a JavaScript són els navegadors web, amb diferència. Els navegadors web usualment utilitzen una API pública per a crear 'objectes host' responsables d'exposar el DOM dins de JavaScript.

- -

Una altra aplicació comuna de JavaScript és com a llenguatge d'escripting al cantó del servidor (web). Un servidor web de JavaScript exposaria els objectes host que representen peticions HTTP i objectes resposta, que podrien llavors ser manipulats per un programa JavaScript per a generar pàgines web de forma dinàmica.

- -

Recursos de JavaScript

- -
-
SpiderMonkey
-
Informació específica per a incrustar el motor JavaScript escrit en C (també conegut com a SpiderMonkey).
-
- -
-
Rhino
-
Informació específica sobre la implementació de JavaScript escrita en Java (també coneguda com a Rhino).
-
Recursos del llenguatge
-
Recull dels standards de JavaScript publicats.
-
Una re-introducció a JavaScript
-
Guia de JavaScript i referència de JavaScript.
-
diff --git a/files/ca/web/javascript/reference/about/index.html b/files/ca/web/javascript/reference/about/index.html new file mode 100644 index 0000000000..b1fa0734b3 --- /dev/null +++ b/files/ca/web/javascript/reference/about/index.html @@ -0,0 +1,44 @@ +--- +title: Sobre aquesta referència +slug: Web/JavaScript/Referencia/Sobre +translation_of: Web/JavaScript/Reference/About +--- +

{{JsSidebar}}

+ +

La referència de JavaScript serveix com a repositori de coneixement del llenguatge. Hom trobarà aquí el llenguatge descrit en detall. Durant el transcurs d'escriure codi en JavaScript, aquestes pàgines seran de gran ajut com a referència (d'aquí el títol). Si el que es pretén és aprendre JavaScript, o el que es necessita ajuda a l'hora d'entendre algunes de les seves capacitats o característiques, trobarà la informació que buaca a la guia de JavaScript.

+ +

El llenguatge de programació JavaScript està pensat per a ser utilitzat sota un entorn més gran, ja sigui un navegador web, scripts de servidor o quelcom similar. Aquesta referència intenta majoriariament ser agnòstica quant a l'entorn i no per tant no està adreçada únicament a un entorn donat pel navegador web.

+ +

On trobar informació sobre JavaScript

+ +

La documentació de les característiques bàsiques de Javascript (ECMAScript pur, majoritàriament) inclou el següent:

+ + + +

Si s'és nou quant a JavaScript, es recomana començar per la guia. Un cop assolits els fonaments, la referència esdevindrà útil per obtindre més detalls sobre objectes individuals i construccions del llenguatge.

+ +

Estructura de la referència

+ +

La referència de JavaScript es composa dels següents capítols:

+ +
+
Objectes bàsics estandard
+
Aquest capítol documenta tots els objectes standard proporcionats per JavaScript, així com els seus mètodes i propietats.
+
Sentències i declaracions
+
Una aplicació en JavaScript consisteix en un conjunt de sentències amb una sintaxi adequada. Una sola sentència pot ocupar més d'una línia. Tanmateix múltimples sentències poden aparèixer en una única línia si estan separades per un punt i coma (;).
+
Funcions
+
Capítol dedicat a les funcions en JavaScript.
+
Històric de versions
+
Aquest capítol mostra les diferències entre les diferents versions de JavaScript.
+
+ +

Més pàgines de referència

+ + diff --git a/files/ca/web/javascript/reference/classes/constructor/index.html b/files/ca/web/javascript/reference/classes/constructor/index.html new file mode 100644 index 0000000000..a0bd6b966f --- /dev/null +++ b/files/ca/web/javascript/reference/classes/constructor/index.html @@ -0,0 +1,129 @@ +--- +title: constructor +slug: Web/JavaScript/Referencia/Classes/constructor +translation_of: Web/JavaScript/Reference/Classes/constructor +--- +
{{jsSidebar("Classes")}}
+ +

Resum

+ +

El mètode constructor és un mètode especial per crear i inicialitzar un objecte creat amb una class.

+ +

Sintaxi

+ +
constructor([arguments]) { ... }
+ +

Descripció

+ +

Només hi pot haver un mètode especial am el nom "constructor" en una classe. Es llançarà un {{jsxref("SyntaxError")}}, si la classe conté més d'un cas d'un mètode constructor.

+ +

Un constructor pot utilitzar la paraula clau super per cridar el constructor de la classe pare.

+ +

Exemples

+ +

Aquest fragment de codi es pren de mostra de classes (demostració en viu).

+ +
class Square extends Polygon {
+  constructor(length) {
+    // Aquí es crida el constructor del pare de la classe amb les longituts
+    // proveïdes per l'amplada i l'alçada del polígon
+    super(length, length);
+    // Nota: En classes derivades, s'ha de cridar super() abans
+    // d'utilitzar 'this'. Obviar això causarà un error de referència.
+    this.name = 'Square';
+  }
+
+  get area() {
+    return this.height * this.width;
+  }
+
+  set area(value) {
+    this.area = value;
+  }
+}
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-static-semantics-constructormethod', 'Constructor Method')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(42.0)}} +

Disponible només al canal Nightly  (desde febrer del 2015)

+
{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatChrome(42.0)}}Disponible només al canal Nightly  (desde febrer del 2015){{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Notes específiques per Firefox

+ +
    +
  • Els constructors estàndards encara no s'han implementat ({{bug(1105463)}})
  • +
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/classes/index.html b/files/ca/web/javascript/reference/classes/index.html new file mode 100644 index 0000000000..23daf7e1ff --- /dev/null +++ b/files/ca/web/javascript/reference/classes/index.html @@ -0,0 +1,382 @@ +--- +title: Classes +slug: Web/JavaScript/Referencia/Classes +tags: + - Classes + - ECMAScript 2015 + - Experimental + - Expérimental(2) + - JavaScript + - NeedsContent + - NeedsTranslation + - Reference + - Référence(2) + - TopicStub +translation_of: Web/JavaScript/Reference/Classes +--- +
{{JsSidebar("Classes")}}
+ +

JavaScript classes, introduced in ECMAScript 2015, are primarily syntactical sugar over JavaScript's existing prototype-based inheritance. The class syntax does not introduce a new object-oriented inheritance model to JavaScript.

+ +

Defining classes

+ +

Classes are in fact "special functions", and just as you can define function expressions and function declarations, the class syntax has two components: class expressions and class declarations.

+ +

Class declarations

+ +

One way to define a class is using a class declaration. To declare a class, you use the class keyword with the name of the class ("Rectangle" here).

+ +
class Rectangle {
+  constructor(height, width) {
+    this.height = height;
+    this.width = width;
+  }
+}
+ +

Hoisting

+ +

An important difference between function declarations and class declarations is that function declarations are {{Glossary("Hoisting", "hoisted")}} and class declarations are not. You first need to declare your class and then access it, otherwise code like the following will throw a {{jsxref("ReferenceError")}}:

+ +
var p = new Rectangle(); // ReferenceError
+
+class Rectangle {}
+
+ +

Class expressions

+ +

A class expression is another way to define a class. Class expressions can be named or unnamed. The name given to a named class expression is local to the class's body. (it can be retrieved through the class's (not an instance's) .name property, though)

+ +
// unnamed
+var Rectangle = class {
+  constructor(height, width) {
+    this.height = height;
+    this.width = width;
+  }
+};
+console.log(Rectangle.name);
+// output: "Rectangle"
+
+// named
+var Rectangle = class Rectangle2 {
+  constructor(height, width) {
+    this.height = height;
+    this.width = width;
+  }
+};
+console.log(Rectangle.name);
+// output: "Rectangle2"
+
+ +

Note: Class expressions also suffer from the same hoisting issues mentioned for Class declarations.

+ +

Class body and method definitions

+ +

The body of a class is the part that is in curly brackets {}. This is where you define class members, such as methods or constructor.

+ +

Strict mode

+ +

The bodies of class declarations and class expressions are executed in strict mode i.e. constructor, static and prototype methods, getter and setter functions are executed in strict mode.

+ +

Constructor

+ +

The constructor method is a special method for creating and initializing an object created with a class. There can only be one special method with the name "constructor" in a class. A {{jsxref("SyntaxError")}} will be thrown if the class contains more than one occurrence of a constructor method.

+ +

A constructor can use the super keyword to call the constructor of the super class.

+ +

Prototype methods

+ +

See also method definitions.

+ +
class Rectangle {
+  constructor(height, width) {
+    this.height = height;
+    this.width = width;
+  }
+  // Getter
+  get area() {
+    return this.calcArea();
+  }
+  // Method
+  calcArea() {
+    return this.height * this.width;
+  }
+}
+
+const square = new Rectangle(10, 10);
+
+console.log(square.area); // 100
+ +

Static methods

+ +

The static keyword defines a static method for a class. Static methods are called without instantiating their class and cannot be called through a class instance. Static methods are often used to create utility functions for an application.

+ +
class Point {
+  constructor(x, y) {
+    this.x = x;
+    this.y = y;
+  }
+
+  static distance(a, b) {
+    const dx = a.x - b.x;
+    const dy = a.y - b.y;
+
+    return Math.hypot(dx, dy);
+  }
+}
+
+const p1 = new Point(5, 5);
+const p2 = new Point(10, 10);
+
+console.log(Point.distance(p1, p2)); // 7.0710678118654755
+ +

Boxing with prototype and static methods

+ +

When a static or prototype method is called without a value for this, the this value will be undefined inside the method. This behavior will be the same even if the "use strict" directive isn't present, because code within the class syntax is always executed in strict mode.

+ +
class Animal {
+  speak() {
+    return this;
+  }
+  static eat() {
+    return this;
+  }
+}
+
+let obj = new Animal();
+obj.speak(); // Animal {}
+let speak = obj.speak;
+speak(); // undefined
+
+Animal.eat() // class Animal
+let eat = Animal.eat;
+eat(); // undefined
+ +

If the above is written using traditional function–based syntax, then autoboxing in method calls will happen in non–strict mode based on the initial this value. If the inital value is undefined, this will be set to the global object.

+ +

Autoboxing will not happen in strict mode, the this value remains as passed.

+ +
function Animal() { }
+
+Animal.prototype.speak = function() {
+  return this;
+}
+
+Animal.eat = function() {
+  return this;
+}
+
+let obj = new Animal();
+let speak = obj.speak;
+speak(); // global object
+
+let eat = Animal.eat;
+eat(); // global object
+
+ +

Instance properties

+ +

Instance properties must be defined inside of class methods:

+ +
class Rectangle {
+  constructor(height, width) {
+    this.height = height;
+    this.width = width;
+  }
+}
+ +

Static class-side properties and prototype data properties must be defined outside of the ClassBody declaration:

+ +
Rectangle.staticWidth = 20;
+Rectangle.prototype.prototypeWidth = 25;
+
+ +

+ +

Sub classing with extends

+ +

The extends keyword is used in class declarations or class expressions to create a class as a child of another class.

+ +
class Animal {
+  constructor(name) {
+    this.name = name;
+  }
+
+  speak() {
+    console.log(this.name + ' makes a noise.');
+  }
+}
+
+class Dog extends Animal {
+  speak() {
+    console.log(this.name + ' barks.');
+  }
+}
+
+var d = new Dog('Mitzie');
+d.speak(); // Mitzie barks.
+
+ +

If there is a constructor present in subclass, it needs to first call super() before using "this".

+ +

One may also extend traditional function-based "classes":

+ +
function Animal (name) {
+  this.name = name;
+}
+
+Animal.prototype.speak = function () {
+  console.log(this.name + ' makes a noise.');
+}
+
+class Dog extends Animal {
+  speak() {
+    console.log(this.name + ' barks.');
+  }
+}
+
+var d = new Dog('Mitzie');
+d.speak(); // Mitzie barks.
+
+ +

Note that classes cannot extend regular (non-constructible) objects. If you want to inherit from a regular object, you can instead use {{jsxref("Object.setPrototypeOf()")}}:

+ +
var Animal = {
+  speak() {
+    console.log(this.name + ' makes a noise.');
+  }
+};
+
+class Dog {
+  constructor(name) {
+    this.name = name;
+  }
+}
+
+// If you do not do this you will get a TypeError when you invoke speak
+Object.setPrototypeOf(Dog.prototype, Animal);
+
+var d = new Dog('Mitzie');
+d.speak(); // Mitzie makes a noise.
+
+ +

Species

+ +

You might want to return {{jsxref("Array")}} objects in your derived array class MyArray. The species pattern lets you override default constructors.

+ +

For example, when using methods such as {{jsxref("Array.map", "map()")}} that returns the default constructor, you want these methods to return a parent Array object, instead of the MyArray object. The {{jsxref("Symbol.species")}} symbol lets you do this:

+ +
class MyArray extends Array {
+  // Overwrite species to the parent Array constructor
+  static get [Symbol.species]() { return Array; }
+}
+
+var a = new MyArray(1,2,3);
+var mapped = a.map(x => x * x);
+
+console.log(mapped instanceof MyArray); // false
+console.log(mapped instanceof Array);   // true
+
+ +

Super class calls with super

+ +

The super keyword is used to call corresponding methods of super class.

+ +
class Cat {
+  constructor(name) {
+    this.name = name;
+  }
+
+  speak() {
+    console.log(this.name + ' makes a noise.');
+  }
+}
+
+class Lion extends Cat {
+  speak() {
+    super.speak();
+    console.log(this.name + ' roars.');
+  }
+}
+
+var l = new Lion('Fuzzy');
+l.speak();
+// Fuzzy makes a noise.
+// Fuzzy roars.
+
+
+ +

Mix-ins

+ +

Abstract subclasses or mix-ins are templates for classes. An ECMAScript class can only have a single superclass, so multiple inheritance from tooling classes, for example, is not possible. The functionality must be provided by the superclass.

+ +

A function with a superclass as input and a subclass extending that superclass as output can be used to implement mix-ins in ECMAScript:

+ +
var calculatorMixin = Base => class extends Base {
+  calc() { }
+};
+
+var randomizerMixin = Base => class extends Base {
+  randomize() { }
+};
+
+ +

A class that uses these mix-ins can then be written like this:

+ +
class Foo { }
+class Bar extends calculatorMixin(randomizerMixin(Foo)) { }
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES2015', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ES2016', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2016')}}
{{SpecName('ES2017', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2017')}}
{{SpecName('ESDraft', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ESDraft')}}
+ +

Browser compatibility

+ + + +

{{Compat("javascript.classes")}}

+ +

Running in Scratchpad

+ +

A class can't be redefined. If you're playing with code in Scratchpad (Firefox menu Tools > Web Developer > Scratchpad) and you 'Run' a definition of a class with the same name twice, you'll get a confusing SyntaxError: redeclaration of let <class-name>.

+ +

To re-run a definition, use Scratchpad's menu Execute > Reload and Run.
+ Please vote for bug #1428672.

+ +

See also

+ + diff --git a/files/ca/web/javascript/reference/classes/static/index.html b/files/ca/web/javascript/reference/classes/static/index.html new file mode 100644 index 0000000000..3255dc1552 --- /dev/null +++ b/files/ca/web/javascript/reference/classes/static/index.html @@ -0,0 +1,116 @@ +--- +title: static +slug: Web/JavaScript/Referencia/Classes/static +translation_of: Web/JavaScript/Reference/Classes/static +--- +
{{jsSidebar("Classes")}}
+ +

La paraula clau static defineix un mètode estàtic per a una classe.

+ +

Sintaxi

+ +
static methodName() { ... }
+ +

Descripció

+ +

Els mètodes estàtics es criden sense realitzar una instantània de la seva classe o instantiating their class nor are they callable when the class is instantiated. Els mètodes estàtics s'utilitzen sovint per crear funcions d'utilitat per una aplicació.

+ +

Exemples

+ +

L'exemple següent mostra diverses coses. Mostra com un mètode estàtic és implementat en una classe i que una classe amb un membre estàtic pot tenir subclasses. Finalment, mostra com es pot i com no es pot cridar un mètode estàtic.

+ +
class Tripple {
+  static tripple(n) {
+    n = n | 1;
+    return n * 3;
+  }
+}
+
+class BiggerTripple extends Tripple {
+  static tripple(n) {
+    return super.tripple(n) * super.tripple(n);
+  }
+}
+
+console.log(Tripple.tripple());
+console.log(Tripple.tripple(6));
+console.log(BiggerTripple.tripple(3));
+var tp = new Tripple();
+console.log(tp.tripple()); //Logs 'tp.tripple is not a function'.
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(42.0)}}Disponible només en el canal Nightly  (desde febrer del 2015){{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatChrome(42.0)}}Disponible només en el canal Nightly  (desde febrer del 2015){{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/errors/nomes-lectura/index.html b/files/ca/web/javascript/reference/errors/nomes-lectura/index.html deleted file mode 100644 index 30c70c40dd..0000000000 --- a/files/ca/web/javascript/reference/errors/nomes-lectura/index.html +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: 'TipusError: "x" es només de lectura' -slug: Web/JavaScript/Reference/Errors/Nomes-Lectura -tags: - - Errors - - JavaScript - - TypeError -translation_of: Web/JavaScript/Reference/Errors/Read-only ---- -
{{jsSidebar("Errors")}}
- -

Missatge

- -
TipusError: "x" es només de lectura (Firefox)
-TipusError: 0 es només de lectura (Firefox)
-TipusError: No es pot fer l'assignació a la propietat 'x' de #<Object> que es només de lectura (Chrome)
-TipusError: No es pot fer l'assignació a la propietat '0' de [object Array] (Chrome)
-
- -

Tipus d'error

- -

{{jsxref("TypeError")}}

- -

Qué ha anat malament?

- -

La variable global o propietat de l'objecte a la qual s'ha volgut fer l'assignació es només de lectura. (Tècnicament, es una propietat de no-escriptura.)

- -

Aquest error succeeix només en codi en mode estricte. En codi en mode no estricte, l'assignació es ignorada de manera silenciosa.

- -

Exemples

- -

Casos invàlids

- -

Propietats de només lectura no son súper comuns, però es poden donar quan es fa servir {{jsxref("Object.defineProperty()")}} o {{jsxref("Object.freeze()")}}.

- -
'use strict';
-var obj = Object.freeze({name: 'Elsa', score: 157});
-obj.score = 0;  // TypeError
-
-'use strict';
-Object.defineProperty(this, 'LUNG_COUNT', {value: 2, writable: false});
-LUNG_COUNT = 3;  // TypeError
-
-'use strict';
-var frozenArray = Object.freeze([0, 1, 2]);
-frozenArray[0]++;  // TypeError
-
- -

També hi ha unes poques propietats de només lectura en la construcció de JavaScript. Potser que hagis provat de redefinir una constant matemàtica.

- -
'use strict';
-Math.PI = 4;  // TypeError
- -

Ho sentim, no pots fer això.

- -

La variable global undefined també es només de lectura, llavors no pots silenciar l'infame error "undefined no es una funció" fent això:

- -
'use strict';
-undefined = function() {};  // TypeError: "undefined" es només de lectura
-
- -

Valid cases

- -
'use strict';
-var obj = Object.freeze({name: 'Score', points: 157});
-obj = {name: obj.name, points: 0};   // reemplaçant-ho amb un nou objecte funciona
-
-'use strict';
-var LUNG_COUNT = 2;  // Una `var` funciona, perque no es de només lectura
-LUNG_COUNT = 3;  // ok (anatòmicament potser, però poc probable)
-
- -

See also

- -
    -
  • {{jsxref("Object.defineProperty()")}}
  • -
  • {{jsxref("Object.freeze()")}}
  • -
diff --git a/files/ca/web/javascript/reference/errors/read-only/index.html b/files/ca/web/javascript/reference/errors/read-only/index.html new file mode 100644 index 0000000000..30c70c40dd --- /dev/null +++ b/files/ca/web/javascript/reference/errors/read-only/index.html @@ -0,0 +1,78 @@ +--- +title: 'TipusError: "x" es només de lectura' +slug: Web/JavaScript/Reference/Errors/Nomes-Lectura +tags: + - Errors + - JavaScript + - TypeError +translation_of: Web/JavaScript/Reference/Errors/Read-only +--- +
{{jsSidebar("Errors")}}
+ +

Missatge

+ +
TipusError: "x" es només de lectura (Firefox)
+TipusError: 0 es només de lectura (Firefox)
+TipusError: No es pot fer l'assignació a la propietat 'x' de #<Object> que es només de lectura (Chrome)
+TipusError: No es pot fer l'assignació a la propietat '0' de [object Array] (Chrome)
+
+ +

Tipus d'error

+ +

{{jsxref("TypeError")}}

+ +

Qué ha anat malament?

+ +

La variable global o propietat de l'objecte a la qual s'ha volgut fer l'assignació es només de lectura. (Tècnicament, es una propietat de no-escriptura.)

+ +

Aquest error succeeix només en codi en mode estricte. En codi en mode no estricte, l'assignació es ignorada de manera silenciosa.

+ +

Exemples

+ +

Casos invàlids

+ +

Propietats de només lectura no son súper comuns, però es poden donar quan es fa servir {{jsxref("Object.defineProperty()")}} o {{jsxref("Object.freeze()")}}.

+ +
'use strict';
+var obj = Object.freeze({name: 'Elsa', score: 157});
+obj.score = 0;  // TypeError
+
+'use strict';
+Object.defineProperty(this, 'LUNG_COUNT', {value: 2, writable: false});
+LUNG_COUNT = 3;  // TypeError
+
+'use strict';
+var frozenArray = Object.freeze([0, 1, 2]);
+frozenArray[0]++;  // TypeError
+
+ +

També hi ha unes poques propietats de només lectura en la construcció de JavaScript. Potser que hagis provat de redefinir una constant matemàtica.

+ +
'use strict';
+Math.PI = 4;  // TypeError
+ +

Ho sentim, no pots fer això.

+ +

La variable global undefined també es només de lectura, llavors no pots silenciar l'infame error "undefined no es una funció" fent això:

+ +
'use strict';
+undefined = function() {};  // TypeError: "undefined" es només de lectura
+
+ +

Valid cases

+ +
'use strict';
+var obj = Object.freeze({name: 'Score', points: 157});
+obj = {name: obj.name, points: 0};   // reemplaçant-ho amb un nou objecte funciona
+
+'use strict';
+var LUNG_COUNT = 2;  // Una `var` funciona, perque no es de només lectura
+LUNG_COUNT = 3;  // ok (anatòmicament potser, però poc probable)
+
+ +

See also

+ +
    +
  • {{jsxref("Object.defineProperty()")}}
  • +
  • {{jsxref("Object.freeze()")}}
  • +
diff --git a/files/ca/web/javascript/reference/functions/parameters_rest/index.html b/files/ca/web/javascript/reference/functions/parameters_rest/index.html deleted file mode 100644 index 68fc5f0bba..0000000000 --- a/files/ca/web/javascript/reference/functions/parameters_rest/index.html +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: Paràmetres rest -slug: Web/JavaScript/Reference/Functions/parameters_rest -translation_of: Web/JavaScript/Reference/Functions/rest_parameters ---- -
{{jsSidebar("Functions")}}
- -

El paràmetre rest ens permet  representar un nombre indefinit d'arguments en forma d 'array.

- -

Syntax

- -
function f(a, b, ...theArgs) {
-  // ...
-}
-
- -

Descripció

- -

Si l'últim argument d'una funció, està prefixat amb l'operador ..., aquest esdevé un array el qual té com a elements des de 0 (inclòs) fins a theArgs.length (no inclòs) els arguments passats a la funció.

- -

A l'exemple de sobre, theArgs aglutina el tercer argument de la funció, ja que el primer està mapejat a a  i el segon està mapejat a b , i tota la resta d'arguments consecutius. 

- -

Diferència entre els paràmetres rest i l'objecte arguments

- -

Existeixen tres diferències principals entre els  paràmetres rest i l'objecte arguments

- -
    -
  • Els paràmetres rest són aquells als que no s' ha donat un nom per separat, mentre que l' objecte arguments conté tots els paràmetres passats a la funció
  • -
  • L' objecte arguments no és un array real, mentre que els paràmetres rest són instàncies d' Array , el qual significa que els hi podem aplicar directamaent els mètodes sort, map, forEachpop.
  • -
  • L' objecte arguments té funcionalitat específica a sí mateix (com la propietat calle).
  • -
- -

Des d' arguments fins a un array

- -

El paràmetre rest ha estat introduit per tal de reduir la quantitat de codi utilitzat que es introduit per els arguments

- -
// Anteriorment a l' existència del paràmetre rest el s' utilitzava seguent codi
-function f(a, b) {
-  var args = Array.prototype.slice.call(arguments, f.length);
-
-  // …
-}
-
-// equivalent a
-
-function f(a, b, ...args) {
-
-}
-
- -

Desestructurant paràmetres rest

- -

Els paràmetres rest es poden desestructurar, que vol dir que els valors que contenen es poden desenpaquetar en variables diferents i separades. Vegeu Destructuring assignment.

- -
function f(...[a, b, c]) {
-  return a + b + c;
-}
-
-f(1)          // NaN (bi c són undefined)
-f(1, 2, 3)    // 6
-f(1, 2, 3, 4) // 6 (el quart paràmetre no està desetructurat)
- -

Exemples

- -

Com que theArgs és un array, la propietat length en retorna el recompte:

- -
function fun1(...theArgs) {
-  console.log(theArgs.length);
-}
-
-fun1();  // 0
-fun1(5); // 1
-fun1(5, 6, 7); // 3
-
- -

En el seguent exemple el paràmetre rest s' utilitza per aglutinar tots els paràmetres passats a la funcció després del primer en un array. Després cadascun d' ells és multiplicat per el primer paràmetre passat a la funció i es retorna l' array.

- -
function multiply(multiplier, ...theArgs) {
-  return theArgs.map(function(element) {
-    return multiplier * element;
-  });
-}
-
-var arr = multiply(2, 1, 2, 3);
-console.log(arr); // [2, 4, 6]
-
- -

El seguent exemple mostra com els mètodes d' Array es poden utilitzar am paràmetres rest, però no amb l' objecte arguments :

- -
function sortRestArgs(...theArgs) {
-  var sortedArgs = theArgs.sort();
-  return sortedArgs;
-}
-
-console.log(sortRestArgs(5, 3, 7, 1)); // mostra 1, 3, 5, 7
-
-function sortArguments() {
-  var sortedArgs = arguments.sort();
-  return sortedArgs; // aquesta línia mai s' executarà
-}
-
-// genera el TypeError: arguments.sort no és una funció
-console.log(sortArguments(5, 3, 7, 1));
-
- -

Per tal de poder usar els mètodes d' Array amb l' objecte arguments , aquest s' ha de convertir primer en un array.

- -
function sortArguments() {
-  var args = Array.prototype.slice.call(arguments);
-  var sortedArgs = args.sort();
-  return sortedArgs;
-}
-console.log(sortArguments(5, 3, 7, 1)); // shows 1, 3, 5, 7
-
- -

Specifications

- - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('ES6', '#sec-function-definitions', 'Function Definitions')}}{{Spec2('ES6')}}Initial definition
{{SpecName('ESDraft', '#sec-function-definitions', 'Function Definitions')}}{{Spec2('ESDraft')}} 
- -

Browser compatibility

- -
- - -

{{Compat("javascript.functions.rest_parameters")}}

-
- -

See also

- - diff --git a/files/ca/web/javascript/reference/functions/rest_parameters/index.html b/files/ca/web/javascript/reference/functions/rest_parameters/index.html new file mode 100644 index 0000000000..68fc5f0bba --- /dev/null +++ b/files/ca/web/javascript/reference/functions/rest_parameters/index.html @@ -0,0 +1,156 @@ +--- +title: Paràmetres rest +slug: Web/JavaScript/Reference/Functions/parameters_rest +translation_of: Web/JavaScript/Reference/Functions/rest_parameters +--- +
{{jsSidebar("Functions")}}
+ +

El paràmetre rest ens permet  representar un nombre indefinit d'arguments en forma d 'array.

+ +

Syntax

+ +
function f(a, b, ...theArgs) {
+  // ...
+}
+
+ +

Descripció

+ +

Si l'últim argument d'una funció, està prefixat amb l'operador ..., aquest esdevé un array el qual té com a elements des de 0 (inclòs) fins a theArgs.length (no inclòs) els arguments passats a la funció.

+ +

A l'exemple de sobre, theArgs aglutina el tercer argument de la funció, ja que el primer està mapejat a a  i el segon està mapejat a b , i tota la resta d'arguments consecutius. 

+ +

Diferència entre els paràmetres rest i l'objecte arguments

+ +

Existeixen tres diferències principals entre els  paràmetres rest i l'objecte arguments

+ +
    +
  • Els paràmetres rest són aquells als que no s' ha donat un nom per separat, mentre que l' objecte arguments conté tots els paràmetres passats a la funció
  • +
  • L' objecte arguments no és un array real, mentre que els paràmetres rest són instàncies d' Array , el qual significa que els hi podem aplicar directamaent els mètodes sort, map, forEachpop.
  • +
  • L' objecte arguments té funcionalitat específica a sí mateix (com la propietat calle).
  • +
+ +

Des d' arguments fins a un array

+ +

El paràmetre rest ha estat introduit per tal de reduir la quantitat de codi utilitzat que es introduit per els arguments

+ +
// Anteriorment a l' existència del paràmetre rest el s' utilitzava seguent codi
+function f(a, b) {
+  var args = Array.prototype.slice.call(arguments, f.length);
+
+  // …
+}
+
+// equivalent a
+
+function f(a, b, ...args) {
+
+}
+
+ +

Desestructurant paràmetres rest

+ +

Els paràmetres rest es poden desestructurar, que vol dir que els valors que contenen es poden desenpaquetar en variables diferents i separades. Vegeu Destructuring assignment.

+ +
function f(...[a, b, c]) {
+  return a + b + c;
+}
+
+f(1)          // NaN (bi c són undefined)
+f(1, 2, 3)    // 6
+f(1, 2, 3, 4) // 6 (el quart paràmetre no està desetructurat)
+ +

Exemples

+ +

Com que theArgs és un array, la propietat length en retorna el recompte:

+ +
function fun1(...theArgs) {
+  console.log(theArgs.length);
+}
+
+fun1();  // 0
+fun1(5); // 1
+fun1(5, 6, 7); // 3
+
+ +

En el seguent exemple el paràmetre rest s' utilitza per aglutinar tots els paràmetres passats a la funcció després del primer en un array. Després cadascun d' ells és multiplicat per el primer paràmetre passat a la funció i es retorna l' array.

+ +
function multiply(multiplier, ...theArgs) {
+  return theArgs.map(function(element) {
+    return multiplier * element;
+  });
+}
+
+var arr = multiply(2, 1, 2, 3);
+console.log(arr); // [2, 4, 6]
+
+ +

El seguent exemple mostra com els mètodes d' Array es poden utilitzar am paràmetres rest, però no amb l' objecte arguments :

+ +
function sortRestArgs(...theArgs) {
+  var sortedArgs = theArgs.sort();
+  return sortedArgs;
+}
+
+console.log(sortRestArgs(5, 3, 7, 1)); // mostra 1, 3, 5, 7
+
+function sortArguments() {
+  var sortedArgs = arguments.sort();
+  return sortedArgs; // aquesta línia mai s' executarà
+}
+
+// genera el TypeError: arguments.sort no és una funció
+console.log(sortArguments(5, 3, 7, 1));
+
+ +

Per tal de poder usar els mètodes d' Array amb l' objecte arguments , aquest s' ha de convertir primer en un array.

+ +
function sortArguments() {
+  var args = Array.prototype.slice.call(arguments);
+  var sortedArgs = args.sort();
+  return sortedArgs;
+}
+console.log(sortArguments(5, 3, 7, 1)); // shows 1, 3, 5, 7
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES6', '#sec-function-definitions', 'Function Definitions')}}{{Spec2('ES6')}}Initial definition
{{SpecName('ESDraft', '#sec-function-definitions', 'Function Definitions')}}{{Spec2('ESDraft')}} 
+ +

Browser compatibility

+ +
+ + +

{{Compat("javascript.functions.rest_parameters")}}

+
+ +

See also

+ + diff --git a/files/ca/web/javascript/reference/global_objects/array/entries/index.html b/files/ca/web/javascript/reference/global_objects/array/entries/index.html new file mode 100644 index 0000000000..8b67c06038 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/entries/index.html @@ -0,0 +1,105 @@ +--- +title: Array.prototype.entries() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/entries +translation_of: Web/JavaScript/Reference/Global_Objects/Array/entries +--- +
{{JSRef}}
+ +

El mètode entries() retorna un nou objecte Array Iterator que conté els parells clau/valor per a cada posició de l'array.

+ +

Sintaxi

+ +
arr.entries()
+ +

Exemples

+ +
var arr = ['a', 'b', 'c'];
+var eArr = arr.entries();
+
+console.log(eArr.next().value); // [0, 'a']
+console.log(eArr.next().value); // [1, 'b']
+console.log(eArr.next().value); // [2, 'c']
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.entries', 'Array.prototype.entries')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.entries', 'Array.prototype.entries')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("28")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("28")}}{{CompatNo}}{{CompatNo}}8.0
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.keys()")}}
  • +
  • {{jsxref("Array.prototype.forEach()")}}
  • +
  • {{jsxref("Array.prototype.every()")}}
  • +
  • {{jsxref("Array.prototype.some()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/every/index.html b/files/ca/web/javascript/reference/global_objects/array/every/index.html new file mode 100644 index 0000000000..ad707b4990 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/every/index.html @@ -0,0 +1,220 @@ +--- +title: Array.prototype.every() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/every +translation_of: Web/JavaScript/Reference/Global_Objects/Array/every +--- +
{{JSRef}}
+ +

El mètode every() comprova si tots els elements d'un array passen el test implementat per la funció proporcionada.

+ +

Sintaxi

+ +
arr.every(callback[, thisArg])
+ +

Paràmetres

+ +
+
callback
+
Funció utilitzada com a test per a cada element, rep tres arguments: +
+
valorActual
+
L'element de l'array que està sent avaluat.
+
posició
+
La posició que l'element passat al primer paràmetre ocupa dins l'array.
+
array
+
L'array des del que s'ha cridat el mètode every().
+
+
+
thisArg
+
Opcional. Valor que valdrà la variable this quan s'estigui executant la funció callback.
+
+ +

Descripció

+ +

every() executa la funció callback un cop per a cada element present a l'array fins que troba un per al qual callback retorna un valor falsy (és a dir, un valor que esdebé fals si es realitza una conversió de tipus a Boolean). Si es troba aquest element, el mètode every retorna immediatament false. En cas contrari, si callback ha retornat un valor true per a tots els elements, every retornarà true. Només s'invocarà la funció callback en les posicions de l'array que tinguin un valor assignat, és a dir, mai es cridarà per a posicions que han estat esborrades o el valor de les quals no ha estat mai assignat.

+ +

S'invoca callback amb tres arguments: el valor de l'element, la posició de l'element dins l'array, i l'objecte array que es recorrerà.

+ +

Si es proporciona el paràmetre thisArg al mètode every(), aquest es passarà a callback quan s'invoqui, i serà el valor que mostrarà la variable this. En cas contrari, s'utilitzarà el valor undefined com a valor per a this. El valor de this observable en última instància per callback es determinarà d'acord a les regles per a determinar el valor de this observat per una funció.

+ +

every() no mutarà l'array quan sigui cridada.

+ +

El rang d'elements processat per every() és determinat abans de la primera invocació de callback. Els elements que s'afegeixin a l'array després de la crida a every() no seran visitats per callback. Si el valor d'un element encara no visitat canvia, el valor que es passarà a callback serà el valor que tingui aquest element a l'hora de visitar-lo; els elements que s'esborrin no es visitaran.

+ +

every es comporta com un quantificador "for all" en matemàtiques. En concret, per a un array buit retornarà true (s'anomena veritat per buit el fet que tots els elements d'un grup buit satisfacin qualsevol condició donada).

+ +

Exemples

+ +

Comprovar el tamany de tots els elements d'un array

+ +

L'exemple següent comprova si tots els elements d'un array son majors de 10.

+ +
function isBigEnough(element, index, array) {
+  return element >= 10;
+}
+[12, 5, 8, 130, 44].every(isBigEnough);   // false
+[12, 54, 18, 130, 44].every(isBigEnough); // true
+
+ +

Utilitzar funcions flexta

+ +

Les funcions fletxa ofereixen una sintaxi reduïda per a realitzar el mateix test.

+ +
[12, 5, 8, 130, 44].every(elem => elem >= 10); // false
+[12, 54, 18, 130, 44].every(elem => elem >= 10); // true
+ +

Polyfill

+ +

every va ser afegida  al standard ECMA-262 en la cinquena edició; és per això que pot no estar disponible en certes implementacions del standard. Es pot proporcionar la seva funcionalitat inserint l'script següent a l'inici dels vostres scripts, permetent l'ús de every() en implementacions que no la suporten de forma nativa. Aquest algoritme és exactament l'especificat a l'ECMA-262, cinquena edició, assumint que Object i TypeError tenen els valors originals i que callbackfn.call es correspon amb el valor original de {{jsxref("Function.prototype.call")}}.

+ +
if (!Array.prototype.every) {
+  Array.prototype.every = function(callbackfn, thisArg) {
+    'use strict';
+    var T, k;
+
+    if (this == null) {
+      throw new TypeError('this is null or not defined');
+    }
+
+    // 1. Let O be the result of calling ToObject passing the this
+    //    value as the argument.
+    var O = Object(this);
+
+    // 2. Let lenValue be the result of calling the Get internal method
+    //    of O with the argument "length".
+    // 3. Let len be ToUint32(lenValue).
+    var len = O.length >>> 0;
+
+    // 4. If IsCallable(callbackfn) is false, throw a TypeError exception.
+    if (typeof callbackfn !== 'function') {
+      throw new TypeError();
+    }
+
+    // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
+    if (arguments.length > 1) {
+      T = thisArg;
+    }
+
+    // 6. Let k be 0.
+    k = 0;
+
+    // 7. Repeat, while k < len
+    while (k < len) {
+
+      var kValue;
+
+      // a. Let Pk be ToString(k).
+      //   This is implicit for LHS operands of the in operator
+      // b. Let kPresent be the result of calling the HasProperty internal
+      //    method of O with argument Pk.
+      //   This step can be combined with c
+      // c. If kPresent is true, then
+      if (k in O) {
+
+        // i. Let kValue be the result of calling the Get internal method
+        //    of O with argument Pk.
+        kValue = O[k];
+
+        // ii. Let testResult be the result of calling the Call internal method
+        //     of callbackfn with T as the this value and argument list
+        //     containing kValue, k, and O.
+        var testResult = callbackfn.call(T, kValue, k, O);
+
+        // iii. If ToBoolean(testResult) is false, return false.
+        if (!testResult) {
+          return false;
+        }
+      }
+      k++;
+    }
+    return true;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificaicóEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.16', 'Array.prototype.every')}}{{Spec2('ES5.1')}}Definició inicial. Implemnetat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.every', 'Array.prototype.every')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.every', 'Array.prototype.every')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.forEach()")}}
  • +
  • {{jsxref("Array.prototype.some()")}}
  • +
  • {{jsxref("TypedArray.prototype.every()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/fill/index.html b/files/ca/web/javascript/reference/global_objects/array/fill/index.html new file mode 100644 index 0000000000..e1952a8407 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/fill/index.html @@ -0,0 +1,173 @@ +--- +title: Array.prototype.fill() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/fill +translation_of: Web/JavaScript/Reference/Global_Objects/Array/fill +--- +
{{JSRef}}
+ +

El mètode fill() omple tots els elements d'un array a partir d'una posició inicial fins a una posició final amb un valor estàtic predeterminat.

+ +

Sintaxi

+ +
arr.fill(valor[, posInicial = 0[, posFinal = this.length]])
+ +

Paràmetres

+ +
+
valor
+
Valor amb el que s'omplirà l'array.
+
posInicial
+
Opcional. Posició inicial.
+
posFinal
+
Opcional. Posició final.
+
+ +

Descripció

+ +

L'interval d'elements a omplir és [posInicial, posFinal) (inici inclusiu, final exclusiu).

+ +

El mètode fill accepta fins a tres arguments: valor, posInicialposFinal.

+ +

Els arguments posInicial i posFinal són opcionals i si no s'especifiquen prenen per defecte els valors 0 i la propietat length de l'objecte this, respectivament.

+ +

Si posInicial és negatiu, es considera com a length+start on length és la mida de l'array. Si posFinal és negatiu es considera com a length+end.

+ +

La funció fill és genèrica intencionalment i no requereix que el valor this sigui un objecte de tipus Array.

+ +

El mètode fill és mutable, ja que canviarà l'objecte this en si mateix i després el retornarà com a resultat, en comptes de retornar una copia d'aquest.

+ +

Exemples

+ +
[1, 2, 3].fill(4);               // [4, 4, 4]
+[1, 2, 3].fill(4, 1);            // [1, 4, 4]
+[1, 2, 3].fill(4, 1, 2);         // [1, 4, 3]
+[1, 2, 3].fill(4, 1, 1);         // [1, 2, 3]
+[1, 2, 3].fill(4, -3, -2);       // [4, 2, 3]
+[1, 2, 3].fill(4, NaN, NaN);     // [1, 2, 3]
+Array(3).fill(4);                // [4, 4, 4]
+[].fill.call({ length: 3 }, 4);  // {0: 4, 1: 4, 2: 4, length: 3}
+
+ +

Polyfill

+ +
if (!Array.prototype.fill) {
+  Array.prototype.fill = function(value) {
+
+    // Pasos 1-2.
+    if (this == null) {
+      throw new TypeError('this is null or not defined');
+    }
+
+    var O = Object(this);
+
+    // Pasos 3-5.
+    var len = O.length >>> 0;
+
+    // Pasos 6-7.
+    var start = arguments[1];
+    var relativeStart = start >> 0;
+
+    // Pasos 8.
+    var k = relativeStart < 0 ?
+      Math.max(len + relativeStart, 0) :
+      Math.min(relativeStart, len);
+
+    // Pasos 9-10.
+    var end = arguments[2];
+    var relativeEnd = end === undefined ?
+      len : end >> 0;
+
+    // Pasos 11.
+    var final = relativeEnd < 0 ?
+      Math.max(len + relativeEnd, 0) :
+      Math.min(relativeEnd, len);
+
+    // Pasos 12.
+    while (k < final) {
+      O[k] = value;
+      k++;
+    }
+
+    // Pasos 13.
+    return O;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.fill', 'Array.prototype.fill')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("45")}} [1]{{CompatGeckoDesktop("31")}}{{CompatNo}}{{CompatNo}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("31")}}{{CompatNo}}{{CompatNo}}8.0
+
+ +

[1] A partir del Chrome 36, està disponible a través d'una preferència. A chrome://flags, activeu l'entrada “Enable Experimental JavaScript”.

+ +

Vegeu també

+ +
    +
  • {{jsxref("Array")}}
  • +
  • {{jsxref("TypedArray.prototype.fill()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/filter/index.html b/files/ca/web/javascript/reference/global_objects/array/filter/index.html new file mode 100644 index 0000000000..c1bfec77f3 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/filter/index.html @@ -0,0 +1,213 @@ +--- +title: Array.prototype.filter() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/filter +translation_of: Web/JavaScript/Reference/Global_Objects/Array/filter +--- +
{{JSRef}}
+ +

El mètode filter() crea un nou array amb tots els elements que passin el test implementat per la funció que passa com a argument.

+ +

Sintaxi

+ +
arr.filter(callback[, thisArg])
+ +

Paràmetres

+ +
+
callback
+
Funció que s'emprarà per a testejar cada element de l'array. Aquesta serà invocada amb els arguments (element, posició, array). Ha de retornar true per als elements que es vulguin conservar i false en qualsevol altre cas.
+
element
+
El element actual que s'esta processant a l'Array.
+
thisArg
+
Opcional. Valor que rebrà this durant l'execució de la funció callback.
+
+ +

Descripció

+ +

filter() crida la funció callback proporcionada un cop per cada element de l'array, i construeix un nou array amb tots els elements per als quals la funció callback retorni el valor true o bé un valor que pugui ser interpretat com a true. Només escridarà la funció callback per a posicions de l'array que tinguin valors assignats; no es cridarà per a posicions que han estat esborrades o que mai hagin tingut assignat un element. Els elements que no passsin el test de callback seràn simplement ignorats i en cap cas seran afegits al nou array.

+ +

S'invoca callback tot passant-li els tres arguments següents:

+ +
    +
  1. el valor de l'element
  2. +
  3. la posició de l'element
  4. +
  5. L'objecte array que s'està recorrent
  6. +
+ +

Si es proporciona el paràmetre thisArg a la crida de filter, aquest es passarà a callback quan s'invoqui per a ser utilitzat com a this dins la funció.  En qualsevol altre cas el valor que rebrà this dins la funció callback serà undefined. El valor de this que serà finalment observable dins de callback és determinat d'acord a les regles habituals per a determinar el valor de this observat dins d'una funció.

+ +

filter() mai modificarà l'array des del qual s'invoca.

+ +

El rang dels elements processats per filter() es determina abans de la primera invocació de callback. Els elements que s'afegeixin a l'array un cop la crida a  filter() hagi començat no seran visibles per a callback. Els elements que es modifiquin o s'esborrin durant aquest periode tindran el valor que els hi pertoqui al moment de cridar la funció callback; els elements que s'hagin eliminat no es visitaran.

+ +

Exemples

+ +

Exemple: Descartar tots els valors petits

+ +

L'exemple següent utilitza filter() per a crear un array filtrat que contindrà tots els elements amb valors menors de 10.

+ +
function esProuGran(valor) {
+  return valor >= 10;
+}
+var filtrat = [12, 5, 8, 130, 44].filter(esProuGran);
+// filtrat val [12, 130, 44]
+
+ +

Exemple: Descartar entrades invàlides de JSON

+ +

L'exemple següent utilitza filter() per a crear un array que no contingui cap entrada de JSON amb una id numèrica no vàlida o amb valor menor que zero.

+ +
var arr = [
+  { id: 15 },
+  { id: -1 },
+  { id: 0 },
+  { id: 3 },
+  { id: 12.2 },
+  { },
+  { id: null },
+  { id: NaN },
+  { id: 'undefined' }
+];
+
+var invalidEntries = 0;
+
+function filterByID(obj) {
+  if ('id' in obj && typeof(obj.id) === 'number' && !isNaN(obj.id)) {
+    return true;
+  } else {
+    invalidEntries++;
+    return false;
+  }
+}
+
+var arrByID = arr.filter(filterByID);
+
+console.log('Array filtrat\n', arrByID);
+// [{ id: 15 }, { id: -1 }, { id: 0 }, { id: 3 }, { id: 12.2 }]
+
+console.log('Nombre d'entrades invàlides = ', invalidEntries);
+// 4
+
+ +

Polyfill

+ +

filter() va ser afegit al standard ECMA-262 a la cinquena edició; degut a això aquesta funció pot no ser present a totes les implementacions del standard. Es pot solucionar aquest problema inserint el codi següent al principi dels scripts, permetent l'ús de filter() en implementacions de l'ECMA-262 que no la incorporin per defecte. Aquest algoritme és exactament l'especificat per l'ECMA-262, 5a edició, i assumeix que fn.call s'evalua al valor original de {{jsxref("Function.prototype.call()")}} i que {{jsxref("Array.prototype.push()")}} te el seu valor original.

+ +
if (!Array.prototype.filter) {
+  Array.prototype.filter = function(fun/*, thisArg*/) {
+    'use strict';
+
+    if (this === void 0 || this === null) {
+      throw new TypeError();
+    }
+
+    var t = Object(this);
+    var len = t.length >>> 0;
+    if (typeof fun !== 'function') {
+      throw new TypeError();
+    }
+
+    var res = [];
+    var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
+    for (var i = 0; i < len; i++) {
+      if (i in t) {
+        var val = t[i];
+
+        // NOTA: Tècnicament hauria de ser Object.defineProperty
+        //       a la posició següent ja que push pot veure's afectat per
+        //       les propietats de Object.prototype i Array.prototype.
+        //       Però aquest mètode és nou i només hi haurà col·lisions
+        //       en casos excepcionals, aixíq ue utilitzem l'alternativa més compatible.
+        if (fun.call(thisArg, val, i, t)) {
+          res.push(val);
+        }
+      }
+    }
+
+    return res;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.20', 'Array.prototype.filter')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.filter', 'Array.prototype.filter')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.forEach()")}}
  • +
  • {{jsxref("Array.prototype.every()")}}
  • +
  • {{jsxref("Array.prototype.some()")}}
  • +
  • {{jsxref("Array.prototype.reduce()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/find/index.html b/files/ca/web/javascript/reference/global_objects/array/find/index.html new file mode 100644 index 0000000000..8ee7742c09 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/find/index.html @@ -0,0 +1,191 @@ +--- +title: Array.prototype.find() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/find +translation_of: Web/JavaScript/Reference/Global_Objects/Array/find +--- +
{{JSRef}}
+ +

El mètode find() retorna un valor valor pertanyent a l'array si un element de l'array satisfà la funció de testeig donada. En cas contrari retornarà {{jsxref("undefined")}}.

+ +

Vegeu també el mètode {{jsxref("Array.findIndex", "findIndex()")}}, que retorna la posició a la qual s'ha trobat l'element que satisfà la funció de testeig, en comptes del seu valor.

+ +

Sintaxi

+ +
arr.find(callback[, thisArg])
+ +

Paràmetres

+ +
+
callback
+
Funció que s'executarà per a cada valor de l'array, rep tres arguments: +
+
element
+
L'element de l'array que s'està processant actualment.
+
posició
+
La posició de l'array que s'està processant actualment.
+
array
+
L'array des del qual s'ha cridat el mètode find.
+
+
+
thisArg
+
Opcional. L'objecte a utilitzar com a this mentre s'executi callback.
+
+ +

Descripció

+ +

El mètode find executa la funció callback un cop per a cada element present a l'array fins que trobi un on callback retorni true. Si es troba aquest element el mètode find retorna el valor de l'element trobat immediatament. En cas contrari find retornarà {{jsxref("undefined")}}. callback només serà invocada per a posicions de l'array que tinguin valors assignats; no serà invoada per a posicions que s'hagin eliminat o que mai hagin tingut assignat un valor.

+ +

La invocaicó de callback té tres arguments: el valor de l'element, la posició de l'element i l'objecte array que està sent recorregut.

+ +

Si es proporciona el paràmetre thisArg al cridar el mètode find, aquest serà utilitzat com a this per a cada invocació del mètode callback. En cas de no ser proporcionat s'utilitzarà {{jsxref("undefined")}}.

+ +

find no mutarà l'array des del que es crida.

+ +

El rang d'elemnets que find processarà es determina abans de la primera invocació a callback. Els elements afegits a l'array després de la crida a find no seran visitats per callback. Si un element existent, no visitat encara, rep un altre valor, el valor percebut per callback serà aquell que tingui l'element al ser visitat; els elements visitats no són visitats.

+ +

Exemples

+ +

Trobar un objecte en un array segons el valor d'una propietat

+ +
var inventory = [
+    {name: 'apples', quantity: 2},
+    {name: 'bananas', quantity: 0},
+    {name: 'cherries', quantity: 5}
+];
+
+function findCherries(fruit) {
+    return fruit.name === 'cherries';
+}
+
+console.log(inventory.find(findCherries)); // { name: 'cherries', quantity: 5 }
+ +

Trobar un nombre primer en un array

+ +

L'exemple següent troba un element dins l'array el valor del qual sigui un nombre primer (o bé retorna {{jsxref("undefined")}} si no n'hi ha cap).

+ +
function isPrime(element, index, array) {
+  var start = 2;
+  while (start <= Math.sqrt(element)) {
+    if (element % start++ < 1) {
+      return false;
+    }
+  }
+  return element > 1;
+}
+
+console.log([4, 6, 8, 12].find(isPrime)); // undefined, no trobat
+console.log([4, 5, 8, 12].find(isPrime)); // 5
+
+ +

Polyfill

+ +

Aquest mètode es va afegira la especificació 2015 de l'ECMAScript i pot no estar disponible encara en algunes implementacions de JavaScript. Tot i així es pot utilitzar el codi següent per a utilitzar-lo en entorns on no estigui disponible:

+ +
if (!Array.prototype.find) {
+  Array.prototype.find = function(predicate) {
+    if (this === null) {
+      throw new TypeError('Array.prototype.find called on null or undefined');
+    }
+    if (typeof predicate !== 'function') {
+      throw new TypeError('predicate must be a function');
+    }
+    var list = Object(this);
+    var length = list.length >>> 0;
+    var thisArg = arguments[1];
+    var value;
+
+    for (var i = 0; i < length; i++) {
+      value = list[i];
+      if (predicate.call(thisArg, value, i, list)) {
+        return value;
+      }
+    }
+    return undefined;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.find', 'Array.prototype.find')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.find', 'Array.prototype.find')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerEdgeOperaSafari
Suport bàsic{{CompatChrome(45.0)}}{{CompatGeckoDesktop("25.0")}}{{CompatNo}}12{{CompatNo}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileEdgeOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25.0")}}{{CompatNo}}12{{CompatNo}}8.0
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.findIndex()")}}
  • +
  • {{jsxref("Array.prototype.every()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/findindex/index.html b/files/ca/web/javascript/reference/global_objects/array/findindex/index.html new file mode 100644 index 0000000000..5b089bdb98 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/findindex/index.html @@ -0,0 +1,173 @@ +--- +title: Array.prototype.findIndex() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/findIndex +translation_of: Web/JavaScript/Reference/Global_Objects/Array/findIndex +--- +
{{JSRef}}
+ +

El mètode findIndex() retorna una posició de l'array si un element de l'array satisfà la funció de testeig donada. En cas contrari retornarà -1.

+ +

Vegeu també el mètode {{jsxref("Array.find", "find()")}}, que retorna el valor trobat dins l'array en comptes de la posició.

+ +

Sintaxi

+ +
arr.findIndex(callback[, thisArg])
+ +

Parameters

+ +
+
callback
+
Funció que s'executarà per a cada valor de l'array, rep tres arguments: +
+
element
+
L'element de l'array que s'està processant actualment.
+
posició
+
La posició de l'array que s'està processant actualment.
+
array
+
L'array des del qual s'ha cridat el mètode find.
+
+
+
thisArg
+
Opcional. L'objecte a utilitzar com a this mentre s'executi callback.
+
+ +

Descripció

+ +

El mètode findIndex executa la funció callback un cop per a cada element present a l'array fins que trobi un on callback retorni true. Si es troba aquest element el mètode findIndex retorna la posició de l'element trobat immediatament. En cas contrari findIndex retornarà -1. callback només serà invocada per a posicions de l'array que tinguin valors assignats; no serà invoada per a posicions que s'hagin eliminat o que mai hagin tingut assignat un valor.

+ +

La invocaicó de callback té tres arguments: el valor de l'element, la posició de l'element i l'objecte array que està sent recorregut.

+ +

Si es proporciona el paràmetre thisArg al cridar el mètode findIndex, aquest serà utilitzat com a this per a cada invocació del mètode callback. En cas de no ser proporcionat s'utilitzarà {{jsxref("undefined")}}.

+ +

findIndex no mutarà l'array des del que es crida.

+ +

El rang d'elemnets que findIndex processarà es determina abans de la primera invocació a callback. Els elements afegits a l'array després de la crida a findIndex no seran visitats per callback. Si un element existent, no visitat encara, rep un altre valor, el valor percebut per callback serà aquell que tingui l'element al ser visitat; els elements visitats no són visitats.

+ +

Exemples

+ +

Trobar la posició d'un nombre primer dins un array

+ +

L'exemple següent trobarà la posició d'un element de l'array que sigui un nombre primer (o bé retornarà -1 si no n'hi ha cap).

+ +
function isPrime(element, index, array) {
+  var start = 2;
+  while (start <= Math.sqrt(element)) {
+    if (element % start++ < 1) {
+      return false;
+    }
+  }
+  return element > 1;
+}
+
+console.log([4, 6, 8, 12].findIndex(isPrime)); // -1, not found
+console.log([4, 6, 7, 12].findIndex(isPrime)); // 2
+
+ +

Polyfill

+ +

Aquest mètode es va afegir a la especificació 6 de l'ECMAScript i pot no estar disponible encara en algunes implementacions de JavaScript. Tot i així es pot utilitzar el codi següent per a utilitzar-lo en entorns on no estigui disponible:

+ +
if (!Array.prototype.findIndex) {
+  Array.prototype.findIndex = function(predicate) {
+    if (this === null) {
+      throw new TypeError('Array.prototype.findIndex called on null or undefined');
+    }
+    if (typeof predicate !== 'function') {
+      throw new TypeError('predicate must be a function');
+    }
+    var list = Object(this);
+    var length = list.length >>> 0;
+    var thisArg = arguments[1];
+    var value;
+
+    for (var i = 0; i < length; i++) {
+      value = list[i];
+      if (predicate.call(thisArg, value, i, list)) {
+        return i;
+      }
+    }
+    return -1;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.findIndex', 'Array.prototype.findIndex')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.findIndex', 'Array.prototype.findIndex')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(45.0)}}{{CompatGeckoDesktop("25.0")}}{{CompatNo}}{{CompatNo}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25.0")}}{{CompatNo}}{{CompatNo}}8.0
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.find()")}}
  • +
  • {{jsxref("Array.prototype.indexOf()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/foreach/index.html b/files/ca/web/javascript/reference/global_objects/array/foreach/index.html new file mode 100644 index 0000000000..4d391346eb --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/foreach/index.html @@ -0,0 +1,238 @@ +--- +title: Array.prototype.forEach() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/forEach +translation_of: Web/JavaScript/Reference/Global_Objects/Array/forEach +--- +
{{JSRef}}
+ +

El mètode forEach() executa la funció rebuda un cop per cada element de l'array.

+ +

Sintaxi

+ +
arr.forEach(callback[, thisArg])
+ +

Paràmetres

+ +
+
callback
+
Funció a executar per a cada element. Aquesta funció rebrà tres paràmetres: +
+
valor
+
L'element que s'està processant ara mateix a l'array.
+
posició
+
La posició que l'element actual ocupa dins l'array.
+
array
+
L'array al qual el mètode forEach s'aplica.
+
+
+
thisArg
+
Opcional. Valor que s'utilitzarà com a this a l'hora d'executar la funció callback.
+
+ +

Descripció

+ +

forEach() executa la funció callback rebuda com a argument un cop per cada element present a l'array, en ordre ascendent. No es cridarà la funció per a elements que s'hagin eliminat o que no hagin rebut cap valor (és a dir, arrays disperses).

+ +

S'invocarà callback amb els tres arguments següents:

+ +
    +
  • el valor de l'element
  • +
  • la posició de l'element
  • +
  • L'array que s'està recorrent
  • +
+ +

Si es proporciona el paràmetre thisArg a forEach(), aquest es passarà a callback quan es cridi, i es podrà accedir a ell mitjançant la paraula clau this. En el cas que no es proporcioni el paràmetre this rebrà el valor {{jsxref("undefined")}}. El valor de this que serà observable per callback es determina d'acord a les regles usuals per a determinar el valor de this que una funció veu.

+ +

El rang dels elements processats per forEach() és determinat abans de la primera invocació de callback. Els elements que s'afegeixin a l'array després de la crida a forEach() no seran visitats per la funció callback. En el cas que es canviï el valor dels elements de l'array el valor que es passarà a callback serà el valor que tingui l'element en el moment que es visita. Els elements que s'han eliminat abans de ser visitats no es visitaran.

+ +

forEach() executa la funció callback un cop per cada element de l'array; a diferència de {{jsxref("Array.prototype.map()", "map()")}} i {{jsxref("Array.prototype.reduce()", "reduce()")}}, sempre retorna el valor {{jsxref("undefined")}} i no es pot encadenar. El cas d'ús típic és per executar efectes secundaris al final de la cadena.

+ +
+

Nota: L'única forma d'aturar un bucle forEach() és llençar una excepció. Si es requereix aquesta funcionalitat llavors el mètode .forEach() és l'eina incorrecta i es recomana utilitzar un bucle normal. Si el que es pretén és validar els elements d'un array contra un predicat i es requereix retornar un valor booleà, es recomana utilitzar la funció {{jsxref("Array.prototype.every()", "every()")}} o bé {{jsxref("Array.prototype.some()", "some()")}}.

+
+ +

Exemples

+ +

Imprimir el contingut d'un array

+ +

El codi següent mostra una línia per a cada element de l'array:

+ +
function logArrayElements(element, index, array) {
+  console.log('a[' + index + '] = ' + element);
+}
+
+// Cal destacar l'omissió, no hi ha cap element a la posició 2 així que aquesta no es visita
+[2, 5, , 9].forEach(logArrayElements);
+// Mostra:
+// a[0] = 2
+// a[1] = 5
+// a[3] = 9
+
+ +

Una funció per a copiar objectes

+ +

El codi següent crea una copia de l'objecte donat. Hi ha diverses formes de crear una copia d'un objecte, la forma següent és simplement una d'elles i es presenta per a explicar com funciona Array.prototype.forEach() tot utilitzant les funcions de meta-propietats de l'ECMAScript 5 a Object.*

+ +
function copy(obj) {
+  var copy = Object.create(Object.getPrototypeOf(obj));
+  var propNames = Object.getOwnPropertyNames(obj);
+
+  propNames.forEach(function(name) {
+    var desc = Object.getOwnPropertyDescriptor(obj, name);
+    Object.defineProperty(copy, name, desc);
+  });
+
+  return copy;
+}
+
+var obj1 = { a: 1, b: 2 };
+var obj2 = copy(obj1); // obj2 looks like o1 now
+
+ +

Polyfill

+ +

forEach() va ser afegida l'standard ECMA-262 en la cinquena edició; per aquest motiu aquesta funció pot no estar present en altres implementacions de l'standard. Es pot solventar aquest problema inserint el codi següent a l'inici dels vostres scripts. Això permetrà l'ús de forEach() en implementacions que no el suportin de forma nativa. Aquest algoritme és el mateix que l'especificat a l'ECMA-262, cinquena edició, si assumim que {{jsxref("Object")}} i {{jsxref("TypeError")}} tenen els seus valors originals i que callback.call es resol com al valor original de {{jsxref("Function.prototype.call()")}}.

+ +
// Production steps of ECMA-262, Edition 5, 15.4.4.18
+// Reference: http://es5.github.io/#x15.4.4.18
+if (!Array.prototype.forEach) {
+
+  Array.prototype.forEach = function(callback, thisArg) {
+
+    var T, k;
+
+    if (this == null) {
+      throw new TypeError(' this is null or not defined');
+    }
+
+    // 1. Assignem a O el resultat de cridar ToObject tot passant-li el valor de |this| com a argument.
+    var O = Object(this);
+
+    // 2. lenValue representa el resultat de cridar el mètode intern Get de O amb l'argument "length".
+    // 3. Assignem a len el valor ToUint32(lenValue).
+    var len = O.length >>> 0;
+
+    // 4. Si IsCallable(callback) és false, llençem una excepció TypeError.
+    // Vegeu: http://es5.github.com/#x9.11
+    if (typeof callback !== "function") {
+      throw new TypeError(callback + ' no és una funció');
+    }
+
+    // 5. Si s'ha passat thisArg com a aragument, assignem el seu valor a la variable T, en qualsevol altre cas deixem T com a undefined.
+    if (arguments.length > 1) {
+      T = thisArg;
+    }
+
+    // 6. Assignem 0 a la variable k
+    k = 0;
+
+    // 7. Repetir, mentre k < len
+    while (k < len) {
+
+      var kValue;
+
+      // a. Assignem ToString(k) a Pk.
+      //   Aquest comportament és implícit per a operands al cantó esquerra (de l'anglés LHS o Left-Hand-Side) de l'operador "in"This is implicit for LHS operands of the in operator
+      // b. Assignem el resultat de cridar el mètode intern HasProperty de O amb l'argument Pk a la variable kPresent
+      //   Podem combinar aquest pas amb c
+      // c. Si kPresent és true, llavors...
+      if (k in O) {
+
+        // i. Assignem a kValue el resultat de cridar el mètode intern Get de l'objecte O amb l'argument Pk.
+        kValue = O[k];
+
+        // ii. Cridem el mètode intern "call" del callback tot passant-li T com a valor de "this"
+        // així com una llista d'arguments que conté kValue, k i 0
+        callback.call(T, kValue, k, O);
+      }
+      // d. Incrementem el valor de k en 1.
+      k++;
+    }
+    // 8. retornem undefined
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.18', 'Array.prototype.forEach')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.foreach', 'Array.prototype.forEach')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map.prototype.forEach()")}}
  • +
  • {{jsxref("Set.prototype.forEach()")}}
  • +
  • {{jsxref("Array.prototype.map()")}}
  • +
  • {{jsxref("Array.prototype.every()")}}
  • +
  • {{jsxref("Array.prototype.some()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/includes/index.html b/files/ca/web/javascript/reference/global_objects/array/includes/index.html new file mode 100644 index 0000000000..9f64b0e117 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/includes/index.html @@ -0,0 +1,158 @@ +--- +title: Array.prototype.includes() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/includes +translation_of: Web/JavaScript/Reference/Global_Objects/Array/includes +--- +
{{JSRef}}
+ +

El mètode includes() determina si un array inclou un element concret, retornant  true o false segons s'escaigui. 

+ +

Sintaxi

+ +
var boolean = array.includes(elementCercat[, desdePosicio])
+ +

Parameters

+ +
+
elementCercat
+
L'element a cercar.
+
desdePosicio
+
Opcional. La posició de l'array a partir de la qual començar la cerca de elementCercat. Un valor negatiu cercarà el nombre absolut donat de posicions contant des del final de l'array. El seu valor per defecte és 0.
+
+ +

Valor retornat

+ +

Un {{jsxref("Boolean")}}.

+ +

Exemples

+ +
[1, 2, 3].includes(2);     // true
+[1, 2, 3].includes(4);     // false
+[1, 2, 3].includes(3, 3);  // false
+[1, 2, 3].includes(3, -1); // true
+[1, 2, NaN].includes(NaN); // true
+
+ +

Polyfill

+ +
if (!Array.prototype.includes) {
+  Array.prototype.includes = function(searchElement /*, fromIndex*/ ) {
+    'use strict';
+    var O = Object(this);
+    var len = parseInt(O.length) || 0;
+    if (len === 0) {
+      return false;
+    }
+    var n = parseInt(arguments[1]) || 0;
+    var k;
+    if (n >= 0) {
+      k = n;
+    } else {
+      k = len + n;
+      if (k < 0) {k = 0;}
+    }
+    var currentElement;
+    while (k < len) {
+      currentElement = O[k];
+      if (searchElement === currentElement ||
+         (searchElement !== searchElement && currentElement !== currentElement)) { // NaN !== NaN
+        return true;
+      }
+      k++;
+    }
+    return false;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES7', '#sec-array.prototype.includes', 'Array.prototype.includes')}}{{Spec2('ES7')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.includes', 'Array.prototype.includes')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerEdgeOperaSafari
Suport bàsic +

{{CompatChrome(47)}}

+
43{{CompatNo}}{{CompatNo}}349
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidAndroid WebviewFirefox Mobile (Gecko)IE MobileOpera MobileSafari MobileChrome for Android
Suport bàsic{{CompatNo}} +

{{CompatChrome(47)}}

+
43{{CompatNo}}349 +

{{CompatChrome(47)}}

+
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("TypedArray.prototype.includes()")}}
  • +
  • {{jsxref("String.prototype.includes()")}}
  • +
  • {{jsxref("Array.prototype.indexOf()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/index.html b/files/ca/web/javascript/reference/global_objects/array/index.html new file mode 100644 index 0000000000..da7c400799 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/index.html @@ -0,0 +1,482 @@ +--- +title: Array +slug: Web/JavaScript/Referencia/Objectes_globals/Array +translation_of: Web/JavaScript/Reference/Global_Objects/Array +--- +
{{JSRef}}
+ +

Resum

+ +

L'objecte de JavaScript Array és un objecte global que s'utilitza per a construir arrays; que són objectes d'al nivell que representen llistes.

+ +

Crear un Array

+ +
var fruites = ["Poma", "Pera"];
+
+console.log(fruites.length);
+// 2
+
+ +

Accedir (mitjançant la posició) a un element d'un Array

+ +
var primer = fruites[0];
+// Poma
+
+var ultim = fruites[fruites.length - 1];
+// Pera
+
+ +

Recòrrer un Array

+ +
fruites.forEach(function (element, index, array) {
+  console.log(element, index);
+});
+// Poma 0
+// Pera 1
+
+ +

Afegir elements al final d'un Array

+ +
var nouTamany = fruites.push("Taronja");
+// ["Poma", "Pera", "Taronja"]
+
+ +

Eliminar l'element del final d'un Array

+ +
var ultim = fruites.pop(); // Elimina Taronja (del final)
+// ["Poma", "Pera"];
+
+ +

Eliminar l'element de l'inici d'un Array

+ +
var primer = fruites.shift(); // elimina Poma del principi del Array
+// ["Pera"];
+
+ +

Afegir un element a l'inici d'un Array

+ +
var nouTamany = fruites.unshift("Maduixa") // Afegir al principi
+// ["Maduixa", "Pera"];
+
+ +

Trobar la posició d'un element del Array

+ +
fruites.push("Mango");
+// ["Maduixa", "Pera", "Mango"]
+
+var pos = fruites.indexOf("Pera");
+// 1
+
+ +

Eliminar un element segons la seva posició

+ +
var elementEliminat = fruites.splice(pos, 1); // així és com s'elimina un element
+// ["Maduixa", "Mango"]
+
+ +

Copiar un Array

+ +
var shallowCopy = fruits.slice(); // així és com es copia
+// ["Maduixa", "Mango"]
+
+ +

Sintaxi

+ +
[element0, element1, ..., elementN]
+new Array(element0, element1[, ...[, elementN]])
+new Array(longitudArray)
+ +
+
elementN
+
S'inicialitza un array de JavaScript amb els elements donats, excepte si només es proporciona un sol argument al constructor Array i aquest argument és un nombre. (Vegeu a sota). Cal destacar que aquest cas especial només s'aplica a arrays de JavaScript creats mitjançant el constructor Array i no a literals array creats a partir de ls sintaxi de claus.
+
longitudArray
+
Si només es passa un sol argument al constructor Array i aquest argument és un nombre entre 0 232-1 (inclòs), aquest retorna un nou array de JavaScript amb la longitud especificada pel nombre passat com a argument. Si l'argument és qualsevol altre nombre es llença l'excepció {{jsxref("Global_Objects/RangeError", "RangeError")}}.
+
+ +

Descripció

+ +

Els arrays són objectes semblants a lliste el prototipus dels quals té mètodes que permeten realitzar operacions de travessa i mutació. Ni a longitud ni el tipus dels elements són fixos en els arrays de JavaScript. Com que el tamany d'un array pot canviar en qualsevol moment no es pot garantir la seva densitat. En general aquestes característiques són convenients; però si en algun cas aquestes característiques no fossin convenients es recomana considerar l'ús de arrays amb tipus.

+ +

Algunes persones creuen que no s'hauria de fer ús de arrays com amb finalitats associatives. En qualsevol cas sempre es pot utilitzar senzillament un {{jsxref("Global_Objects/Object", "objects")}} per a tal fet instead, tot i que fer-ho també té els seus inconvenients. Vegeu el post Diccionaris de JavaScript lleugers amb claus arbitràries per a exemple.

+ +

Accedir als elements d'un array

+ +

Els arrays de JavaScript comencen el compte de posició (índex) amb el zero: és a dir, el primer element d'un array ocupa la posició 0 i l'últim element d'un array es troba a l'índex amb valor del  {{jsxref("Array.length", "tamany")}} de l'array menys 1.

+ +
var arr = ['aquest és el primer element', 'aquest és el segon element'];
+console.log(arr[0]);              // mostra 'aquest és el primer element'
+console.log(arr[1]);              // mostra 'aquest és el segon element'
+console.log(arr[arr.length - 1]); // mostra 'aquest és el segon element'
+
+ +

Els elements d'un array són propietats de l'objecte de la mateixa que toString és una propietat, però intentar accedir un element d'un array de la manera que es mostra a continuació llença un error de sintaxi, ja que el nom de la propietat no és vàlid:

+ +
console.log(arr.0); // error de sintaxi
+
+ +

No hi ha res d'especial sobre els arrays de JavaScript i les propietats que causen aquest comportament. A JavaScript, les propietats que comencen amb un dígit no es poden referenciar amb la notació de punt; per a accedir-hi és necesari utilitzar la notació de claus. Per exemple, per a accedir a la propietat anomenada '3d' d'un objecte, l'única forma d'accedir-hi és mitjançant la notació de claus tal i com es mostra a continuació:

+ +
var anys = [1950, 1960, 1970, 1980, 1990, 2000, 2010];
+console.log(anys.0);   // error de sintaxi
+console.log(anys[0]);  // funciona
+
+ +
renderer.3d.setTexture(model, 'character.png');     // error de sintaxi
+renderer['3d'].setTexture(model, 'character.png');  // funciona
+
+ +

Fixeu-vos que a l'exemple de 3d, '3d' necessita cometes. És possible utilitzar cometes amb les posicions d'un array (per exemple, anys['2'] en comptes de anys[2]), tot i que no és necesari. El 2 a anys[2] és transformat en un string pel motor de JavaScript implícitament mitjançant el mètode toString. Per aquesta raó '2' i '02' es referirien a dues propietats diferents de l'objecte anys i l'exemple següent podría retornar true:

+ +
console.log(anys['2'] != anys['02']);
+
+ +

De la mateixa manera, les propietats d'objectes que utilitzin paraules clau com a nom(!) només es poden accedir mitjançant literals string en notació de claus (però poden accedir-se mitjançant notació de punt com a mínim al firefox 40.0a2):

+ +
var promise = {
+  'var'  : 'text',
+  'array': [1, 2, 3, 4]
+};
+
+console.log(promise['array']);
+
+ +

Relació  entre length i propietats numèriques

+ +

La propietat {{jsxref("Array.length", "length")}} dels arrays de JavaScript està relacionada amb les propietats numèriques. Diversos mètodes pertanyent de forma nativa a l'objecte array (com ara {{jsxref("Array.join", "join")}}, {{jsxref("Array.slice", "slice")}}, {{jsxref("Array.indexOf", "indexOf")}}, etcètera.) tenen en compte el valor de la propietat {{jsxref("Array.length", "length")}} quan són cridats. Altres mètodes, com ara {{jsxref("Array.push", "push")}} o {{jsxref("Array.splice", "splice")}}, també actualitzen el valor de la propietat {{jsxref("Array.length", "length")}}.

+ +
var fruites = [];
+fruites.push('banana', 'poma', 'prèssec');
+
+console.log(fruites.length); // 3
+
+ +

A l'hora d'assignar una propietat a un array de JavaScript, quan la propietat és una posició vàlida i aquesta posició cau fora dels límits que l'array té en aquell moment, el motor ha d'actualitzar la propietat {{jsxref("Array.length", "length")}} de l'array apropiadament:

+ +
fruites[5] = 'mango';
+console.log(fruites[5]); // 'mango'
+console.log(Object.keys(fruites));  // ['0', '1', '2', '5']
+console.log(fruites.length); // 6
+
+ +

Incrementant la longitud amb {{jsxref("Array.length", "length")}}.

+ +
fruites.length = 10;
+console.log(Object.keys(fruites)); // ['0', '1', '2', '5']
+console.log(fruites.length); // 10
+
+ +

Decrementar la propietat {{jsxref("Array.length", "length")}}, per contra, elimina elements.

+ +
fruites.length = 2;
+console.log(Object.keys(fruites)); // ['0', '1']
+console.log(fruites.length); // 2
+
+ +

Aquest comportament s'explica amb més detall a la pàgina de {{jsxref("Array.length")}}.

+ +

Crear un array utilitzant el resultat d'una expressió regular

+ +

El resultats obtinguts a l'aplicar una expressió regular sobre un string poden crear un array de JavaScript. Aquest array tindrà propietats i elements que ofereixen informació sobre les coincidències. Aquest tipus d'arrays és retornat pels mètodes {{jsxref("RegExp.exec")}}, {{jsxref("String.match")}}, i {{jsxref("String.replace")}}. Per a ajudar a entendre aquestes propietats i elements, vegeu l'exemple següent i la taula a continuació:

+ +
// Cerca una d seguida d'una o més b's seguides d'una d
+// Desa les coincidències de b's amb una d a continuació
+// No distingeix entre majúscules i minúscules
+
+var myRe = /d(b+)(d)/i;
+var myArray = myRe.exec('cdbBdbsbz');
+
+ +

Les propietats i elements retornats d'aplicar aquesta expressió regular al string són les següents:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Propietat/ElementDescripcióExemple
inputPropietat només de lectura que representa el string original contra el que s'ha aplicat la expressió regular.cdbBdbsbz
indexPropietat només de lectura que representa la posició on s'ha trobat coincidència (considerant zero la primera posició)1
[0]element només de lectura que especifica els últims caràcters que han coincidit.dbBd
[1], ...[n]Elements només de lectura que especifiquen coincidències parcials en parèntesi, si aquests s'inclouen a l'expressió regular. El nombre de possibles coincidències parcials en parèntesi és il·limitat.[1]: bB
+ [2]: d
+ +

Propietats

+ +
+
Array.length
+
La propietat de longitud del constructor de Array. El seu valor és 1.
+
{{jsxref("Array.prototype")}}
+
Permet l'adició de propietats a tots els objectes array.
+
+ +

Mètodes

+ +
+
{{jsxref("Array.from()")}} {{experimental_inline}}
+
Crea una nova instància de Array a partir d'un objecte iterable o un objecte similar a un array.
+
{{jsxref("Array.isArray()")}}
+
Retorna true si una variable és un array. En cas contrari retorna false.
+
{{jsxref("Array.observe()")}} {{experimental_inline}}
+
Observa de forma asíncrona canvis en Arrays, de manera similar al mètode {{jsxref("Object.observe()")}} per a objectes. Proporciona una sequència de canvis ordenats per ordre d'ocurrència.
+
{{jsxref("Array.of()")}} {{experimental_inline}}
+
Crea una nova instància de Array amb un nombre variable d'arguments, sense importar el nombre o tipus d'arguments.
+
+ +

Instàncies de Array

+ +

Totes les instàncies de Array hereten de {{jsxref("Array.prototype")}}. L'objecte prototipus del constructor de Array es pot modificar per a afectar a totes les instàncies de Array a l'hora.

+ +

Propietats

+ +
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Properties')}}
+ +

Mètodes

+ +

Mètodes de mutació

+ +
{{page('ca/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Mutator_methods')}}
+ +

Mètodes d'accés

+ +
{{page('ca/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Accessor_methods')}}
+ +

Mètodes d'iteració

+ +
{{page('ca/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Iteration_methods')}}
+ +

Mètodes genèrics de Array

+ +
+

Els genèrics de Array no formen part de cap standard, estan en desús i poden ser esborrats en el futur. Noteu que no funcionen a tots els navegadors, tot i que hi ha una correcció de compatibilitat disponible a GitHub.

+
+ +

De vegades hom voldria aplicar mètodes de array a strings o altres objectes semblants a arrays (com ara la funció {{jsxref("Functions/arguments", "arguments", "", 1)}}). Per a aconseguir això, es tractaria un string com un array de caràcters (o en tot cas tractar un objecte que no sigui un array com a array). Per exemple, per a comprovar que tots els caràcters d'una variable str són lletres, es faria de la forma següent:

+ +
function isLetter(character) {
+  return character >= 'a' && character <= 'z';
+}
+
+if (Array.prototype.every.call(str, isLetter)) {
+  console.log("El string '" + str + "' només conté lletres!");
+}
+
+ +

Aquesta notació és força molesta i JavaScript 1.6 va introduïr una abreviació genèrica:

+ +
if (Array.every(str, isLetter)) {
+  console.log("El string '" + str + "' només conté lletres!");
+}
+
+ +

{{jsxref("Global_Objects/String", "Generics", "#String_generic_methods", 1)}} també estan disponibles a {{jsxref("Global_Objects/String", "String")}}.

+ +

Aquests no formen actualment part de cap standard ECMAScript (tot i que es pot utilitzar el mètode {{jsxref("Array.from()")}} de l'ECMAScript 6 per a aconseguir el mateix resultat). A continuació es presenta una correcció de compatibilitat per a permetre el seu ús a qualsevol navegador:

+ +
// Asumeix que els extres de Array són presents (també es poden utilitzar funcions Polifyll per a suplir això)
+(function() {
+  'use strict';
+
+  var i,
+    // També es podria construïr l'array de mètodes de la forma següent, però
+    //   el mètode getOwnPropertyNames() no té cap corrector de compatibilitat:
+    // Object.getOwnPropertyNames(Array).filter(function(methodName) {
+    //   return typeof Array[methodName] === 'function'
+    // });
+    methods = [
+      'join', 'reverse', 'sort', 'push', 'pop', 'shift', 'unshift',
+      'splice', 'concat', 'slice', 'indexOf', 'lastIndexOf',
+      'forEach', 'map', 'reduce', 'reduceRight', 'filter',
+      'some', 'every', 'find', 'findIndex', 'entries', 'keys',
+      'values', 'copyWithin', 'includes'
+    ],
+    methodCount = methods.length,
+    assignArrayGeneric = function(methodName) {
+      if (!Array[methodName]) {
+        var method = Array.prototype[methodName];
+        if (typeof method === 'function') {
+          Array[methodName] = function() {
+            return method.call.apply(method, arguments);
+          };
+        }
+      }
+    };
+
+  for (i = 0; i < methodCount; i++) {
+    assignArrayGeneric(methods[i]);
+  }
+}());
+
+ +

Exemples

+ +

Crear un array

+ +

L'exemple següent crea un array, msgArray, amb un tamany de 0, després assigna valors a les posicions msgArray[0] i msgArray[99], canviant automàticament el tamany de l'array a 100.

+ +
var msgArray = [];
+msgArray[0] = 'Hello';
+msgArray[99] = 'world';
+
+if (msgArray.length === 100) {
+  console.log('The length is 100.');
+}
+
+ +

Crear un array de dues dimensions (bidimensional)

+ +

L'exemple següent crea un tauler d'escacs com a array bidimensional de strings. El primer moviement es realitza tot copiant la 'p' de la posició (6,4) a (4,4). La posició anterior esdevé buïda.

+ +
var board = [
+  ['R','N','B','Q','K','B','N','R'],
+  ['P','P','P','P','P','P','P','P'],
+  [' ',' ',' ',' ',' ',' ',' ',' '],
+  [' ',' ',' ',' ',' ',' ',' ',' '],
+  [' ',' ',' ',' ',' ',' ',' ',' '],
+  [' ',' ',' ',' ',' ',' ',' ',' '],
+  ['p','p','p','p','p','p','p','p'],
+  ['r','n','b','q','k','b','n','r'] ];
+
+console.log(board.join('\n') + '\n\n');
+
+// Movem el peó del Rei endevant dues caselles
+board[4][4] = board[6][4];
+board[6][4] = ' ';
+console.log(board.join('\n'));
+
+ +

Aquesta seria la sortida:

+ +
R,N,B,Q,K,B,N,R
+P,P,P,P,P,P,P,P
+ , , , , , , ,
+ , , , , , , ,
+ , , , , , , ,
+ , , , , , , ,
+p,p,p,p,p,p,p,p
+r,n,b,q,k,b,n,r
+
+R,N,B,Q,K,B,N,R
+P,P,P,P,P,P,P,P
+ , , , , , , ,
+ , , , , , , ,
+ , , , ,p, , ,
+ , , , , , , ,
+p,p,p,p, ,p,p,p
+r,n,b,q,k,b,n,r
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.4', 'Array')}}{{Spec2('ES5.1')}}S'afegeixen més mètodes: {{jsxref("Array.isArray")}}, {{jsxref("Array.prototype.indexOf", "indexOf")}}, {{jsxref("Array.prototype.lastIndexOf", "lastIndexOf")}}, {{jsxref("Array.prototype.every", "every")}}, {{jsxref("Array.prototype.some", "some")}}, {{jsxref("Array.prototype.forEach", "forEach")}}, {{jsxref("Array.prototype.map", "map")}}, {{jsxref("Array.prototype.filter", "filter")}}, {{jsxref("Array.prototype.reduce", "reduce")}}, {{jsxref("Array.prototype.reduceRight", "reduceRight")}}
{{SpecName('ES6', '#sec-array-objects', 'Array')}}{{Spec2('ES6')}}S'afegeixen més mètodes: {{jsxref("Array.from")}}, {{jsxref("Array.of")}}, {{jsxref("Array.prototype.find", "find")}}, {{jsxref("Array.prototype.findIndex", "findIndex")}}, {{jsxref("Array.prototype.fill", "fill")}}, {{jsxref("Array.prototype.copyWithin", "copyWithin")}}
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
+ + + + + + +
Suport bàsic
+
{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/global_objects/array/indexof/index.html b/files/ca/web/javascript/reference/global_objects/array/indexof/index.html new file mode 100644 index 0000000000..939571a0c8 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/indexof/index.html @@ -0,0 +1,235 @@ +--- +title: Array.prototype.indexOf() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/indexOf +translation_of: Web/JavaScript/Reference/Global_Objects/Array/indexOf +--- +
{{JSRef}}
+ +

El mètode indexOf() retorna la primera posició a la qual es troba l'element proporcionat, o bé -1 si l'element no es troba dins l'array.

+ +

Sintaxi

+ +
arr.indexOf(elementAcercar[, posicioInicial = 0])
+ +

Paràmetres

+ +
+
elementAcercar
+
L'element que es cercarà.
+
posicioInicial
+
La posició a la qual començar la cerca. Si la posició és major o igual a la longitud de l'array, es retornarà -1, això implica que no es realitzarà cap cerca a l'array. Si es proporciona un onmbre negatiu, es calcularà la posició des de la qual cercar des del final de l'array. Nota: l'array sempre es cercarà accedint a les posicions en ordre ascendent encara que la posicioInicial sigui negatiu. Si la posició proporcionada és 0 es cercarà en tot l'array. El valor per defecte és 0 (cerca a tot l'array).
+
+ +

Descripció

+ +

indexOf() compara elementAcercar amb els elements de l'array mitjançant la igualtat estricta (el mateix mètode utilitzat per l'operador ===, també anomenat triple-equals).

+ +

Exemples

+ +

Utilitzar indexOf()

+ +

L'exemple següent utilitza indexOf() per a localitzar valors dins un array.

+ +
var array = [2, 9, 9];
+array.indexOf(2);     // 0
+array.indexOf(7);     // -1
+array.indexOf(9, 2);  // 2
+array.indexOf(2, -1); // -1
+array.indexOf(2, -3); // 0
+
+ +

Trobar totes les ocurrències d'un element

+ +
var indices = [];
+var array = ['a', 'b', 'a', 'c', 'a', 'd'];
+var element = 'a';
+var idx = array.indexOf(element);
+while (idx != -1) {
+  indices.push(idx);
+  idx = array.indexOf(element, idx + 1);
+}
+console.log(indices);
+// [0, 2, 4]
+
+ +

Determinar si un element existeix o no a l'array i actualitzar-lo

+ +
function updateVegetablesCollection (veggies, veggie) {
+    if (veggies.indexOf(veggie) === -1) {
+        veggies.push(veggie);
+        console.log('La nova col·lecció de verdures és : ' + veggies);
+    } else if (veggies.indexOf(veggie) > -1) {
+        console.log(veggie + ' ja existeix a la col·lecció de verdures.');
+    }
+}
+
+var veggies = ['potato', 'tomato', 'chillies', 'green-pepper'];
+
+updateVegetablesCollection(veggies, 'spinach');
+//  La nova col·lecció de verdures és : potato,tomato,chillies,green-papper,spinach
+updateVegetablesCollection(veggies, 'spinach');
+// spinach  ja existeix a la col·lecció de verdures.
+
+ +

Polyfill

+ +

indexOf() va ser afegit al standard ECMA-262 a la cinquena versió; degut a això pot no estar present en tots els navegadors. Afegir el següent codi al principi dels vostres escripts us permetrà utilitzar aquesta funció en navegadors on indexOf no sigui suportada de forma nativa. Aquest algoritme és el mateix que l'especificat a la cinquena versió de l'ECMA-262, donat que {{jsxref("Global_Objects/TypeError", "TypeError")}} i {{jsxref("Math.abs()")}} no han estat modificats.

+ +
// Production steps of ECMA-262, Edition 5, 15.4.4.14
+// Reference: http://es5.github.io/#x15.4.4.14
+if (!Array.prototype.indexOf) {
+  Array.prototype.indexOf = function(searchElement, fromIndex) {
+
+    var k;
+
+    // 1. Sigui o el resultat de cridar ToObject passant
+    //    el valor de this com a argument.
+    if (this == null) {
+      throw new TypeError('"this" is null or not defined');
+    }
+
+    var o = Object(this);
+
+    // 2. Sigui lenValue el resultat de cridar el mètode intern Get
+    //    de o amb l'argument "length".
+    // 3. Sigui len ToUint32(lenValue).
+    var len = o.length >>> 0;
+
+    // 4. Si len és 0, retornem -1.
+    if (len === 0) {
+      return -1;
+    }
+
+    // 5. Si s'ha passat l'argument fromIndex n valdrà
+    //    ToInteger(fromIndex); si no n valdrà 0.
+    var n = +fromIndex || 0;
+
+    if (Math.abs(n) === Infinity) {
+      n = 0;
+    }
+
+    // 6. Si n >= len, retornem -1.
+    if (n >= len) {
+      return -1;
+    }
+
+    // 7. Si n >= 0, k valdrà n.
+    // 8. Si no, si n<0, k valdrà len - abs(n).
+    //    Si k és menor que 0, llavors k valdrà 0.
+    k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
+
+    // 9. Repetir mentre k < len
+    while (k < len) {
+      // a. Sigui Pk ToString(k).
+      //   Això és implícit per a operands a l'esquerra de l'operador in
+      // b. Sigui kPresent el resultat de cridar el mètode intern
+      //    HasProperty de o amb l'argument Pk.
+      //   Aquest pas es pot combinar amb c
+      // c. Si kPresent és cert, llavors
+      //    i.  Sigui elementK el resultat de cridar el mètode intern Get
+      //        de o amb l'argument ToString(k).
+      //   ii.  Sigui same el resultat d'aplicar l'algoritme del
+      //         comparador d'igualtat estricta a
+      //        searchElement i elementK.
+      //  iii.  Si same és cert retornem k.
+      if (k in o && o[k] === searchElement) {
+        return k;
+      }
+      k++;
+    }
+    return -1;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.14', 'Array.prototype.indexOf')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.indexof', 'Array.prototype.indexOf')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.indexof', 'Array.prototype.indexOf')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Notes de compatibilitat

+ +
    +
  • Començant amb el Firefox 47 {{geckoRelease(47)}},  aquest mètode no retornarà -0. Per exemple, [0].indexOf(0, -0) ara sempre retornarà +0 ({{bug(1242043)}}).
  • +
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.lastIndexOf()")}}
  • +
  • {{jsxref("TypedArray.prototype.indexOf()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/isarray/index.html b/files/ca/web/javascript/reference/global_objects/array/isarray/index.html new file mode 100644 index 0000000000..6393dde86f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/isarray/index.html @@ -0,0 +1,135 @@ +--- +title: Array.isArray() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/isArray +translation_of: Web/JavaScript/Reference/Global_Objects/Array/isArray +--- +
{{JSRef}}
+ +

El mètode Array.isArray()retorna true si un objecte és un array, o false en cas que no ho sigui.

+ +

Sintaxi

+ +
Array.isArray(obj)
+ +

Paràmetres

+ +
+
obj
+
L'objecte que s'ha de comprovar.
+
+ +

Descripció

+ +

Vegeu l'article “Determinar amb absoluta precisió si un objecte JavaScript és un array o no” per més detalls.

+ +

Exemples

+ +
// totes les crides següents retornen true
+Array.isArray([]);
+Array.isArray([1]);
+Array.isArray(new Array());
+// Fet poc conegut: Array.prototype és un array per si mateix:
+Array.isArray(Array.prototype);
+
+// totes les crides següents retornen false
+Array.isArray();
+Array.isArray({});
+Array.isArray(null);
+Array.isArray(undefined);
+Array.isArray(17);
+Array.isArray('Array');
+Array.isArray(true);
+Array.isArray(false);
+Array.isArray({ __proto__: Array.prototype });
+
+ +

Polyfill

+ +

Executar el codi següent abans de cap altre codi crearà Array.isArray() si no es troba disponible de forma nativa.

+ +
if (!Array.isArray) {
+  Array.isArray = function(arg) {
+    return Object.prototype.toString.call(arg) === '[object Array]';
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.3.2', 'Array.isArray')}}{{Spec2('ES5.1')}}Definició inicial. Implementat en JavaScript 1.8.5.
{{SpecName('ES6', '#sec-array.isarray', 'Array.isArray')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("5")}}{{CompatGeckoDesktop("2.0")}}{{CompatIE("9")}}{{CompatOpera("10.5")}}{{CompatSafari("5")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("2.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/join/index.html b/files/ca/web/javascript/reference/global_objects/array/join/index.html new file mode 100644 index 0000000000..8d76b4474a --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/join/index.html @@ -0,0 +1,123 @@ +--- +title: Array.prototype.join() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/join +translation_of: Web/JavaScript/Reference/Global_Objects/Array/join +--- +
{{JSRef}}
+ +

El mètode join() ajunta tots els elements d'un array en un string.

+ +

Sintaxi

+ +
str = arr.join([separador = ','])
+ +

Paràmetres

+ +
+
separador
+
Opcional. Expecifica un string que s'utilitzarà per a serparar cada element de l'array. El separador es converteix a string automàticament en cas necesari. Si s'omet, els elements de l'array seran separats per una coma. Si separador és un string buit, s'ajuntaran tots els elements de l'array sense cap caràcter entre ells.
+
+ +

Descripció

+ +

Ajunta les conversions a string de tots els elements de l'array en un sol string. Si un element és undefined o bé null aquest es converteix en una cadena buida.

+ +

Exemples

+ +

Quatre formes diferents d'ajuntar un array

+ +

L'exemple següent crea un array, a, amb tres elements, l'ajunta quatre cops: utilitzant el separador per defect, utilitzant coma i espai, utiltizant el signe més i utilitzant un string buit.

+ +
var a = ['Wind', 'Rain', 'Fire'];
+var myVar1 = a.join();      // assigna 'Wind,Rain,Fire' a myVar1
+var myVar2 = a.join(', ');  // assigna 'Wind, Rain, Fire' a myVar2
+var myVar3 = a.join(' + '); // assigna 'Wind + Rain + Fire' a myVar3
+var myVar4 = a.join('');    // assigna 'WindRainFire' a myVar4
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.4.4.5', 'Array.prototype.join')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.join', 'Array.prototype.join')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.split()")}}
  • +
  • {{jsxref("Array.prototype.toString()")}}
  • +
  • {{jsxref("TypedArray.prototype.join()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/keys/index.html b/files/ca/web/javascript/reference/global_objects/array/keys/index.html new file mode 100644 index 0000000000..7d9df8e1f5 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/keys/index.html @@ -0,0 +1,115 @@ +--- +title: Array.prototype.keys() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/keys +translation_of: Web/JavaScript/Reference/Global_Objects/Array/keys +--- +
{{JSRef}}
+ +

El mètode keys() retorna un nou Array Iterator que conté la clau de cada posició d'un array.

+ +

Sintaxi

+ +
arr.keys()
+ +

Exemples

+ +

Ús bàsic

+ +
var arr = ["a", "b", "c"];
+var iterator = arr.keys();
+
+console.log(iterator.next()); // { value: 0, done: false }
+console.log(iterator.next()); // { value: 1, done: false }
+console.log(iterator.next()); // { value: 2, done: false }
+console.log(iterator.next()); // { value: undefined, done: true }
+
+ +

L'iterador de claus no ignora els forats

+ +
var arr = ["a", , "c"];
+var sparseKeys = Object.keys(arr);
+var denseKeys = [...arr.keys()];
+console.log(sparseKeys); // ['0', '2']
+console.log(denseKeys);  // [0, 1, 2]
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.keys', 'Array.prototype.keys')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.keys', 'Array.prototype.keys')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("28")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("28")}}{{CompatNo}}{{CompatNo}}8.0
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.values()")}}
  • +
  • {{jsxref("Array.prototype.entries()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/lastindexof/index.html b/files/ca/web/javascript/reference/global_objects/array/lastindexof/index.html new file mode 100644 index 0000000000..038aa614e5 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/lastindexof/index.html @@ -0,0 +1,197 @@ +--- +title: Array.prototype.lastIndexOf() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/lastIndexOf +translation_of: Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf +--- +
{{JSRef}}
+ +

 

+ +

El mètode lastIndexOf () retorna l'última posició a la qual es troba l'element proporcionat, o bé -1 si l'element no es troba dins l'array. L'array es recorrerà en ordre invers a partir de la posició pocicioInicial.

+ +

Sintaxi

+ +
arr.lastIndexOf(elementAcercar[, posicioInicial = arr.length - 1])
+ +

Paràmetres

+ +
+
elementAcercar
+
L'element que es cercarà.
+
posicioInicial
+
Opcional. La posició a partir de la qual es començarà a cercar cap enrera. El valor per defecte és el tamany de l'array menys un, és a dir, tota l'array serà cercada. Si la posició proporcionada es major o igual que la longitud de l'array tot l'array serà cercat. Si és negatiu s'utilitzarà com a desplaçament respecte el final de l'array. Nota: l'array sempre es cercarà accedint a les posicions en ordre descendent encara que la posicioInicial sigui negatiu. Si la posició calculada és menor que zero, es retornarà -1, és a dir, l'array no serà cercat.
+
+ +

Descripció

+ +

lastIndexOf compara elementAcercar amb els elements de l'array mitjançant la igualtat estricta (el mateix mètode utilitzat per l'operador ===, també anomenat triple-equals).

+ +

Exemples

+ +

Utilitzar lastIndexOf

+ +

L'exemple següent utilitza lastIndexOf per a localitzar valors dins un array.

+ +
var array = [2, 5, 9, 2];
+array.lastIndexOf(2);     // 3
+array.lastIndexOf(7);     // -1
+array.lastIndexOf(2, 3);  // 3
+array.lastIndexOf(2, 2);  // 0
+array.lastIndexOf(2, -2); // 0
+array.lastIndexOf(2, -1); // 3
+
+ +

Trobar totes les ocurrències d'un element

+ +

L'exemple segïuent utilitza lastIndexOf per a trobar totes les posicions d'un element en un array donat, utilitzant {{jsxref("Array.prototype.push", "push")}} per a afegir-los a u altre array un cop trobats.

+ +
var indices = [];
+var array = ['a', 'b', 'a', 'c', 'a', 'd'];
+var element = 'a';
+var idx = array.lastIndexOf(element);
+while (idx != -1) {
+  indices.push(idx);
+  idx = (idx > 0 ? array.lastIndexOf(element, idx - 1) : -1);
+}
+
+console.log(indices);
+// [4, 2, 0]
+
+ +

Cal destacar que el cas idx == 0 s'ha de tractar de forma separada ja que l'element sempre serà trobat sense importar el valor del paràmetre posicioInicial si és el primer element de l'array. Aquest comportament és diferent del del mètode {{jsxref("Array.prototype.indexOf", "indexOf")}}.

+ +

Polyfill

+ +

lastIndexOf va ser afegit al standard ECMA-262 a la cinquena versió; degut a això pot no estar present en tots els navegadors. Afegir el següent codi al principi dels vostres escripts us permetrà utilitzar aquesta funció en navegadors on indexOf no sigui suportada de forma nativa. Aquest algoritme és el mateix que l'especificat a la cinquena versió de l'ECMA-262, donat que {{jsxref("Object")}}, {{jsxref("TypeError")}}, {{jsxref("Number")}}, {{jsxref("Math.floor")}}, {{jsxref("Math.abs")}}, i{{jsxref("Math.min")}} no han estat modificats.

+ +
// Production steps of ECMA-262, Edition 5, 15.4.4.15
+// Reference: http://es5.github.io/#x15.4.4.15
+if (!Array.prototype.lastIndexOf) {
+  Array.prototype.lastIndexOf = function(searchElement /*, fromIndex*/) {
+    'use strict';
+
+    if (this === void 0 || this === null) {
+      throw new TypeError();
+    }
+
+    var n, k,
+      t = Object(this),
+      len = t.length >>> 0;
+    if (len === 0) {
+      return -1;
+    }
+
+    n = len - 1;
+    if (arguments.length > 1) {
+      n = Number(arguments[1]);
+      if (n != n) {
+        n = 0;
+      }
+      else if (n != 0 && n != (1 / 0) && n != -(1 / 0)) {
+        n = (n > 0 || -1) * Math.floor(Math.abs(n));
+      }
+    }
+
+    for (k = n >= 0 ? Math.min(n, len - 1) : len - Math.abs(n); k >= 0; k--) {
+      if (k in t && t[k] === searchElement) {
+        return k;
+      }
+    }
+    return -1;
+  };
+}
+
+ +

Cal destacar que l'implementació aspira  una compatibilitat ambsoluta amb els mètodes lastIndexOf trobats al Firefox i el motor JavaScript SpiderMonkey, incloent diversos casos que són excepcionals. Si es pretén utilitzar-lo en aplicacions quotidianes, és posible calcular from amb codi més senzill si s'ignoren aquests casos.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.15', 'Array.prototype.lastIndexOf')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.lastindexof', 'Array.prototype.lastIndexOf')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.lastindexof', 'Array.prototype.lastIndexOf')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Notes de compatibilitat

+ +
    +
  • Començant amb el Firefox 47 {{geckoRelease(47)}}, aquest mètode no retornarà -0. Per exemple, [0].lastIndexOf(0, -0) ara sempre retornarà +0 ({{bug(1242043)}}).
  • +
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.indexOf()")}}
  • +
  • {{jsxref("TypedArray.prototype.lastIndexOf()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/length/index.html b/files/ca/web/javascript/reference/global_objects/array/length/index.html new file mode 100644 index 0000000000..a4954565ff --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/length/index.html @@ -0,0 +1,128 @@ +--- +title: Array.prototype.length +slug: Web/JavaScript/Referencia/Objectes_globals/Array/length +translation_of: Web/JavaScript/Reference/Global_Objects/Array/length +--- +
{{JSRef}}
+ +

La propietat length representa un nombre sencer sense signe de 32 bits que és sempre numèricament major que la última posició de l'array.

+ +
{{js_property_attributes(1, 0, 0)}}
+ +

Sintaxi

+ +
arr.length
+ +

Descripció

+ +

El valor de la propietat length és un sencer amb un signe positiu un valor menor de 2 elevat a 32 (232).

+ +

Es pot establir la propietat length per truncar un array en qualsevol moment. Quan s'exten un array per mitjà de canviar la seva propietat length, el nombre actual d'elements no s'incrementa; per exemple, si s'estableix length a 3 quan en aquell moment és 2, l'array encara conté només 2 elements. Així, la propietat length no necessàriament indica el nombre de valors definits en l'array. Vegeu també Relació entre length i propietats numèriques.

+ +

Exemples

+ +

Recorrer un array

+ +

En l'exemple següent, es recorre l'array numbers comprovant la propietat length. Es duplica el valor de cada element.

+ +
var numbers = [1, 2, 3, 4, 5];
+
+for (var i = 0; i < numbers.length; i++) {
+  numbers[i] *= 2;
+}
+// numbers és ara [2, 4, 6, 8, 10]
+
+ +

Escurçar una array

+ +

L'exemple següent escurça l'array statesUS a una llargària de 50 en cas que la llargària actual sigui major de 50.

+ +
if (statesUS.length > 50) {
+  statesUS.length = 50;
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.4.5.2', 'Array.length')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-properties-of-array-instances-length', 'Array.length')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/map/index.html b/files/ca/web/javascript/reference/global_objects/array/map/index.html new file mode 100644 index 0000000000..6f0dc1a0d4 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/map/index.html @@ -0,0 +1,317 @@ +--- +title: Array.prototype.map() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/map +translation_of: Web/JavaScript/Reference/Global_Objects/Array/map +--- +
{{JSRef("Global_Objects", "Array")}}
+ +

Resum

+ +

El mètode map() crea una nova array amb els resultats de la crida a la funció proporcionada un cop per cada element.

+ +

Sintaxi

+ +
arr.map(callback[, thisArg])
+ +

Paràmetres

+ +
+
callback
+
Funció que produeix un element de la nova array, agafant tres arguments:
+
+
+
currentValue
+
El valor actual que és processat en l'array.
+
index
+
L'índex de l'element actual que és processat en l'array.
+
array
+
L'array sobre la qual es crida map.
+
+
+
thisArg
+
Opcional. Valor a usar com a this quan s'executa la funció.
+
+ +

Descripció

+ +

map crida a la funció passada callback un cop per cada element de l'array, en ordre, i construeix un nou array a partir dels resultats. Només s'invoca callback per a posicions de l'array que tinguin valors assignats, incloent undefined. No es crida per a elements no trobats (és a dir, elements que no han rebut mai un valor o bé elements que s'han eliminat).

+ +

S'invoca callback amb tres arguments: el valor de l'element, la posició de l'element a l'array, i l'array que s'està recorrent.

+ +

Si s'ha proporcionat el paràmetre thisArg a l'hora de cridar map, aquest es passarà a la funció callback com a valor per a this dins la funció. En qualsevol altre cas el valor utilitzat com a this serà {{jsxref("Global_Objects/undefined", "undefined")}}. El valor finalment observable des de callback es determinarà d'acord a les regles usuals per a determinar el valor de this dins una funció.

+ +

map no canvia l'array des del que es crida (tot i que callback, si s'invoca, pot fer-ho).

+ +

El rang d'elements processat per map s'estableix abans de la primera invocació de callback. Els elements que s'hagin afegit a l'array després d'haver cridat map no seran visitats per callback. Si es canvient els elements existents, o s'eliminen, el valor passat a callback serà el valor que tinguessin quan es va invocar map; els elements que s'han eliminat no es visitaran.

+ +

Exemples

+ +

Exemple: Generar un array de rels quadrades a partir d'un array de nombres

+ +

El codi següent agafa un array de nombres i crea un nou array que contindrà les rels quadrades dels nombres del primer array.

+ +
var nombres = [1, 4, 9];
+var rels = nombres.map(Math.sqrt);
+// rels ara val [1, 2, 3], nombres encara val [1, 4, 9]
+
+ +

Exemple: Utilitzar map per a canviar el format dels objectes d'un array

+ +

El codi següent agafa un array d'objectes i crea un nou array que conté els nous objectes, que tenen un format diferent.

+ +
var kvArray = [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}];
+var reformattedArray = kvArray.map(function(obj){
+   var rObj = {};
+   rObj[obj.key] = obj.value;
+   return rObj;
+});
+// reformattedArray ara val [{1:10}, {2:20}, {3:30}],
+// kvArray encara val [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}]
+
+ +

Exemple: Assignar els nombres d'un array al resultat d'una funció que espera un argument

+ +

El codi següent mostra com funciona map quan s'utilitza una funció que espera un argument. L'argument rebrà automàticament el valor de cada element de l'array mentre map recorre tot l'array original.

+ +
var nombres = [1, 4, 9];
+var dobles = nombres.map(function(num) {
+  return num * 2;
+});
+// dobles ara val [2, 8, 18]. nombres encara val [1, 4, 9]
+
+ +

Exemple: utilitzar map de forma genèrica

+ +

Aquest exemple mostra com utilitzar map en un {{jsxref("Global_Objects/String", "String")}} per a obtindre un array de bytes que representin el valor dels caràcters codificats amb ASCII:

+ +
var map = Array.prototype.map;
+var a = map.call('Hello World', function(x) { return x.charCodeAt(0); });
+// a ara val [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
+
+ +

Exemple: Utilitzar map de forma genèrica amb querySelectorAll

+ +

Aquest exemple mostra com iterar sobre una col·lecció d'objectes obtinguts mitjançant querySelectorAll. En aquest cas obtenim totes les opcions seleccionades de la web:

+ +
var elems = document.querySelectorAll('select option:checked');
+var values = Array.prototype.map.call(elems, function(obj) {
+  return obj.value;
+});
+
+ +

Exemple: Utilitzar map per a invertir un string

+ +
var str = '12345';
+Array.prototype.map.call(str, function(x) {
+  return x;
+}).reverse().join('');
+
+// Sortida: '54321'
+// Bonus: utilitzeu '===' per a comprovar si l'string original era un palindrom
+
+ +

Exemple: Un cas d'ús delicat

+ +

(inspirat per aquesta entrada de blog)

+ +

És comú utilitzar la funció callback amb un sol argument (l'element corresponent a la volta del bucle de l'array que s'està recorrent). Algunes funcions també solen requerir un sol argument, tot i que també poden acceptar arguements adicionals de forma opcional. Això pot produïr comportaments confussos.

+ +
// Considerem:
+['1', '2', '3'].map(parseInt);
+// Quan hom esperaria [1, 2, 3]
+// El resultat real serà [1, NaN, NaN]
+
+// parseInt s'utilitza normalment amb un argument, però admet dos.
+// El primer és una expressió mentre que el segon és el mòdul.
+// Array.prototype.map passa 3 arguments a la funció callback:
+// l'element, la posició de l'element i l'array
+// parseInt ignorarà el tercer argument, però no el segon,
+// provocant la confussió. Vegeu l'entrada del blog per a més detalls
+
+function returnInt(element) {
+  return parseInt(element, 10);
+}
+
+['1', '2', '3'].map(returnInt); // [1, 2, 3]
+// Actual result is an array of numbers (as expected)
+
+// A simpler way to achieve the above, while avoiding the "gotcha":
+['1', '2', '3'].map(Number); // [1, 2, 3]
+
+ +

Polyfill

+ +

map va ser afegit a l'standard ECMA-262 a la cinquena edició; degut a això aquest pot no estar present en algunes implementacions de l'standard. Es pot solventar aquest problema insertant el codi següent al principi dels scripts que el requereixin, permetent que implementacions on map no està disponible de forma nativa en puguin fer ús. Aquest algoritme és exactament l'especificat per l'ECMA-262, 5a edició, assument que {{jsxref("Global_Objects/Object", "Object")}}, {{jsxref("Global_Objects/TypeError", "TypeError")}}, i {{jsxref("Global_Objects/Array", "Array")}} tenen els seus valors originals i que callback.call s'evalua al valor original de {{jsxref("Function.prototype.call")}}.

+ +
// Production steps of ECMA-262, Edition 5, 15.4.4.19
+// Reference: http://es5.github.io/#x15.4.4.19
+if (!Array.prototype.map) {
+
+  Array.prototype.map = function(callback, thisArg) {
+
+    var T, A, k;
+
+    if (this == null) {
+      throw new TypeError(' this is null or not defined');
+    }
+
+    // 1. Assignem a O el resultat de cridar a ToObject passant-li el valor de |this|
+    //    com a argument.
+    var O = Object(this);
+
+    // 2. lenValue és el resultat de cridar el mètode intern
+    //    Get de O amb l'argument "length".
+    // 3. Assignem a len el valor d'executar ToUint32(lenValue).
+    var len = O.length >>> 0;
+
+    // 4. Si IsCallable(callback) és false, llencem l'excepció TypeError.
+    // Vegeu: http://es5.github.com/#x9.11
+    if (typeof callback !== 'function') {
+      throw new TypeError(callback + ' is not a function');
+    }
+
+    // 5. Si s'ha passat l'argument thisArg, l'assigment a T; en cas contrari T valdrà undefined.
+    if (arguments.length > 1) {
+      T = thisArg;
+    }
+
+    // 6. Assignem a A el nou array creat per l'expressió new Array(len)
+    //    on Array és el constructor standard de JavaScript amb aquest nom i
+    //    len és el valor de len.
+    A = new Array(len);
+
+    // 7. Assignem 0 a k
+    k = 0;
+
+    // 8. Repetim mentre k < len
+    while (k < len) {
+
+      var kValue, mappedValue;
+
+      // a. Assignem ToString(k) a Pk.
+      //   Això és implicit per a operands al cantó esquerra de l'operador in
+      // b. Assignem a kPresent el resultat de cridar el mètode intern HasProperty
+      //    de O amb l'argument Pk.
+      //   Es pot combinar aquest pas amb c
+      // c. Si kPresent és true, llavors
+      if (k in O) {
+
+        // i. Assignem a kValue el resultat de cridar el mètode intern
+        //    Get de O amb l'argument Pk.
+        kValue = O[k];
+
+        // ii. Assignem a mappedValue el resultat de cridar el mètode intern Call
+        //     de callback amb T com a valor de this i una llista d'arguments
+        //     que conté kValue, k, i O.
+        mappedValue = callback.call(T, kValue, k, O);
+
+        // iii. Cridem el mètode intern DefineOwnProperty de A amb els arguments
+        // Pk, Property Descriptor
+        // { Value: mappedValue,
+        //   Writable: true,
+        //   Enumerable: true,
+        //   Configurable: true },
+        // i false.
+
+        // En navegadors que suportin Object.defineProperty, utilitzeu el següent:
+        // Object.defineProperty(A, k, {
+        //   value: mappedValue,
+        //   writable: true,
+        //   enumerable: true,
+        //   configurable: true
+        // });
+
+        // Per a un millor suport de navegadors, utilitzeu el següent:
+        A[k] = mappedValue;
+      }
+      // d. incrementem k en 1.
+      k++;
+    }
+
+    // 9. retornem A
+    return A;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.19', 'Array.prototype.map')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.map', 'Array.prototype.map')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.forEach()")}}
  • +
  • {{jsxref("Map")}} object
  • +
  • {{jsxref("Array.from()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/of/index.html b/files/ca/web/javascript/reference/global_objects/array/of/index.html new file mode 100644 index 0000000000..efe2d96abd --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/of/index.html @@ -0,0 +1,120 @@ +--- +title: Array.of() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/of +translation_of: Web/JavaScript/Reference/Global_Objects/Array/of +--- +
{{JSRef}}
+ +

El mètode Array.of() crea una nova instància Array amb un nombre variable d'arguments, sense tenir en compte el nombre o el tipus d'arguments.

+ +

La diferència entre Array.of() i el constructor Array es troba en el maneig dels arguments sencers: Array.of(42) crea un array amb un sol element, 42, mentre que Array(42) crea un array amb 42 elements, Cadascun dels quals és undefined.

+ +

Sintaxi

+ +
Array.of(element0[, element1[, ...[, elementN]]])
+ +

Paràmetres

+ +
+
elementN
+
Elements a partir dels quals es crea l'array.
+
+ +

Descripció

+ +

Aquesta funció forma part del ECMAScript 6 estàndard. Per més informació vegeu proposta de l'Array.of i Array.from i Array.of polyfill.

+ +

Exemples

+ +
Array.of(1);         // [1]
+Array.of(1, 2, 3);   // [1, 2, 3]
+Array.of(undefined); // [undefined]
+
+ +

Polyfill

+ +

Executar el codi següent abans que cap altre codi crearà Array.of() en cas que no es trobi disponible de forma nativa.

+ +
if (!Array.of) {
+  Array.of = function() {
+    return Array.prototype.slice.call(arguments);
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.of', 'Array.of')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(45)}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome(39)}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array")}}
  • +
  • {{jsxref("Array.from()")}}
  • +
  • {{jsxref("TypedArray.of()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/pop/index.html b/files/ca/web/javascript/reference/global_objects/array/pop/index.html new file mode 100644 index 0000000000..7d2ee3189f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/pop/index.html @@ -0,0 +1,123 @@ +--- +title: Array.prototype.pop() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/pop +translation_of: Web/JavaScript/Reference/Global_Objects/Array/pop +--- +
{{JSRef}}
+ +

El mètode pop() elimina l'últim element d'un array i retorna l'element eliminat.

+ +

Sintaxi

+ +
arr.pop()
+ +

Descripció

+ +

El mètode pop elimina l'últim element d'un array i retorna el seu valor.

+ +

pop és genèric de forma intencionada; aquest mètode pot ser {{jsxref("Function.call", "cridat", "", 1)}} i {{jsxref("Function.apply", "aplicat", "", 1)}} des de/a objectes que semblin arrays. Els objectes que no continguin la propietat length que reflecteixi l'última propietat d'una sèrie de propietats numèriques consecutives, on el nom de la primera propietat sigui el zero, poden comportar-se de forma imprevista.

+ +

Si es crida pop() en un array buit, es retornarà {{jsxref("undefined")}}.

+ +

Exemples

+ +

Esborrar l'últim element d'un array

+ +

El codi següent crea un array anomenat myFish que conté quatre elements, després elimina l'últim element.

+ +
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
+
+console.log(myFish); // ['angel', 'clown', 'mandarin', 'sturgeon']
+
+var popped = myFish.pop();
+
+console.log(myFish); // ['angel', 'clown', 'mandarin' ]
+
+console.log(popped); // 'sturgeon'
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.6', 'Array.prototype.pop')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.pop', 'Array.prototype.pop')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.push()")}}
  • +
  • {{jsxref("Array.prototype.shift()")}}
  • +
  • {{jsxref("Array.prototype.unshift()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/push/index.html b/files/ca/web/javascript/reference/global_objects/array/push/index.html new file mode 100644 index 0000000000..5770e5a10c --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/push/index.html @@ -0,0 +1,146 @@ +--- +title: Array.prototype.push() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/push +translation_of: Web/JavaScript/Reference/Global_Objects/Array/push +--- +
{{JSRef}}
+ +

El mètode push() afegeix un o més elements al final d'un array i retorna el nou tamany de l'array.

+ +

Sintaxi

+ +
arr.push(element1, ..., elementN)
+ +

Paràmetres

+ +
+
elementN
+
Els elements que seran afegits al final de l'array.
+
+ +

Valor retornat

+ +

El nou valor de la propietat {{jsxref("Array.length", "length")}} de l'objecte del qual s'ha executat el mètode.

+ +

Descripció

+ +

El mètode push afegeix valors a un array.

+ +

push és genèric de manera intencionada. Es pot utilitzar aquest mètode amb {{jsxref("Function.call", "call()")}} i {{jsxref("Function.apply", "apply()")}} en objectes semblants a arrays. El mètode push depèn de la propietat length per a determinar on insertar els nous valors. Si la propietat length no es pot convertir en un nombre, la posició utilitzada serà la 0. Això inclou la posibilitat que no existeixi la propietat length, en aquest case es crearà automàticament la propietat length.

+ +

Els únics objectes semblants a arrays que inclou el nucli de JavaScript són els {{jsxref("Global_Objects/String", "strings", "", 1)}}, tot i que no admeten la aplicació d'aquest mètode ja que els strings són immutables.

+ +

Exemples

+ +

Afegir elements a un array

+ +

El codi següent crea un array anomenat esports que conté dos elements, llavors l'hi afegeix dos elements més. La variable total acaba revent el valor del nou tamany d e l'array.

+ +
var esports = ['futbol', 'basket'];
+var total = esports.push('badminton', 'natació');
+
+console.log(esports); // ['futbol', 'basket', 'badminton', 'natació']
+console.log(total);  // 4
+
+ +

Unir dos arrays

+ +

Aquest exemple utilitza {{jsxref("Function.apply", "apply()")}} per a afegir tots els elements d'un segon array.

+ +
var verdures = ['ceba', 'patata'];
+var mesVerdures = ['pastanaga', 'rabe'];
+
+// Uneix el segon array al primer
+// Equivalent a verdures.push('pastanaga', 'rabe');
+Array.prototype.push.apply(verdures , mesVerdures);
+
+console.log(verdures); // ['ceba', 'patata', 'pastanaga', 'rabe']
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.7', 'Array.prototype.push')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.push', 'Array.prototype.push')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.pop()")}}
  • +
  • {{jsxref("Array.prototype.shift()")}}
  • +
  • {{jsxref("Array.prototype.unshift()")}}
  • +
  • {{jsxref("Array.prototype.concat()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/reduce/index.html b/files/ca/web/javascript/reference/global_objects/array/reduce/index.html new file mode 100644 index 0000000000..fa6253fd0c --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/reduce/index.html @@ -0,0 +1,304 @@ +--- +title: Array.prototype.reduce() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/Reduce +translation_of: Web/JavaScript/Reference/Global_Objects/Array/Reduce +--- +
{{JSRef}}
+ +

El mètode reduce() aplica una funció sobre un acumulador i cada valor de l'array (de esquerra a dreta) perr a reduir-lo a un sol valor.

+ +

sintaxi

+ +
arr.reduce(callback[, valorInicial])
+ +

Parameters

+ +
+
callback
+
Funció a executar per a cada valor de l'array. Rep quatre arguments: +
+
valorPrevi
+
El valor retornat prèviament en l'última invocació de la funció callback, o bé valorInicial, si s'ha proporcionat (vegeu més abaix).
+
valorActual
+
L'element essent processat actualment a l'array.
+
index
+
La posició de l'element essent processat actualment a l'array.
+
array
+
L'array al qual s'ha cridat el mètode reduce.
+
+
+
valorInicial
+
Opcional. Valor a utilitzar com a primer argument a la primera crida de la funció callback.
+
+ +

Descripció

+ +

reduce executa la funció callback un cop per cada element present a l'array, excloent forats a l'array, i rep quatre arguments:

+ +
    +
  • valorPrevi
  • +
  • valorActual
  • +
  • index
  • +
  • array
  • +
+ +

El primer cop que es crida callback, valorAnterior i valorActual reben el valor de la forma descrita a continuació. Si es proporciona valorInicial a la crida de reduce, valorAnterior rebrà el valor de valorInicial i valorActual serà igual al primer valor de l'array. Si no es proporciona valorInicial, valorAnterior serà igual al primer valor de l'array i valorActual serà igual al segon.

+ +

Si l'array és buit i no s'ha proporcionat valorInicial, es llençarà {{jsxref("Global_Objects/TypeError", "TypeError")}}. Si l'array només té un element (sense importar la seva posició) i no s'ha proporcionat valorInicial, o si valorInicial s'ha proporcionat però l'array és buit, es retornarà aquest únic valor sense realitzar cap crida a callback.

+ +

Suposem que s'ha utilitzar reduce de la forma següent:

+ +
[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array) {
+  return previousValue + currentValue;
+});
+
+ +

La funció callback es cridarà quatre cops, on els arguments i els valors a retornar es mostren a continuació:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 valorAnteriorvalorActualindexarrayvalor retornat
primera crida011[0, 1, 2, 3, 4]1
segons crida122[0, 1, 2, 3, 4]3
tercera crida333[0, 1, 2, 3, 4]6
quarta crida644[0, 1, 2, 3, 4]10
+ +

El valor retornat per reduce serà el de l'última invocació a callback (10).

+ +

Si es proporcionés el valor inicial com a segon argument de reduce, el resultat seria el següent:

+ +
[0, 1, 2, 3, 4].reduce(function(valorAnterior, valorActual, index, array) {
+  return valorAnterior + valorActual;
+}, 10);
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 valorAnteriorvalorActualindexarrayvalor retornat
primera crida1000[0, 1, 2, 3, 4]10
segona crida1011[0, 1, 2, 3, 4]11
tercera crida1122[0, 1, 2, 3, 4]13
quarta crida1333[0, 1, 2, 3, 4]16
cinquena crida1644[0, 1, 2, 3, 4]20
+ +

El valor de la crida final (20) és el retornat per la funció reduce.

+ +

Exemples

+ +

Sumar tots els valors d'un array

+ +
var total = [0, 1, 2, 3].reduce(function(a, b) {
+  return a + b;
+});
+// total == 6
+
+ +

Aplanar un array d'arrays

+ +
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
+  return a.concat(b);
+}, []);
+// flattened is [0, 1, 2, 3, 4, 5]
+
+ +

Polyfill

+ +

Array.prototype.reduce va ser afegida a l'standard ECMA-262 a la cinquena edició; degut a això aquesta no estar present a totes les implementacions de l'standard. És possible simular-la en aquests casos mitjançant l'inserció del codi que trobareu a continuació a l'inici dels vostres scripts, tot permetent-vos utilitzar reduce en implementacions que no la suportin de forma nativa.

+ +
// Production steps of ECMA-262, Edition 5, 15.4.4.21
+// Reference: http://es5.github.io/#x15.4.4.21
+if (!Array.prototype.reduce) {
+  Array.prototype.reduce = function(callback /*, initialValue*/) {
+    'use strict';
+    if (this == null) {
+      throw new TypeError('Array.prototype.reduce called on null or undefined');
+    }
+    if (typeof callback !== 'function') {
+      throw new TypeError(callback + ' is not a function');
+    }
+    var t = Object(this), len = t.length >>> 0, k = 0, value;
+    if (arguments.length == 2) {
+      value = arguments[1];
+    } else {
+      while (k < len && !(k in t)) {
+        k++;
+      }
+      if (k >= len) {
+        throw new TypeError('Reduce of empty array with no initial value');
+      }
+      value = t[k++];
+    }
+    for (; k < len; k++) {
+      if (k in t) {
+        value = callback(value, t[k], k, t);
+      }
+    }
+    return value;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.21', 'Array.prototype.reduce')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.8.
{{SpecName('ES6', '#sec-array.prototype.reduce', 'Array.prototype.reduce')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9")}}{{CompatIE("9")}}{{CompatOpera("10.5")}}{{CompatSafari("4.0")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.reduceRight()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/reverse/index.html b/files/ca/web/javascript/reference/global_objects/array/reverse/index.html new file mode 100644 index 0000000000..2528cabdc5 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/reverse/index.html @@ -0,0 +1,119 @@ +--- +title: Array.prototype.reverse() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/reverse +translation_of: Web/JavaScript/Reference/Global_Objects/Array/reverse +--- +
{{JSRef}}
+ +

El mètode reverse() inverteix un array. El primer element de l'array es converteix en l'últim element i l'últim element de l'array passa a ésser el primer.

+ +

Sintaxi

+ +
arr.reverse()
+ +

Paràmetres

+ +

Cap.

+ +

Descripció

+ +

El mètode reverse method transposa els elements de l'objecte array cridat en un lloc, mutant l'array, i retorna una referència de l'array.

+ +

Exemples

+ +

Revertir els elements d'un array

+ +

L'exemple següent crea un array myArray, que conté tres elements, després inverteix l'array.

+ +
var myArray = ['one', 'two', 'three'];
+myArray.reverse();
+
+console.log(myArray) // ['three', 'two', 'one']
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat en JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.4.4.8', 'Array.prototype.reverse')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.reverse', 'Array.prototype.reverse')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.join()")}}
  • +
  • {{jsxref("Array.prototype.sort()")}}
  • +
  • {{jsxref("TypedArray.prototype.reverse()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/shift/index.html b/files/ca/web/javascript/reference/global_objects/array/shift/index.html new file mode 100644 index 0000000000..7b5fa1b330 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/shift/index.html @@ -0,0 +1,129 @@ +--- +title: Array.prototype.shift() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/shift +translation_of: Web/JavaScript/Reference/Global_Objects/Array/shift +--- +
{{JSRef}}
+ +

El mètode shift() elimina el primer element d'un array i retorna l'element eliminat. Aquest mètode canvia el tamany de l'array.

+ +

Sintaxi

+ +
arr.shift()
+ +

Descripció

+ +

El mètode shift elimina l'element de l'array situat a la posició zero i mou la resta d'elements a la posició immediatament menor, tot seguit retorna el valor de l'element eliminat. Si la propietat {{jsxref("Array.length", "length")}} de l'array és 0, aquest mètode retornarà {{jsxref("undefined")}}.

+ +

shift és generic de forma intencionada; aquest mètode pot ser {{jsxref("Function.call", "cridat", "", 1)}} o bé {{jsxref("Function.apply", "aplicat", "", 1)}} a objectes que es comportin com a arrays. Els objectes que no continguin una propietat length que reflecteixi l'última propietat numèrica poden tenir un comportament erràtic.

+ +

Exemples

+ +

Eliminar un element d'un array

+ +

El codi següent mostra l'array myFish abans i després d'eliminar el seu primer element. També mostra l'element eliminat:

+ +
var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
+
+console.log('myFish abans: ' + myFish);
+// "myFish abans: angel,clown,mandarin,surgeon"
+
+var shifted = myFish.shift();
+
+console.log('myFish després: ' + myFish);
+// "myFish després: clown,mandarin,surgeon"
+
+console.log('Element eliminat: ' + shifted);
+// "Element eliminat: angel"
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.9', 'Array.prototype.shift')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.shift', 'Array.prototype.shift')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.shift', 'Array.prototype.shift')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.push()")}}
  • +
  • {{jsxref("Array.prototype.pop()")}}
  • +
  • {{jsxref("Array.prototype.unshift()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/slice/index.html b/files/ca/web/javascript/reference/global_objects/array/slice/index.html new file mode 100644 index 0000000000..d181f94a65 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/slice/index.html @@ -0,0 +1,268 @@ +--- +title: Array.prototype.slice() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/slice +translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice +--- +
{{JSRef}}
+ +

El mètode slice() retorna una còpia feble d'una porció d'un array en forma d'un nou objecte array.

+ +

Sintaxi

+ +
arr.slice([inici[, fi]])
+ +

Paràmetres

+ +
+
inici
+
La posició (tenint en compte que zero correspon a la primera posició) a partir de la qual començarà l'extracció.
+
Si inici és negatiu, la posició correspondrà a la posicó final de la seqüència menys el valor proporcionat. slice(-2) extreu els últims dos elements de la seqüència.
+
Si inici és undefined, slice començarà a la posició 0.
+
fi
+
La posició (contant des de zero) en la qual finalitzarà l'extracció. slice extraurà fins a aquesta posicó, sense incloure-la.
+
slice(1,4) extrau des del segon element fins al quart element (és a dir, els elements pertanyents a les posicions 1, 2 i 3).
+
Si fi és negatiu, la posició correspondrà a la posicó final de la seqüència menys el valor proporcionat. slice(2,-1) extrau des del tercer element fins al penúltim element de la seqüència.
+
Si s'omet el paràmetre fi, slice extreurà fins al final de la seqüència (arr.length).
+
+ +

Descripció

+ +

slice no altera l'array original. Retorna una copia feble dels elements de l'array original. Els elements de l'array original són copiats a l'array resultat de la forma següent:

+ +
    +
  • Per a referències a objectes (no l'objecte en si), slice copia la referència dins el nou array. Tant l'array original com el resultat referenciaran el mateix objecte. Si l'objecte referenciat canvia, aquests canvis seran visibles a ambdos arrays.
  • +
  • Per a strings i nombres (no els objectes {{jsxref("String")}} i {{jsxref("Number")}}), slice copia els strings i nombres a l'array resultant. Els canvis al string o nombre en un dels arrays no afectaran a l'altre array.
  • +
+ +

Si s'afegeix un nou element a un dels dos arrays, l'altre array no es veu afectat.

+ +

Exemples

+ +

Retornar una part d'un array existent

+ +
var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
+var citrus = fruits.slice(1, 3);
+
+// citrus conté ['Orange','Lemon']
+
+ +

Utilitzar slice

+ +

A l'exemple següent slice crea un ou array newCar, a partir de myCar. Ambdos inclouen una referència a l'objecte myHonda. Quan el color de myHonda canvia a lila, ambdos arrays reflecteixen aquest canvi.

+ +
// Ús de slice, creem newCar a partir de myCar.
+var myHonda = { color: 'red', wheels: 4, engine: { cylinders: 4, size: 2.2 } };
+var myCar = [myHonda, 2, 'cherry condition', 'purchased 1997'];
+var newCar = myCar.slice(0, 2);
+
+// Mostrem els valors de myCar, newCar, i el color de myHonda
+//  referenciat a ambdos arrays.
+console.log('myCar = ' + myCar.toSource());
+console.log('newCar = ' + newCar.toSource());
+console.log('myCar[0].color = ' + myCar[0].color);
+console.log('newCar[0].color = ' + newCar[0].color);
+
+// Canviem el color de myHonda.
+myHonda.color = 'purple';
+console.log('The new color of my Honda is ' + myHonda.color);
+
+// Mostrem el color de myHonda referenciat a ambdos arrays.
+console.log('myCar[0].color = ' + myCar[0].color);
+console.log('newCar[0].color = ' + newCar[0].color);
+
+ +

Aquest script mostra:

+ +
myCar = [{color:'red', wheels:4, engine:{cylinders:4, size:2.2}}, 2,
+         'cherry condition', 'purchased 1997']
+newCar = [{color:'red', wheels:4, engine:{cylinders:4, size:2.2}}, 2]
+myCar[0].color = red
+newCar[0].color = red
+The new color of my Honda is purple
+myCar[0].color = purple
+newCar[0].color = purple
+
+ +

Objectes compatibles amb arrays

+ +

El mètode slice també es pot utilitzar per a convertir objectes compatibles amb arrays / col·leccions a un nou Array. Simplement hem de vincular el mètode a l'objecte. L'objecte {{jsxref("Functions/arguments", "arguments")}} dins una funció és un exemple d'objecte 'compatible amb arrays'.

+ +
function list() {
+  return Array.prototype.slice.call(arguments);
+}
+
+var list1 = list(1, 2, 3); // [1, 2, 3]
+
+ +

Podem vincular el mètode a l'objecte mitjançant la funció .call proporcionada per {{jsxref("Function.prototype")}}, també podem reduir-la a [].slice.call(arguments) en comptes de Array.prototype.slice.call. També podem simplificar-ho utilitzant la funció {{jsxref("Function.prototype.bind", "bind")}}.

+ +
var unboundSlice = Array.prototype.slice;
+var slice = Function.prototype.call.bind(unboundSlice);
+
+function list() {
+  return slice(arguments);
+}
+
+var list1 = list(1, 2, 3); // [1, 2, 3]
+
+ +

Oferint un comportament similar entre navegadors

+ +

Tot i que segons la especificació els objectes de l'hoste (com ara els objectes DOM) no requereixen seguir el comportament de Mozilla al ser convertits mitjançant Array.prototype.slice i, de fet les versions de Internet Explorer anteriors a la 9 no ho fan, les versions a partir de la 9 si que suporten l'ús d'aquesta funció de compatibilitat, permetent un comportament fiable entre navegadors. Mentre els altres navegadors moderns continuin oferint aquesta habilitat, tal i com ara fan IE, Mozilla, Chrome, Safari i Opera, els desenvolupadors que llegeixin codi sobre slice (suportat pel DOM) que es recolzi en aquesta funció de compatibilitat no tenen que patir per la semàntica; poden fiar-se de la semàntica descrita per a proporcionar el comportament que ara sembla standard de facto (La funció de compatibilitat també permet que el IE funcioni quan es passa com a segon argument de slice() un valor explícit de {{jsxref("null")}}/{{jsxref("undefined")}} ja que versions anteriors de IE no ho permetien però tots els nous navegadors, incloent IE >= 9, si que ho permeten.)

+ +
/**
+ * Shim for "fixing" IE's lack of support (IE < 9) for applying slice
+ * on host objects like NamedNodeMap, NodeList, and HTMLCollection
+ * (technically, since host objects have been implementation-dependent,
+ * at least before ES6, IE hasn't needed to work this way).
+ * Also works on strings, fixes IE < 9 to allow an explicit undefined
+ * for the 2nd argument (as in Firefox), and prevents errors when
+ * called on other DOM objects.
+ */
+(function () {
+  'use strict';
+  var _slice = Array.prototype.slice;
+
+  try {
+    // Can't be used with DOM elements in IE < 9
+    _slice.call(document.documentElement);
+  } catch (e) { // Fails in IE < 9
+    // This will work for genuine arrays, array-like objects,
+    // NamedNodeMap (attributes, entities, notations),
+    // NodeList (e.g., getElementsByTagName), HTMLCollection (e.g., childNodes),
+    // and will not fail on other DOM objects (as do DOM elements in IE < 9)
+    Array.prototype.slice = function(begin, end) {
+      // IE < 9 gets unhappy with an undefined end argument
+      end = (typeof end !== 'undefined') ? end : this.length;
+
+      // For native Array objects, we use the native slice function
+      if (Object.prototype.toString.call(this) === '[object Array]'){
+        return _slice.call(this, begin, end);
+      }
+
+      // For array like object we handle it ourselves.
+      var i, cloned = [],
+        size, len = this.length;
+
+      // Handle negative value for "begin"
+      var start = begin || 0;
+      start = (start >= 0) ? start : Math.max(0, len + start);
+
+      // Handle negative value for "end"
+      var upTo = (typeof end == 'number') ? Math.min(end, len) : len;
+      if (end < 0) {
+        upTo = len + end;
+      }
+
+      // Actual expected size of the slice
+      size = upTo - start;
+
+      if (size > 0) {
+        cloned = new Array(size);
+        if (this.charAt) {
+          for (i = 0; i < size; i++) {
+            cloned[i] = this.charAt(start + i);
+          }
+        } else {
+          for (i = 0; i < size; i++) {
+            cloned[i] = this[start + i];
+          }
+        }
+      }
+
+      return cloned;
+    };
+  }
+}());
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.10', 'Array.prototype.slice')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.slice', 'Array.prototype.slice')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.slice', 'Array.prototype.slice')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Function.prototype.call()")}}
  • +
  • {{jsxref("Function.prototype.bind()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/some/index.html b/files/ca/web/javascript/reference/global_objects/array/some/index.html new file mode 100644 index 0000000000..7abc1ed76d --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/some/index.html @@ -0,0 +1,213 @@ +--- +title: Array.prototype.some() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/some +translation_of: Web/JavaScript/Reference/Global_Objects/Array/some +--- +
{{JSRef}}
+ +

El mètode some() comprova si un algun element de l'array passa el test implementat per la funció proporcionada com a argument.

+ +

Sintaxi

+ +
arr.some(callback[, thisArg])
+ +

Paràmetres

+ +
+
callback
+
Funció utilitzada com a test per a cada element, rep tres arguments: +
+
valorActual
+
L'element de l'array que està sent avaluat.
+
posició
+
La posició que l'element passat al primer paràmetre ocupa dins l'array.
+
array
+
L'array des del que s'ha cridat el mètode some().
+
+
+
thisArg
+
Opcional. Valor que valdrà la variable this quan s'estigui executant la funció callback.
+
+ +

Valor retornat

+ +

Aquesta funció retorna true si la funció callback retorna true per a almenys un element de l'array; en qualsevol altre cas retorna false.

+ +

Descripció

+ +

some() executa la funció callback un cop per a cada element present a l'array fins que troba un per al qual callback retorna true. Si es troba aquest element, some() retorna true immediatament. En cas contrari some() retornarà false. Només s'invocarà la funció callback en les posicions de l'array que tinguin un valor assignat, és a dir, mai es cridarà per a posicions que han estat esborrades o el valor de les quals no ha estat mai assignat.

+ +

S'invoca callback amb tres arguments: el valor de l'element, la posició de l'element dins l'array, i l'objecte array que es recorrerà.

+ +

Si es proporciona el paràmetre thisArg al mètode some(), aquest es passarà a callback quan s'invoqui, i serà el valor que mostrarà la variable this. En cas contrari, s'utilitzarà el valor {{jsxref("undefined")}} com a valor per a this. El valor de this observable en última instància per callback es determinarà d'acord a les regles per a determinar el valor de this observat per una funció.

+ +

some() no mutarà l'array quan sigui cridada.

+ +

El rang d'elements processat per some() és determinat abans de la primera invocació de callback. Els elements que s'afegeixin a l'array després de la crida a some() no seran visitats per callback. Si el valor d'un element encara no visitat canvia, el valor que es passarà a callback serà el valor que tingui aquest element a l'hora de visitar-lo; els elements que s'esborrin no es visitaran.

+ +

Exemples

+ +

Comprovar el valor dels elements d'un array

+ +

L'exemple següent comprova si el valor d'algun element de l'array es major que 10.

+ +
function isBiggerThan10(element, posicio, array) {
+  return element > 10;
+}
+[2, 5, 8, 1, 4].some(isBiggerThan10);  // false
+[12, 5, 8, 1, 4].some(isBiggerThan10); // true
+
+ +

Comprovar els elements d'un array utilitzant funcions fletxa

+ +

Les funcions fletxa ofereixen una sintaxi reduïda per a realitzar el mateix test.

+ +
[2, 5, 8, 1, 4].some(elem => elem > 10);  // false
+[12, 5, 8, 1, 4].some(elem => elem > 10); // true
+
+ +

Comprovar si existeix un valor en un array

+ +

L'exemple següent retorna cert si existeix un elmeent donat dins un array

+ +
var fruits = ['poma', 'platan', 'mango', 'guava'];
+
+function checkAvailability(arr, val) {
+    return arr.some(function(arrVal) {
+        return val === arrVal;
+    });
+}
+
+checkAvailability(fruits, 'kela'); //false
+checkAvailability(fruits, 'platan'); //true
+ +

Comprovar si existeix un valor amb funcions fletxa

+ +
var fruits = ['poma', 'platan', 'mango', 'guava'];
+
+function checkAvailability(arr, val) {
+    return arr.some(arrVal => val === arrVal);
+}
+
+checkAvailability(fruits, 'kela'); //false
+checkAvailability(fruits, 'platan'); //true
+ +

Polyfill

+ +

some() va ser afegida  al standard ECMA-262 en la cinquena edició; és per això que pot no estar disponible en certes implementacions del standard. Es pot proporcionar la seva funcionalitat inserint l'script següent a l'inici dels vostres scripts, permetent l'ús de some() en implementacions que no la suporten de forma nativa. Aquest algoritme és exactament l'especificat a l'ECMA-262, cinquena edició, assumint que {{jsxref("Object")}} i {{jsxref("TypeError")}} tenen els valors originals i que fun.call es correspon amb el valor original de {{jsxref("Function.prototype.call()")}}.

+ +
// Production steps of ECMA-262, Edition 5, 15.4.4.17
+// Reference: http://es5.github.io/#x15.4.4.17
+if (!Array.prototype.some) {
+  Array.prototype.some = function(fun/*, thisArg*/) {
+    'use strict';
+
+    if (this == null) {
+      throw new TypeError('Array.prototype.some called on null or undefined');
+    }
+
+    if (typeof fun !== 'function') {
+      throw new TypeError();
+    }
+
+    var t = Object(this);
+    var len = t.length >>> 0;
+
+    var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
+    for (var i = 0; i < len; i++) {
+      if (i in t && fun.call(thisArg, t[i], i, t)) {
+        return true;
+      }
+    }
+
+    return false;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.17', 'Array.prototype.some')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.some', 'Array.prototype.some')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-array.prototype.some', 'Array.prototype.some')}}{{Spec2('ESDraft')}}
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.forEach()")}}
  • +
  • {{jsxref("Array.prototype.every()")}}
  • +
  • {{jsxref("TypedArray.prototype.some()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/array/splice/index.html b/files/ca/web/javascript/reference/global_objects/array/splice/index.html new file mode 100644 index 0000000000..c1abada8d9 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/array/splice/index.html @@ -0,0 +1,171 @@ +--- +title: Array.prototype.splice() +slug: Web/JavaScript/Referencia/Objectes_globals/Array/splice +translation_of: Web/JavaScript/Reference/Global_Objects/Array/splice +--- +
{{JSRef}}
+ +

El mètode splice() modifica el contingut d'un array eliminant elements ja existents i/o afegint-ne de nous.

+ +

Sintaxi

+ +
array.splice(inici, comptadorEliminar[, item1[, item2[, ...]]])
+
+ +

Paràmetres

+ +
+
inici
+
La posició a partir de la qual es començarà a modificar l'array (considerant 0 com a primera posició). Si s'especifca un nombre major que la longitud de l'array, la posició d'inici real esdevindrà la longitud de l'array. Si s'especifica un nombre negatiu, la posició d'inici serà el valor absolut del nombre especificat contant des del final de l'array.
+
comptadorEliminar
+
Un nombre sencer que indica el nombre d'elements que s'eliminaran. Si comptadorEliminar és 0 no s'eliminarà cap element. En aquest cas s'hauria d'especificar al menys un nou element. Si comptadorEliminar és major que el nombre d'elements de l'array des de la posició inici fins el final de l'array tots els elements des d'inici fins al final de l'array seran eliminats.
+
Si s'omet comptadorEliminar aquest rebrà un valor per defecte igual a (arr.length - inici).
+
item1, item2, ...
+
Els elements que s'afegiran a l'array, començant a la posició inici. Si no s'especifcia cap element, splice() només eliminarà elements de l'array.
+
+ +

Valor retornat

+ +

Un array que conté els elements eliminats. Si només s'ha eliminat un element es retornarà un array amb un sol element. Si no s'ha eliminat cap element retornarà un array buit.

+ +

Descripció

+ +

Si s'especifica un nombre diferent d'elements a eliminar del nombre d'elements a inserir la longitud de l'array canviarà al final de la crida.

+ +

Exemples

+ +

Utilitzar splice()

+ +

L'script seguent ilustra l'ús de splice():

+ +
var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
+
+// eliminem 0 elements a partir de la posició 2, i inserim 'drum'
+var eliminats = myFish.splice(2, 0, 'drum');
+// myFish is ['angel', 'clown', 'drum', 'mandarin', 'surgeon']
+// eliminats va [], no s'han eliminat elements
+
+// myFish val ['angel', 'clown', 'drum', 'mandarin', 'surgeon']
+// eliminem 1 element a la posició 3
+eliminats = myFish.splice(3, 1);
+// myFish val ['angel', 'clown', 'drum', 'surgeon']
+// eliminats val ['mandarin']
+
+// myFish val ['angel', 'clown', 'drum', 'surgeon']
+// Eliminem 1 element a la posició 2, i inserim 'trumpet'
+eliminats = myFish.splice(2, 1, 'trumpet');
+// myFish val ['angel', 'clown', 'trumpet', 'surgeon']
+// eliminats val ['drum']
+
+// myFish val ['angel', 'clown', 'trumpet', 'surgeon']
+// eliminem 2 elements de la posició 0, i inserim 'parrot', 'anemone' i 'blue'
+eliminats = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');
+// myFish val ['parrot', 'anemone', 'blue', 'trumpet', 'surgeon']
+// eliminats val ['angel', 'clown']
+
+// myFish val ['parrot', 'anemone', 'blue', 'trumpet', 'surgeon']
+// eliminem 2 elements de la posició 3
+eliminats = myFish.splice(myFish.length -3, 2);
+// myFish val ['parrot', 'anemone', 'surgeon']
+// eliminats val ['blue', 'trumpet']
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.12', 'Array.prototype.splice')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-array.prototype.splice', 'Array.prototype.splice')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-array.prototype.splice', 'Array.prototype.splice')}}{{Spec2('ESDraft')}}
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Compatibilitat amb versions anteriors

+ +

A JavaScript 1.2 el mètode splice() retornava l'element eliminat si només s'havia eliminat un sol element (és a dir, si el valor del paràmetre comptadorEliminar era 1); en qualsevol altre cas retornava un array contenit els elements eliminats.

+ +
+

Nota: L'últim navegador en utilitzar JavaScript 1.2 va ser el Netscape Navigator 4, així que podeu asumir que splice() sempre retornarà un array. Aquest és el cas quan un objecte JavaScript disposa de la propietat length i un mètode splice(),{{domxref("console.log()")}} el tracta com si fós un objecte array. Comprovar-ho amb instanceof Array retornarà false.

+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.push()", "push()")}} / {{jsxref("Array.prototype.pop()", "pop()")}} — afegir/eliminar elements del final d'un array
  • +
  • {{jsxref("Array.prototype.unshift()", "unshift()")}} / {{jsxref("Array.prototype.shift()", "shift()")}} — afegir/eliminar elements de l'inici d'un array
  • +
  • {{jsxref("Array.prototype.concat()", "concat()")}} — retorna un nou array format a partir d'aquest array i d'altres array(s) i/o valor(s)
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/boolean/index.html b/files/ca/web/javascript/reference/global_objects/boolean/index.html new file mode 100644 index 0000000000..83f2597df9 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/boolean/index.html @@ -0,0 +1,196 @@ +--- +title: Boolean +slug: Web/JavaScript/Referencia/Objectes_globals/Boolean +translation_of: Web/JavaScript/Reference/Global_Objects/Boolean +--- +
{{JSRef("Global_Objects", "Boolean")}}
+ +

Resum

+ +

L'objecte Boolean és un objecte que embolcalla valors booleans.

+ +

Constructor

+ +
new Boolean([valors])
+ +

Paràmetres

+ +
+
valors
+
Opcional. El valor inicial de l'objecte Boolean.
+
+ +

Descripció

+ +

El valor passat com a primer paràmetre es converteix a un valor booleà, en cas necesari. Si és omés o si és 0, -0, {{jsxref("Global_Objects/null", "null")}}, false, {{jsxref("Global_Objects/NaN", "NaN")}}, {{jsxref("Global_Objects/undefined", "undefined")}}, o la cadena de caràcters buida (""), l'objecte tindrà el valor inicial false. Tots els altres valors, incloent qualsevol objecte o la cadena de caràcters "false", crea un objecte amb el valor inicial de true.

+ +

No confoneu els valors Boolean primitius true i false amb els valors true i false de l'objecte Boolean.

+ +

Qualsevol objecte el valor del qual no sigui {{jsxref("Global_Objects/undefined", "undefined")}} o {{jsxref("Global_Objects/null", "null")}}, incloent un objecte de tipus Boolean el valor del qual sigui false, evalua a true quan es passa a una sentència condicional. Per exemple, la condició en la següent sentència {{jsxref("Statements/if...else", "if")}} evalua a true:

+ +
x = new Boolean(false);
+if (x) {
+  // aquest codi s'executarà
+}
+
+ +

Aquest comportament no s'aplica a les primitives de tipus booleà. Per exemple, la condició en la següent sentència {{jsxref("Statements/if...else", "if")}} evalua a false:

+ +
x = false;
+if (x) {
+  // aquest codi no s'executarà
+}
+
+ +

No creeu una instància de Boolean per a convertir un valor no booleà a un valor booleà. En comptes d'això utilitzeu Boolean com una funció per a realitzar aquesta tasca:

+ +
x = Boolean(expression);     // utilitzar preferentment
+x = new Boolean(expression); // no ho utilitzeu
+
+ +

Si s'especifica qualsevol objecte, inclòs un objecte Boolean el valor del qual sigui false, com a valor inicial per a un objecte Boolean, el nou objecte Boolean tindrà un valor de true.

+ +
myFalse = new Boolean(false);   // valor inicial false
+g = new Boolean(myFalse);       // valor inicial true
+myString = new String('Hello'); // objecte de tipus String
+s = new Boolean(myString);      // valor inicial true
+
+ +

No utilitzeu un objecte Boolean quan podríeu utilitzar un valor primitiu booleà.

+ +

Propietats

+ +
+
Boolean.length
+
La propietat Length retorna el valor de 1.
+
{{jsxref("Boolean.prototype")}}
+
Representa el prototip pel constructor Boolean.
+
+ +

{{jsOverrides("Function", "Properties", "prototype")}}

+ +

Mètodes

+ +

L'objecte Boolean no té mètodes propis. Hereta, però, alguns mètodes a través de la cadena de prototipus:

+ +
{{jsOverrides("Function", "Methods")}}
+ +

Instàncies de Boolean

+ +

Totes les instàncies de Boolean hereten de {{jsxref("Boolean.prototype")}}. Com tots els constructors, el prototipus de l'objecte dicta les propietats i mètodes que heretaran les instàncies.

+ +

Propietats

+ +
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/Boolean/prototype', 'Properties')}}
+ +

Mètodes

+ +
{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/prototype', 'Methods')}}
+ +

Exemples

+ +

Exemple: Crear objectes Boolean amb un valor inicial de false

+ +
var bNoParam = new Boolean();
+var bZero = new Boolean(0);
+var bNull = new Boolean(null);
+var bEmptyString = new Boolean('');
+var bfalse = new Boolean(false);
+
+ +

Exemple: Crear objectes Boolean amb un valor inicial de true

+ +
var btrue = new Boolean(true);
+var btrueString = new Boolean('true');
+var bfalseString = new Boolean('false');
+var bSuLin = new Boolean('Su Lin');
+var bArrayProto = new Boolean([]);
+var bObjProto = new Boolean({});
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.6', 'Boolean')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-boolean-objects', 'Boolean')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatIE("6.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/global_objects/boolean/tosource/index.html b/files/ca/web/javascript/reference/global_objects/boolean/tosource/index.html new file mode 100644 index 0000000000..6b6a1b8b2b --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/boolean/tosource/index.html @@ -0,0 +1,98 @@ +--- +title: Boolean.prototype.toSource() +slug: Web/JavaScript/Referencia/Objectes_globals/Boolean/toSource +translation_of: Web/JavaScript/Reference/Global_Objects/Boolean/toSource +--- +
{{JSRef("Objectes_standard", "Boolean")}} {{non-standard_header}}
+ +

Resum

+ +

El mètode toSource() retorna una cadena de caràcters que representa el codi font de l'objecte.

+ +

Sintaxi

+ +
booleanObj.toSource()
+Boolean.toSource()
+ +

Paràmetres

+ +

Cap.

+ +

Descripció

+ +

El mètode toSource retorna els valors següents:

+ +
    +
  • Per a objectes {{jsxref("Objectes_standard/Boolean", "Boolean")}} de la implementació de JavaScript, toSource retorna la següent cadena de caràcters indicant que el codi font no està disponible: + +
    function Boolean() {
    +    [native code]
    +}
    +
    +
  • +
  • Per a instàncies de {{jsxref("Objectes_standard/Boolean", "Boolean")}}, toSource retorna una cadena de caràcters que representa el codi font.
  • +
+ +

Aquest mètode normalment és utilitzat internament per JavaScript i no explícitament al codi.

+ +

Especificacions

+ +

No forma part de cap standard. Implementat a JavaScript 1.3.

+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Object.prototype.toSource()")}} {{non-standard_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/boolean/tostring/index.html b/files/ca/web/javascript/reference/global_objects/boolean/tostring/index.html new file mode 100644 index 0000000000..90da6cba3a --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/boolean/tostring/index.html @@ -0,0 +1,121 @@ +--- +title: Boolean.prototype.toString() +slug: Web/JavaScript/Referencia/Objectes_globals/Boolean/toString +translation_of: Web/JavaScript/Reference/Global_Objects/Boolean/toString +--- +
{{JSRef("Global_Objects", "Boolean")}}
+ +

Resum

+ +

El mètode toString() retorna una cadena de caràcters que representa l'objecte Boolean.

+ +

Sintaxi

+ +
bool.toString()
+ +

Paràmetres

+ +

Cap.

+ +

Descripció

+ +

L'objecte {{jsxref("Objectes_standard/Boolean", "Boolean")}} sobreescriu el mètode toString de l'objecte {{jsxref("Objectes_standard/Object", "Object")}}; no hereta {{jsxref("Object.prototype.toString()")}}. Per a objectes de tipus Boolean, el mètode toString retorna una cadena de caràcters que representa l'objecte.

+ +

JavaScript crida el mètode toString de manera automàtica quan aquest ha de ser representat mitjançant text o bé quan un {{jsxref("Objectes_standard/Boolean", "Boolean")}} és referenciat en una concatenació de cadenes de caràcters.

+ +

Per a objectes i valors de tipus {{jsxref("Objectes_standard/Boolean", "Boolean")}}, el mètode toString incorporat retorna la cadena de caràcters "true" o bé "false", depenent del valor de l'objecte booleà.

+ +

Exemples

+ +

Exemple: Utilitzar toString

+ +

Al codi següent flag.toString() retorna "true":

+ +
var flag = new Boolean(true);
+var myVar = flag.toString();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició. Implementat a JavaScript 1.1StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-15.6.4.2', 'Boolean.prototype.toString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-boolean.prototype.tostring', 'Boolean.prototype.toString')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Object.prototype.toString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/boolean/valueof/index.html b/files/ca/web/javascript/reference/global_objects/boolean/valueof/index.html new file mode 100644 index 0000000000..f99fd3c6c0 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/boolean/valueof/index.html @@ -0,0 +1,117 @@ +--- +title: Boolean.prototype.valueOf() +slug: Web/JavaScript/Referencia/Objectes_globals/Boolean/valueOf +translation_of: Web/JavaScript/Reference/Global_Objects/Boolean/valueOf +--- +
{{JSRef("Global_Objects", "Boolean")}}
+ +

Resum

+ +

El mètode valueOf() retorna el valor primitiu d'un objecte {{jsxref("Objectes_standard/Boolean", "Boolean")}}.

+ +

Sintaxi

+ +
bool.valueOf()
+ +

Paràmetres

+ +

Cap.

+ +

Descripció

+ +

El mètode valueOf pertanyent a {{jsxref("Objectes_standard/Boolean", "Boolean")}} retorna el valor primitiu d'un objecte o literal {{jsxref("Objectes_standard/Boolean", "Boolean")}} com a tipus de dada Boolean.

+ +

Aquest mètode normalment és utilitzat internament per JavaScript i no explícitament als scripts.

+ +

Exemples

+ +

Exemple: Utilitzar valueOf

+ +
x = new Boolean();
+myVar = x.valueOf(); // assigna false a myVar
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.6.4.3', 'Boolean.prototype.valueOf')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-boolean.prototype.valueof', 'Boolean.prototype.valueOf')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Object.prototype.valueOf()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/dataview/prototype/index.html b/files/ca/web/javascript/reference/global_objects/dataview/prototype/index.html deleted file mode 100644 index ebd6cbe729..0000000000 --- a/files/ca/web/javascript/reference/global_objects/dataview/prototype/index.html +++ /dev/null @@ -1,147 +0,0 @@ ---- -title: DataView.prototype -slug: Web/JavaScript/Reference/Global_Objects/DataView/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/DataView -translation_of_original: Web/JavaScript/Reference/Global_Objects/DataView/prototype ---- -
{{JSRef}}
- -

La propietat DataView.prototype representa el prototip de l'objecte {{jsxref("DataView")}}.

- -
{{js_property_attributes(0,0,0)}}
- -

Descripció

- -

Les instàncies DataView hereten de DataView.prototype. Com passa amb tots els constructors, podeu canviar l'objecte prototip del constructor per produir canvis a totes les instàncies DataView.

- -

Propietats

- -
-
DataView.prototype.constructor
-
Especifica la funció que crea un prototip de l'objecte. El valor inicial és el constructor integrat estàndard DataView.
-
{{jsxref("DataView.prototype.buffer")}} {{readonlyInline}}
-
L'{{jsxref("ArrayBuffer")}} referenciat per aquesta vista. Fixat en el temps de construcció i per tant és només de lectura.
-
{{jsxref("DataView.prototype.byteLength")}} {{readonlyInline}}
-
La llargària (en bytes) d'aquesta vista des del començament del seu {{jsxref("ArrayBuffer")}}. Fixat en el temps de construcció i per tant és només de lectura.
-
{{jsxref("DataView.prototype.byteOffset")}} {{readonlyInline}}
-
La posició (en bytes) d'aquesta vista des de l'inici del seu {{jsxref("ArrayBuffer")}}. Fixat en el temps de construcció i per tant és només de lectura.
-
- -

Mètodes

- -

Lectura

- -
-
{{jsxref("DataView.prototype.getInt8()")}}
-
Obté un nombre sencer (byte) de 8 bits amb signe al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.getUint8()")}}
-
Obté un nombre sencer sense signe de 8 bits (unsigned byte) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.getInt16()")}}
-
Obté un nombre sencer de 16 bits (short) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.getUint16()")}}
-
Obté un nombre sencer sense signe de 16 bits (unsigned short) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.getInt32()")}}
-
Obté un nombre sencer de 32 bits (long) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.getUint32()")}}
-
Obté un nombre sencer sense signe de 31 bits (unsigned long) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.getFloat32()")}}
-
Obté un nombre en coma flotant amb signe de 32 bits (float) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.getFloat64()")}}
-
Obté un nombre en coma flotant amb signe de 64 bits (double) al byte de posició especificat des de l'inici de la vista.
-
- -

Escritura

- -
-
{{jsxref("DataView.prototype.setInt8()")}}
-
Emmagatzema el valor d'un nombre sencer de 8 bits (byte) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.setUint8()")}}
-
Emmagatzema el valor d'un nombre sencer sense signe de 8 bits (unsigned byte) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.setInt16()")}}
-
Emmagatzema el valor d'un nombre sencer amb signe de 16 bits (short) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.setUint16()")}}
-
Emmagatzema el valor d'un nombre sencer sense signe de 16 bits (unsigned short) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.setInt32()")}}
-
Emmagatzema el valor d'un nombre sencer amb signe de 32 bits (long) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.setUint32()")}}
-
Emmagatzema el valor d'un nombre sencer sense signe de 32 bits  (unsigned long) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.setFloat32()")}}
-
Emmagatzema el valor d'un nombre en coma flotant amb signe de 32 bits (float) al byte de posició especificat des de l'inici de la vista.
-
{{jsxref("DataView.prototype.setFloat64()")}}
-
Emmagatzema el valor d'un nombre en coma flotant amb signe de 64 bits (double) al byte de posició especificat des de l'inici de la vista.
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-dataview.prototype', 'DataView.prototype')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegador

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic9.0{{ CompatGeckoDesktop("15.0") }}1012.15.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic4.0{{CompatVersionUnknown}}{{CompatGeckoMobile("15")}}{{CompatUnknown}}12.04.2
-
- -

Vegeu també

- -
    -
  • {{jsxref("DataView")}}
  • -
diff --git a/files/ca/web/javascript/reference/global_objects/date/getdate/index.html b/files/ca/web/javascript/reference/global_objects/date/getdate/index.html new file mode 100644 index 0000000000..16808aaae0 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getdate/index.html @@ -0,0 +1,119 @@ +--- +title: Date.prototype.getDate() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getDate +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDate +--- +
{{JSRef}}
+ +

El mètode getDate() retorna el dia del mes per a la data especificada segons l'hora local.

+ +

Sintaxi

+ +
objecteData.getDate()
+ +

Paràmetres

+ +

Cap.

+ +

Valor retornat

+ +

El valor retornat per getDate() és un nombre sencer entre 1 i 31.

+ +

Exemples

+ +

Utilitzar getDate()

+ +

La segona sentència de l'exemple de sota assigna el valor 25 a la variable dia, basant-se en el valor de l'objecte {{jsxref("Date")}} nadal95.

+ +
var nadal95 = new Date('December 25, 1995 23:15:30');
+var dia = nadal95.getDate();
+
+console.log(dia); // 25
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-date.prototype.getdate', 'Date.prototype.getDate')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-15.9.5.14', 'Date.prototype.getDate')}}{{Spec2('ES5.1')}} 
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCDate()")}}
  • +
  • {{jsxref("Date.prototype.getUTCDay()")}}
  • +
  • {{jsxref("Date.prototype.setDate()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getday/index.html b/files/ca/web/javascript/reference/global_objects/date/getday/index.html new file mode 100644 index 0000000000..244562c167 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getday/index.html @@ -0,0 +1,121 @@ +--- +title: Date.prototype.getDay() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getDay +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDay +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getDay() retorna el dia de la setmana per a la data especificada, en temps local on 0 (zero) representa el Diumenge.

+ +

Sintaxi

+ +
dateObj.getDay()
+ +

Paràmetres

+ +

Cap.

+ +

Retorna

+ +

El valor retornat per getDay() és un nombre sencer que correspon al dia de la setmana tal i com es mostra a continuació: 0 és Diumenge, 1 és Dilluns, 2 és Dimarts, etcètera.

+ +

Exemples

+ +

Exemple: Utilitzar getDay()

+ +

La segona sentència que trobareu a continuació asigna el valor 1 a la variable diaSetmana, basat en el valor de l'objecte {{jsxref("Global_Objects/Date", "Date")}} nadal95, que està inicialitzat amb la data d 25 de Desembre de 1995, és un Dilluns.

+ +
var nadal95 = new Date('December 25, 1995 23:15:30');
+var diaSetmana = nadal95.getDay();
+
+console.log(diaSetmana); // 1
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.16', 'Date.prototype.getDay')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getday', 'Date.prototype.getDay')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCDate()")}}
  • +
  • {{jsxref("Date.prototype.getUTCDay()")}}
  • +
  • {{jsxref("Date.prototype.setDate()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getfullyear/index.html b/files/ca/web/javascript/reference/global_objects/date/getfullyear/index.html new file mode 100644 index 0000000000..94f14f4332 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getfullyear/index.html @@ -0,0 +1,121 @@ +--- +title: Date.prototype.getFullYear() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getFullYear +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getFullYear +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getFullYear() retorna l'any de la data especificada, en temps local.

+ +

Utilitzeu aquest mètode en comptes de {{jsxref("Date.prototype.getYear()", "getYear()")}}.

+ +

Sintaxi

+ +
dateObj.getFullYear()
+ +

Paràmetres

+ +

Cap.

+ +

Retorna

+ +

El valor retornat per getFullYear() és un nombre absolut. Per a dates entre els anys 1000 i 9999, getFullYear() retorna un nombre de 4 dígits (1995, per exemple). Utilitzeu aquesta funció per a assegurar-vos d'obtindre un any compatible amb l'efecte 2000.

+ +

Exemples

+ +

Exemple: Utilitzar getFullYear()

+ +

L'exemple següent assigna el valor de 4 dígits de l'any actual a la variable any.

+ +
var avui = new Date();
+var any = avui.getFullYear();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.10', 'Date.prototype.getFullYear')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getfullyear', 'Date.prototype.getFullYear')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • +
  • {{jsxref("Date.prototype.setFullYear()")}}
  • +
  • {{jsxref("Date.prototype.getYear()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/gethours/index.html b/files/ca/web/javascript/reference/global_objects/date/gethours/index.html new file mode 100644 index 0000000000..3848e96339 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/gethours/index.html @@ -0,0 +1,120 @@ +--- +title: Date.prototype.getHours() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getHours +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getHours +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getHours() retorna l'hora per a la data especificada, en temps local.

+ +

Sintaxi

+ +
dateObj.getHours()
+ +

Paràmetres

+ +

Cap.

+ +

Retorna

+ +

El valor retornat per getHours() és un nombre sencer entre 0 i 23.

+ +

Exemples

+ +

Exemple: Utilitzar getHours()

+ +

La segona sentència que trobareu a continuació assigna el valor 23 a la variable hora, basant-se en l'objecte {{jsxref("Global_Objects/Date", "Date")}} nadal95.

+ +
var nadal95 = new Date('December 25, 1995 23:15:30');
+var hora = nadal95.getHours();
+
+console.log(hora); // 23
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.18', 'Date.prototype.getHours')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.gethours', 'Date.prototype.getHours')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCHours()")}}
  • +
  • {{jsxref("Date.prototype.setHours()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getmilliseconds/index.html b/files/ca/web/javascript/reference/global_objects/date/getmilliseconds/index.html new file mode 100644 index 0000000000..d438cf8cad --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getmilliseconds/index.html @@ -0,0 +1,118 @@ +--- +title: Date.prototype.getMilliseconds() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getMilliseconds +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getMilliseconds() retorna els milisegons de la data especificada d'acord a l'hora local.

+ +

Sintaxi

+ +
dateObj.getMilliseconds()
+ +

Paràmetres

+ +

Cap.

+ +

Retorna

+ +

El valor retornat per getMilliseconds() és un nombre entre 0 i 999.

+ +

Exemples

+ +

Exemple: Utilitzar getMilliseconds()

+ +

L'exemple següent assigna la part de milisegons de l'hora actual a la variable milisegons:

+ +
var avui = new Date();
+var milisegonds = avui.getMilliseconds();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.24', 'Date.prototype.getMilliseconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getmilliseconds', 'Date.prototype.getMilliseconds')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCMilliseconds()")}}
  • +
  • {{jsxref("Date.prototype.setMilliseconds()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getminutes/index.html b/files/ca/web/javascript/reference/global_objects/date/getminutes/index.html new file mode 100644 index 0000000000..3ae466d56d --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getminutes/index.html @@ -0,0 +1,120 @@ +--- +title: Date.prototype.getMinutes() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getMinutes +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMinutes +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getMinutes() retorna els minuts de la data especificada segons el temps local.

+ +

Sintaxi

+ +
dateObj.getMinutes()
+ +

Paràmetres

+ +

Cap.

+ +

Retorna

+ +

El valor retorna per getMinutes() és un nombre sencer entre 0 i 59.

+ +

Exemples

+ +

Exemple: Utilitzar getMinutes()

+ +

La segona sentència de  sota assigna el valor 15 a la variable minuts, prenent el valor de l'objecte nadal95 de tipus {{jsxref("Global_Objects/Date", "Date")}}.

+ +
var nadal95 = new Date('December 25, 1995 23:15:30');
+var minuts = nadal95.getMinutes();
+
+console.log(minuts); // 15
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.20', 'Date.prototype.getMinutes')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getminutes', 'Date.prototype.getMinutes')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCMinutes()")}}
  • +
  • {{jsxref("Date.prototype.setMinutes()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getmonth/index.html b/files/ca/web/javascript/reference/global_objects/date/getmonth/index.html new file mode 100644 index 0000000000..2631ebef9a --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getmonth/index.html @@ -0,0 +1,120 @@ +--- +title: Date.prototype.getMonth() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getMonth +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMonth +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getMonth() retorna el mes de la data especificada d'acord al temps local, representat per un nombre a partir de zero (on zero indica el primer mes de l'any).

+ +

Sintaxi

+ +
dateObj.getMonth()
+ +

Paràmetres

+ +

Cap.

+ +

Retorna

+ +

El valor retornat per getMonth() és un nombre sencer entre 0 i 11. 0 correspon a gener, 1 a febrer, etcètera.

+ +

Exemples

+ +

Exemple: Utilitzar getMonth()

+ +

La segona sentència de sota assigna el valor 11 a la variable mes, basada en el valor de l'objecte nadal95 de tipus {{jsxref("Global_Objects/Date", "Date")}}.

+ +
var nadal95 = new Date('December 25, 1995 23:15:30');
+var mes = nadal95.getMonth();
+
+console.log(mes); // 11
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.12', 'Date.prototype.getMonth')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getmonth', 'Date.prototype.getMonth')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCMonth()")}}
  • +
  • {{jsxref("Date.prototype.setMonth()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getseconds/index.html b/files/ca/web/javascript/reference/global_objects/date/getseconds/index.html new file mode 100644 index 0000000000..790c62e3e9 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getseconds/index.html @@ -0,0 +1,120 @@ +--- +title: Date.prototype.getSeconds() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getSeconds +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getSeconds +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getSeconds() retorna els segons de la data especficada d'acord al temps local.

+ +

Sintaxi

+ +
dateObj.getSeconds()
+ +

Paràmetres

+ +

Cap.

+ +

Retorna

+ +

El valor retornat per getSeconds() és un sencer entre 0 i 59.

+ +

Exemples

+ +

Exemple: Utilitzar getSeconds()

+ +

La segona sentència de sota assigna el valor 30 a la variable segons, basat en el valor de l'objecte nadal95, de tipus {{jsxref("Global_Objects/Date", "Date")}}.

+ +
var nadal95 = new Date('December 25, 1995 23:15:30');
+var segons = nadal95.getSeconds();
+
+console.log(segons); // 30
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.22', 'Date.prototype.getSeconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getseconds', 'Date.prototype.getSeconds')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCSeconds()")}}
  • +
  • {{jsxref("Date.prototype.setSeconds()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/gettime/index.html b/files/ca/web/javascript/reference/global_objects/date/gettime/index.html new file mode 100644 index 0000000000..20c45f31c5 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/gettime/index.html @@ -0,0 +1,135 @@ +--- +title: Date.prototype.getTime() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getTime +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getTime +--- +
{{JSRef}}
+ +

El mètode getTime() retorna el valor numèric corresponent a l'hora per a la data especificada, d'acord al temps universal.

+ +

Es pot emprar aquest mètode com a ajuda per a proporcionar una data i hora per a un altre objecte de tipus {{jsxref("Global_Objects/Date", "Date")}}. Aquest mètode és funcionalment equivalnet al mètode {{jsxref("Date.valueof", "valueOf()")}}.

+ +

Sintaxi

+ +
dateObj.getTime()
+ +

Paràmetres

+ +

Cap.

+ +

Retorn

+ +

El valor retornat pel mètode getTime() és el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC.

+ +

Exemples

+ +

Utilitzar getTime() per a obtindre dates

+ +

Construïr un objecte date que representi el mateix moment.

+ +
var aniversari = new Date(1994, 12, 10);
+var copia= new Date();
+copia.setTime(aniversari.getTime());
+
+ +

Mesurar el temps d'execució

+ +

Restar dos crides seguides de getTime() en objectes {{jsxref("Date")}} acabats de generar dóne el temps transcorregut entre les dues crides. Això pot ser emprat per a calcular el temps d'execució d'algunes operacions. Vegeu també {{jsxref("Date.now()")}} per a prevenir l'instanciació d'objectes {{jsxref("Date")}} innecesaris.

+ +
var fi, inici;
+
+inici= new Date();
+for (var i = 0; i < 1000; i++) {
+  Math.sqrt(i);
+}
+fi = new Date();
+
+console.log("L'operació ha trigat " + (fi.getTime() - inici.getTime()) + ' ms');
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.9', 'Date.prototype.getTime')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.gettime', 'Date.prototype.getTime')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.setTime()")}}
  • +
  • {{jsxref("Date.prototype.valueOf()")}}
  • +
  • {{jsxref("Date.now()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/gettimezoneoffset/index.html b/files/ca/web/javascript/reference/global_objects/date/gettimezoneoffset/index.html new file mode 100644 index 0000000000..8af4d6e9e8 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/gettimezoneoffset/index.html @@ -0,0 +1,109 @@ +--- +title: Date.prototype.getTimezoneOffset() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getTimezoneOffset +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getTimezoneOffset() retorna la desviació de la zona horària a l'hora UTC, en minuts, per a la localizació en ús.

+ +

Sintaxi

+ +
dateObj.getTimezoneOffset()
+ +

Paràmetres

+ +

Cap.

+ +

Retorn

+ +

La desviació de la zona horària és la diferència, en minuts, entre UTC i l'hora local. Això comporta que la desviació serà positiva si l'hora local està per darrere de la UTC i negativa si està endevant. Per exemple, si la vostra zona horària és UTC+10 (Australian Eastern Standard Time), el mètode retornarà -600. L'horari d'estalvi d'energia (d'estiu) fa que aquest valor no sigui una constant, per a qualsevol localització.

+ +

Exemples

+ +

Exemple: Utilitzar getTimezoneOffset()

+ +
var x = new Date();
+var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.26', 'Date.prototype.getTimezoneOffset')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.gettimezoneoffset', 'Date.prototype.getTimezoneOffset')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
diff --git a/files/ca/web/javascript/reference/global_objects/date/getutcdate/index.html b/files/ca/web/javascript/reference/global_objects/date/getutcdate/index.html new file mode 100644 index 0000000000..ee3a8b881f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getutcdate/index.html @@ -0,0 +1,119 @@ +--- +title: Date.prototype.getUTCDate() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCDate +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCDate +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getUTCDate()retorna el dia del mes per a la data especificada, segons l'hora universal.

+ +

Sintaxi

+ +
dateObj.getUTCDate()
+ +

Paràmetres

+ +

Cap.

+ +

Retorn

+ +

El valor retornat per getUTCDate() és un nombre sencer entre 1 i 31.

+ +

Exemples

+ +

Exemple: Utilitzar getUTCDate()

+ +

L'exemple següent assigna la part del dia de la data actual a la variable dia.

+ +
var avui = new Date();
+var dia = avui.getUTCDate();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.15', 'Date.prototype.getUTCDate')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcdate', 'Date.prototype.getUTCDate')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getDate()")}}
  • +
  • {{jsxref("Date.prototype.getUTCDay()")}}
  • +
  • {{jsxref("Date.prototype.setUTCDate()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getutcday/index.html b/files/ca/web/javascript/reference/global_objects/date/getutcday/index.html new file mode 100644 index 0000000000..b6f992f9a1 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getutcday/index.html @@ -0,0 +1,119 @@ +--- +title: Date.prototype.getUTCDay() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCDay +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCDay +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getUTCDay() retorna el dia de la setmana de la data especificada segons l'hora universal, on 0 representa Diumenge.

+ +

Sintaxi

+ +
dateObj.getUTCDay()
+ +

Paràmetres

+ +

Cap.

+ +

Retorn

+ +

El valor retornat per  getUTCDay() és un nombre sencer que correspón al dia de la setmana: 0 per a Diumenge, 1 per a dilluns, 2 per a Dimarts, etcètera.

+ +

Exemples

+ +

Exemple: Utilitzar getUTCDay()

+ +

L'exemple següent assigna el dia de la setmana de la data actual a la variable diaSetmana.

+ +
var avui = new Date();
+var diaSetmana = avui.getUTCDay();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.17', 'Date.prototype.getUTCDay')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcday', 'Date.prototype.getUTCDay')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCDate()")}}
  • +
  • {{jsxref("Date.prototype.getDay()")}}
  • +
  • {{jsxref("Date.prototype.setUTCDate()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getutcfullyear/index.html b/files/ca/web/javascript/reference/global_objects/date/getutcfullyear/index.html new file mode 100644 index 0000000000..3ca1526e28 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getutcfullyear/index.html @@ -0,0 +1,118 @@ +--- +title: Date.prototype.getUTCFullYear() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCFullYear +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getUTCFullYear() retorna l'any de la data especificada, segons el temps universal.

+ +

Sintaxi

+ +
dateObj.getUTCFullYear()
+ +

Paràmetres

+ +

Cap.

+ +

Retorn

+ +

El valor retornat per getUTCFullYear() és un nombre absolut que compleix amb any-2000, per exemple, 1995.

+ +

Exemples

+ +

Exemple: Utilitzar getUTCFullYear()

+ +

L'exemple següent assigna el valor de 4 dígits de l'any actual a la variable any.

+ +
var avui = new Date();
+var any = avui.getUTCFullYear();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.11', 'Date.prototype.getUTCFullYear')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcfullyear', 'Date.prototype.getUTCFullYear')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getFullYear()")}}
  • +
  • {{jsxref("Date.prototype.setFullYear()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getutchours/index.html b/files/ca/web/javascript/reference/global_objects/date/getutchours/index.html new file mode 100644 index 0000000000..f575df92a1 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getutchours/index.html @@ -0,0 +1,118 @@ +--- +title: Date.prototype.getUTCHours() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCHours +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCHours +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getUTCHours() retorna les hores especificades a la data, d'acord l'hora universal.

+ +

Sintaxi

+ +
dateObj.getUTCHours()
+ +

Paràmetres

+ +

Cap.

+ +

Retorn

+ +

El valor retornat per getUTCHours() és un nombre sencer entre 0 i 23.

+ +

Exemples

+ +

Exemple: Utilitzar getUTCHours()

+ +

L'exemple següent assigna la part de les hores de la data actual a la variable hora.

+ +
var avui = new Date();
+var hora = avui.getUTCHours();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.19', 'Date.prototype.getUTCHours')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutchours', 'Date.prototype.getUTCHours')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getHours()")}}
  • +
  • {{jsxref("Date.prototype.setUTCHours()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getutcmilliseconds/index.html b/files/ca/web/javascript/reference/global_objects/date/getutcmilliseconds/index.html new file mode 100644 index 0000000000..d09ac5bded --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getutcmilliseconds/index.html @@ -0,0 +1,116 @@ +--- +title: Date.prototype.getUTCMilliseconds() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCMilliseconds +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds +--- +
{{JSRef}}
+ +

El mètode getUTCMilliseconds() retorna els milisegons de la data especificada, d'acord al temps universal.

+ +

Sintaxi

+ +
objecteData.getUTCMilliseconds()
+ +

Paràmetres

+ +

Cap.

+ +

Valor retornat

+ +

El valor retorna per getUTCMilliseconds() és un nombre sencer entre 0 i 999.

+ +

Exemples

+ +

Utilitzar getUTCMilliseconds()

+ +

L'exemple següent assigna la porció de milisegons del temps actual a la variable milisegons.

+ +
var avui = new Date();
+var milisegons = avui.getUTCMilliseconds();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.25', 'Date.prototype.getUTCMilliseconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcmilliseconds', 'Date.prototype.getUTCMilliseconds')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getMilliseconds()")}}
  • +
  • {{jsxref("Date.prototype.setUTCMilliseconds()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getutcminutes/index.html b/files/ca/web/javascript/reference/global_objects/date/getutcminutes/index.html new file mode 100644 index 0000000000..e18a13c52f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getutcminutes/index.html @@ -0,0 +1,116 @@ +--- +title: Date.prototype.getUTCMinutes() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCMinutes +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes +--- +
{{JSRef}}
+ +

El mètode getUTCMinutes() retorna els minuts de la data especificada en temps universal.

+ +

Sintaxi

+ +
objecteData.getUTCMinutes()
+ +

Paràmetres

+ +

Cap.

+ +

Valor a retornar

+ +

El valor retornat per getUTCMinutes() és un nombre sencer entre 0 i 59.

+ +

Exemples

+ +

Utilitzar getUTCMinutes()

+ +

L'exemple següent assigna la part de minuts del temps actual a la variable minuts.

+ +
var avui = new Date();
+var minuts = avui.getUTCMinutes();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.21', 'Date.prototype.getUTCMinutes')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcminutes', 'Date.prototype.getUTCMinutes')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getMinutes()")}}
  • +
  • {{jsxref("Date.prototype.setUTCMinutes()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getutcmonth/index.html b/files/ca/web/javascript/reference/global_objects/date/getutcmonth/index.html new file mode 100644 index 0000000000..48ba78349b --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getutcmonth/index.html @@ -0,0 +1,116 @@ +--- +title: Date.prototype.getUTCMonth() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCMonth +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth +--- +
{{JSRef}}
+ +

El mètode getUTCMonth() retorna el mes de la data especificada d'acord al temps universal, com a valor basat en zero (on zero indica el primer mes de l'any.

+ +

Sintaxi

+ +
objecteData.getUTCMonth()
+ +

Paràmetres

+ +

Cap.

+ +

Valor retornat

+ +

El valor retornat per getUTCMonth() és un nombre sencer entre 0 i 11 corresponent al mes. 0 per al gener, 1 per al febrer, 2 per al març, etcètera.

+ +

Exemples

+ +

Utilitzar getUTCMonth()

+ +

L'exemple següent assigna la part de la data actual corresponent al mes a la variable mes.

+ +
var avui = new Date();
+var mes = mes.getUTCMonth();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.13', 'Date.prototype.getUTCMonth')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcmonth', 'Date.prototype.getUTCMonth')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getMonth()")}}
  • +
  • {{jsxref("Date.prototype.setUTCMonth()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getutcseconds/index.html b/files/ca/web/javascript/reference/global_objects/date/getutcseconds/index.html new file mode 100644 index 0000000000..1f69ca8199 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getutcseconds/index.html @@ -0,0 +1,118 @@ +--- +title: Date.prototype.getUTCSeconds() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCSeconds +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode getUTCSeconds() retorna els segons a la data especificada, segons l'hora universal.

+ +

Sintaxi

+ +
dateObj.getUTCSeconds()
+ +

Paràmetres

+ +

Cap.

+ +

Retorna

+ +

El valor retornat per getUTCSeconds() és un nombre sencer entre 0 i 59.

+ +

Exemples

+ +

Exemple: Utilitzar getUTCSeconds()

+ +

L'exemple següent assigna la porció de segons del temps actual a la variable segons.

+ +
var avui = new Date();
+var segons = avui.getUTCSeconds();
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.23', 'Date.prototype.getUTCSeconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcseconds', 'Date.prototype.getUTCSeconds')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getSeconds()")}}
  • +
  • {{jsxref("Date.prototype.setUTCSeconds()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/getyear/index.html b/files/ca/web/javascript/reference/global_objects/date/getyear/index.html new file mode 100644 index 0000000000..8724b2e03b --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/getyear/index.html @@ -0,0 +1,162 @@ +--- +title: Date.prototype.getYear() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/getYear +translation_of: Web/JavaScript/Reference/Global_Objects/Date/getYear +--- +
{{JSRef("Global_Objects", "Date")}} {{deprecated_header}}
+ +

Resum

+ +

El mètode getYear() retorna l'any de la data especificada segons l'hora local. Com que getYear() no retorna anys sencers ("el problema de l'any 2000"), no s'utilitza més i s'ha substituït pel mètode {{jsxref("Date.prototype.getFullYear", "getFullYear()")}}.

+ +

Sintaxi

+ +
dateObj.getYear()
+ +

Paràmetres

+ +

Cap.

+ +

Retorna

+ +

El mètode getYear() retorna l'any menys el valor 1900; és a dir:

+ +
    +
  • Per a anys majors o iguals a 2000, el valor retornat per getYear() és 100 o major. Per exemple, si l'any és el 2026, getYear() retorna 126.
  • +
  • Per a anys entre 1900 i 1999 (ambdós inclosos), el valor retornat per getYear() roman entre 0 i 99. Per exemple, per a l'any 1976 getYear() retorna 76.
  • +
  • Per a anys menors que 1900, el valor retornat per getYear() és menor que zero. Per exemple, per a l'any 1800, getYear() retorna -100.
  • +
+ +

Per a tenir en compte anys abans o deprés del 2000 es recomana utilitzar {{jsxref("Date.prototype.getFullYear", "getFullYear()")}} en comptes de getYear() ja que retorna l'any sencer.

+ +

Compatibilitat amb versions anteriors

+ +

Comportament en JavaScript 1.2 i anteriors

+ +

El mètode getYear() retorna o bé un any amb dos dígits o bé un any amb 4 dígits:

+ +
    +
  • Per a anys entre 1900 i 1999 (ambdos inclosos) el valor retornat és l'any menys 1900. Per exemple, per a l'any 1976 el valor retornat és 76.
  • +
  • Per a anys menors que 1900 o majors que 1999 el valor retornat per getYear() és l'any amb 4 dígits. Per exemple, per a l'any 1856 el valor retornat és 1856. Per a l'any 2026 el valor retornat és 2026.
  • +
+ +

Exemples

+ +

Exemple: Anys entre1900 i 1999

+ +

La segona sentència assigna el valor 95 a la variable any.

+ +
var nadal = new Date('December 25, 1995 23:15:00');
+var any = nadal.getYear(); // retorna 95
+
+ +

Exemple: Anys majors que 1999

+ +

La segona sentència assigna el valor 100 a la variable any.

+ +
var nadal = new Date('December 25, 2000 23:15:00');
+var any = Xmas.getYear(); // retorna 100
+
+ +

Exemple: Anys menors que 1900

+ +

La segona sentència assigna el valor -100 a la variable any.

+ +
var nadal = new Date('December 25, 1800 23:15:00');
+var any = nadal.getYear(); // retorna -100
+
+ +

Exemple: Assignar i obtenir un any entre1900 i 1999

+ +

La segona sentència assigna el valor 95 a la variable any, que representa l'any 1995.

+ +
var nadal.setYear(95);
+var any = nadal.getYear(); // retorna 95
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-B.2.4', 'Date.prototype.getYear')}}{{Spec2('ES5.1')}}Definit a l'annex de compatibilitat (amb caràcter informatiu).
{{SpecName('ES6', '#sec-date.prototype.getyear', 'Date.prototype.getYear')}}{{Spec2('ES6')}}Definit a l'annex de característiques adicionals per a navegadors web (amb caràcter normatiu).
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getFullYear()")}}
  • +
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • +
  • {{jsxref("Date.prototype.setYear()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/index.html b/files/ca/web/javascript/reference/global_objects/date/index.html new file mode 100644 index 0000000000..3fb5a9368d --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/index.html @@ -0,0 +1,250 @@ +--- +title: Date +slug: Web/JavaScript/Referencia/Objectes_globals/Date +translation_of: Web/JavaScript/Reference/Global_Objects/Date +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

Crea una instància de tipus Date de JavaScript, que representa un únic moment en el temps. Els objectes de tipus Date es basen en un valor de temps que mesura el nombre de milisegons que han passat des de l'u de gener de 1970 UTC.

+ +

Constructor

+ +
new Date();
+new Date(valor);
+new Date(dataString);
+new Date(any, mes[, dia[, hora[, minuts[, segons[, milisegons]]]]]);
+
+ +
+

Nota: Els objectes Date de JavaScript només poden ser instanciats cridant Date com a constructor: Si es crida la funció com una funció normal (és a dir, sense l'operador {{jsxref("Operators/new", "new")}}), aquesta retornarà una string en comptes d'un objecte de tipus Date; al contrari que altres tipus d'objectes JavaScript, els objectes de JavaScript de tipus Date no poden ser representats com a literals.

+
+ +

Paràmetres

+ +
+

Nota: Quan es crida Date com a constructor amb més d'un argument, si els valors són més grans que el seu rang lògic (per exemple, si es passa 13 com a valor pel mes o 70 com a valor de minuts), Date ajusta el valor adjacent. Per exemple, new Date(2013, 13, 1) és equivalent a new Date(2014, 1, 1), ambdós creen un objecte de tipus Date que representa 2014-02-01 (cal destacar que els mesos es comencen a contar des de zero). El mateix s'aplica per a altres valors: new Date(2013, 2, 1, 0, 70) és equivalent a new Date(2013, 2, 1, 1, 10) i ambdós representen 2013-03-01T01:10:00.

+
+ +
+

Nota: Quan es crida Date com a constructor amb més d'un argument, els arguments especificats representen l'hora local. Si es pretèn passar valors UTC, utilitzeu new Date({{jsxref("Date.UTC()", "Date.UTC(...)")}}) amb aquests arguments.

+
+ +
+
valor
+
Nombre sencer que representa el nombre de milisegons des de l'1 de gener de 1970 00:00:00 UTC (Època UNIX).
+
dataString
+
Valor String que representa una data. La String ha d'estar en un format reconegut pel mètode {{jsxref("Date.parse()")}} (Marques de temps RFC 2822 compatibles amb el IETF o bé una versió de la ISO8601).
+
any
+
Valor sencer que representa un any. Els valors des de 0 a 99 representen els anys des de 1900 a 1999. Vegeu l'{{anch("Example:_Two_digit_years_map_to_1900_-_1999", "exemple a continuació")}}.
+
mes
+
Valor sencer que representa un mes, començant per zero com a gener i acabant amb 11 com a desembre.
+
dia
+
Opcional. Valor sencer que representa el dia del mes.
+
hora
+
Opcional. Valor sencer que representa l'hora del dia.
+
minut
+
Opcional. Valor sencer que representa els minuts d'un segment de temps.
+
segon
+
Opcional. Valor sencer que representa els segons d'un segment de temps.
+
milisegons
+
Opcional. Valor sencer que representa els milisegons d'un segment de temps.
+
+ +

Descripció

+ +
    +
  • Si no es proporciona cap argument, el constructor crea un objecte de JavaScript de tipus Date i l'inicialitza amb l'hora actual proporcionada pel sistema.
  • +
  • Si es proporcionen al menys dos arguments, els arguments no proporcionats es consideren o bé 1 (si no s'especifica el dia) o bé 0 per a tots els altres.
  • +
  • L'hora de JavaScript es basa en els milisegons que han passat des de la mitja nit de l'1 de gener de 1970 UTC. Un dia té 86.400.000 milisegons. El rang de l'objecte de JavaScript Date és de -100.000.000 dies a 100.000.000 dies relatius a l'1 de gener de 1970 UTC.
  • +
  • L'objecte de JavaScript Date proporciona el mateix comportament a totes les plataformes on s'utilitzi. El valor de temps es pot passar entre sistemes per a representar el mateix moment del temps i si s'utilitza per a crear un objecte que contingui l'hora local, aquest objecte representarà l'equivalent al temps local.
  • +
  • Alguns dels mètodes de l'objecte de JavaScript Date soporten temps en UTC (universal) i temps local. UTC, també conegut com a Greenwhich Mean Time (GMT), fa referència al temps marcat pel World Time Standard. El temps local és el temps proporcionat per l'ordinador on s'executa el JavaScript.
  • +
  • Si s'invoca la funció de JavaScript Date com una funció (és a dir, sense l'operador {{jsxref("Operators/new", "new")}}), aquesta retornarà una string representant la data i hora actual.
  • +
+ +

Propietats

+ +
+
{{jsxref("Date.prototype")}}
+
Permet afegir propietats a l'objecte de JavaScript Date.
+
Date.length
+
El valor de Date.length és 7. Aquest és el nombre de arguments que el constructor accepta.
+
+ +
{{jsOverrides("Function", "properties", "prototype")}}
+ +

Mètodes

+ +
+
{{jsxref("Date.now()")}}
+
Retorna el valor numèric corresponent al temps actual - el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC.
+
{{jsxref("Date.parse()")}}
+
Interpreta un string que representa una data i retorna el nombre de milisegons des de l'1 de gener de 1970 00:00:00 UTC.
+
{{jsxref("Date.UTC()")}}
+
Accepta els mateixos paràmetres que el constructor (és a dir, de 2 a 7) i retorna le nombre de milisegons des de l'1 de gener de 1970 00:00:00 UTC.
+
+ +
{{jsOverrides("Function", "Methods", "now", "parse", "UTC")}}
+ +

Instàncies de JavaScript Date

+ +

Totes les instàncies de Date hereten de {{jsxref("Date.prototype")}}. L'objecte prototipus del constructor Date pot ser modificat per a afectar a totes les instàncies de Date.

+ +

Mètodes de Date.prototype

+ +
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/Date/prototype', 'Methods')}}
+ +

Exemples

+ +

Exemple: Vàries formes de crear un objecte de tipus Date

+ +

Els següents exemples mostren diverses maneres de crear dates a JavaScript:

+ +
var today = new Date();
+var birthday = new Date('December 17, 1995 03:24:00');
+var birthday = new Date('1995-12-17T03:24:00');
+var birthday = new Date(1995, 11, 17);
+var birthday = new Date(1995, 11, 17, 3, 24, 0);
+
+ +

Exemple: Dos dígits per representar els anys 1900 a 1999

+ +

Per a crear i obtindre dates entre els anys 0 i 99 es recomana emprar els mètodes {{jsxref("Date.prototype.setFullYear()")}} i {{jsxref("Date.prototype.getFullYear()")}}.

+ +
var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
+
+// Deprecated method, 98 maps to 1998 here as well
+date.setYear(98);           // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
+
+date.setFullYear(98);       // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)
+
+ +

Exemple: Calcular el temps passat

+ +

Els exemples següents mostren com determinar el temps passat entre dues dates a JavaScript:

+ +
// utilitzant objectes Date
+var start = Date.now();
+
+// L'event a cronometra va aquí:
+doSomethingForALongTime();
+var end = Date.now();
+var elapsed = end - start; // temps transcorregut en milisegons
+
+ +
// utilitzant mètodes que formen part del sistema
+var start = new Date();
+
+// the event to time goes here:
+doSomethingForALongTime();
+var end = new Date();
+var elapsed = end.getTime() - start.getTime(); // temps transcorregut en milisegons
+
+ +
// cronometra una funció i retorna el que retorni
+function printElapsedTime(fTest) {
+  var nStartTime = Date.now(),
+      vReturn = fTest(),
+      nEndTime = Date.now();
+
+  console.log('Temps transcorregut: ' + String(nEndTime - nStartTime) + ' miliseconds');
+  return vReturn;
+}
+
+yourFunctionReturn = printElapsedTime(yourFunction);
+
+ +
+

Nota: En navegadors que suporten la característica de temps en alta resolució de la {{domxref("window.performance", "API d'Alt Rendiment Web", "", 1)}}, {{domxref("Performance.now()")}} pot proporcionar mesures de temps més concises i fiables pel temps transcorregut que {{jsxref("Date.now()")}}.

+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.9', 'Date')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date-objects', 'Date')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Informes de compatiblitat amb navegadors

+ + + +

Notes específiques de Internet Explorer

+ +

Internet Explorer 8 no suporta el format de dates ISO8601.

diff --git a/files/ca/web/javascript/reference/global_objects/date/now/index.html b/files/ca/web/javascript/reference/global_objects/date/now/index.html new file mode 100644 index 0000000000..c3ef05fa86 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/now/index.html @@ -0,0 +1,126 @@ +--- +title: Date.now() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/now +translation_of: Web/JavaScript/Reference/Global_Objects/Date/now +--- +
{{JSRef("Global_Objects", "Date")}}
+ +

Resum

+ +

El mètode Date.now() retorna el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC.

+ +

Sintaxi

+ +
var timeInMs = Date.now();
+ +

Paràmetres

+ +

Cap.

+ +

Descripció

+ +

El mètode now() retorna el nombre de method returns el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC fins al moment actual representat en un  {{jsxref("Global_Objects/Number", "Nombre")}}.

+ +

Com que now() és un mètode estàtic de {{jsxref("Global_Objects/Date", "Date")}}, sempre es crida com a Date.now().

+ +

Polyfill

+ +

Aquest mètode va ser estandaritzat a la cinquena edició de l'ECMA-262. Els motors que encara no hagin sigut actualitzats per a suportar aquest mètode poden utilitzar el bocí de codi següent per a paliar l'absència d'aquest mètode:

+ +
if (!Date.now) {
+  Date.now = function now() {
+    return new Date().getTime();
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.9.4.4', 'Date.now')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.5.
{{SpecName('ES6', '#sec-date.now', 'Date.now')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterístiquesChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("5")}}{{CompatGeckoDesktop("1.9")}}{{CompatIE("9")}}{{CompatOpera("10.50")}}{{CompatSafari("4")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterístiquesAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
+ + + + + + +
Suport bàsic
+
{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Basat en la  taula de compatibilitat de Kangax.

+ +

Vegeu també

+ +
    +
  • {{domxref("Performance.now()")}} — proporciona marques de temps amb una resolució submilimètrica per a utilitzar al mesurar el rendiment de pàgines web
  • +
  • {{domxref("console.time()")}} / {{domxref("console.timeEnd()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setdate/index.html b/files/ca/web/javascript/reference/global_objects/date/setdate/index.html new file mode 100644 index 0000000000..746de134fe --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setdate/index.html @@ -0,0 +1,122 @@ +--- +title: Date.prototype.setDate() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setDate +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setDate +--- +
{{JSRef}}
+ +

El mètode setDate() assigna el dia de l'objecte {{jsxref("Date")}} relatiu al principi del mes assignat en aquell moment.

+ +

Sintaxi

+ +
objecteData.setDate(dia)
+ +

Paràmetres

+ +
+
dia
+
Un nombre sencer que representa el dia del mes.
+
+ +

Valor retornat

+ +

El valor retornat per setDate() és el nombre de milisegons que han passat des de l'ú de gener de 1970 00:00:00 UTC de la data resultant (l'objecte {{jsxref("Date")}} també canvia).

+ +

Descripció

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setDate() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 0 com a dia, la data representarà l'últim dia del mes anterior.

+ +

Exemples

+ +

Utilitzar setDate()

+ +
var elGranDia = new Date(1962, 6, 7); // 1962-07-07
+elGranDia.setDate(24);  // 1962-07-24
+elGranDia.setDate(32);  // 1962-08-01
+elGranDia.setDate(22);  // 1962-08-22
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.36', 'Date.prototype.setDate')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setdate', 'Date.prototype.setDate')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getDate()")}}
  • +
  • {{jsxref("Date.prototype.setUTCDate()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setfullyear/index.html b/files/ca/web/javascript/reference/global_objects/date/setfullyear/index.html new file mode 100644 index 0000000000..c29d56ca4e --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setfullyear/index.html @@ -0,0 +1,128 @@ +--- +title: Date.prototype.setFullYear() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setFullYear +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setFullYear +--- +
{{JSRef}}
+ +

El mètode setFullYear() assigna l'any sencerr per a la data especificada, d'acord a l'hora local. Retorna una nova marca de temps.

+ +

Sintaxi

+ +
objecteData.setFullYear(any[, mes[, dia]])
+ +

Paràmetres

+ +
+
any
+
Un nombre sencer que representa el valor numèric de l'any, per exemple, 1995.
+
mes
+
Un nombre sencer entre 0 i 11 que representa el mes.
+
dia
+
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes.
+
+ +

Valor retornat

+ +

Una nova marca de temps amb el valor de l'objecte actual.

+ +

Descripció

+ +

Si no s'especifica el paràmetre dia s'utilitza el valor retornat pels mètodes {{jsxref("Date.prototype.getMonth()", "getMonth()")}} i {{jsxref("Date.prototype.getDate()", "getDate()")}}.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode UTC() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

+ +

Exemples

+ +

Utilitzar setFullYear()

+ +
var elGranDia = new Date();
+elGranDia.setFullYear(1997);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.40', 'Date.prototype.setFullYear')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setfullyear', 'Date.prototype.setFullYear')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • +
  • {{jsxref("Date.prototype.setUTCFullYear()")}}
  • +
  • {{jsxref("Date.prototype.setYear()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/sethours/index.html b/files/ca/web/javascript/reference/global_objects/date/sethours/index.html new file mode 100644 index 0000000000..7f660ba344 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/sethours/index.html @@ -0,0 +1,129 @@ +--- +title: Date.prototype.setHours() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setHours +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setHours +--- +
{{JSRef}}
+ +

El mètode setHours() assigna l'hora per a una data especificada d'acord a l'hora local, i retorna el nombre de milisegons que han passat des de l'u de gener de 1970 00:00:00 UTC fins al temps representat per la instància de {{jsxref("Date")}} actualitzada.

+ +

Sintaxi

+ +
objecteData.setHours(hores[, minuts[, segons[, milisegons]]])
+ +

Versions anteriors a JavaScript 1.3

+ +
objecteData.setHours(hores)
+ +

Paràmetres

+ +
+
hores
+
Un nombre sencer entre 0 i 23, que representa l'hora.
+
minuts
+
Opcional. Un nombre sencer entre 0 i 59 que representa els minuts.
+
segons
+
Opcional. Un nombre sencer entre 0 i 59 que representa els segons.
+
milisegons
+
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
+
+ +

Descripció

+ +

Si no s'especifiquen els paràmetres minuts, segons i milisegons s'utilitzen els valors retornats per {{jsxref("Date.prototype.getMinutes()", "getMinutes()")}}, {{jsxref("Date.prototype.getSeconds()", "getSeconds()")}} i {{jsxref("Date.prototype.getMilliseconds()", "getMilliseconds()")}}.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setHours() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

+ +

Exemples

+ +

Utilitzar setHours()

+ +
var elGranDia = new Date();
+elGranDia.setHours(7);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.34', 'Date.prototype.setHours')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.sethours', 'Date.prototype.setHours')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getHours()")}}
  • +
  • {{jsxref("Date.prototype.setUTCHours()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setmilliseconds/index.html b/files/ca/web/javascript/reference/global_objects/date/setmilliseconds/index.html new file mode 100644 index 0000000000..53dc451ad4 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setmilliseconds/index.html @@ -0,0 +1,117 @@ +--- +title: Date.prototype.setMilliseconds() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setMilliseconds +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds +--- +
{{JSRef}}
+ +

El mètode setMilliseconds() assigna els milisegons per a una data especificada d'acord a l'hora local.

+ +

Sintaxi

+ +
objecteData.setMilliseconds(milisegons)
+ +

Paràmetres

+ +
+
milisegons
+
Un nombre sencer entre 0 i 999 que representa els milisegons.
+
+ +

Descripció

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setMilliseconds() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 1005 com a milisegons, els segonsseran incrementats en 1 (segons + 1), i s'emprarà 5 com a milisegons.

+ +

Exemples

+ +

Utilitzar setMilliseconds()

+ +
var elGranDia= new Date();
+elGranDia.setMilliseconds(100);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComenataris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.28', 'Date.prototype.setMilliseconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setmilliseconds', 'Date.prototype.setMilliseconds')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getMilliseconds()")}}
  • +
  • {{jsxref("Date.prototype.setUTCMilliseconds()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setminutes/index.html b/files/ca/web/javascript/reference/global_objects/date/setminutes/index.html new file mode 100644 index 0000000000..7dba61cade --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setminutes/index.html @@ -0,0 +1,127 @@ +--- +title: Date.prototype.setMinutes() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setMinutes +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setMinutes +--- +
{{JSRef}}
+ +

El mètode setMinutes() assigna els minuts a una data especificada, d'acord a l'hora local.

+ +

Sintaxi

+ +
objecteData.setMinutes(minuts[, segons[, milisegons]])
+ +

Versions anteriors a JavaScript 1.3

+ +
objecteData.setMinutes(minuts)
+ +

Paràmetres

+ +
+
minuts
+
Un nombre sencer entre 0 i 59 que representa els minuts.
+
segons
+
Opcional. Un nombre sencer entre 0 i 59 que representa els segons.
+
milisegons
+
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
+
+ +

Descripció

+ +

Si no s'especifiquen els paràmetres minuts, segons i milisegons s'utilitzen els valors retornats per {{jsxref("Date.prototype.getSeconds()", "getSeconds()")}} i {{jsxref("Date.prototype.getMilliseconds()", "getMilliseconds()")}}.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setMinutes() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

+ +

Exemples

+ +

Utilitzar setMinutes()

+ +
var elGranDia = new Date();
+elGranDia.setMinutes(45);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.32', 'Date.prototype.setMinutes')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setminutes', 'Date.prototype.setMinutes')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getMinutes()")}}
  • +
  • {{jsxref("Date.prototype.setUTCMinutes()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setmonth/index.html b/files/ca/web/javascript/reference/global_objects/date/setmonth/index.html new file mode 100644 index 0000000000..a84f51df7c --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setmonth/index.html @@ -0,0 +1,126 @@ +--- +title: Date.prototype.setMonth() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setMonth +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setMonth +--- +
{{JSRef}}
+ +

El mètode setMonth() assigna el mes per a una data especificada d'acord a l'any assignat previament.

+ +

Sintaxi

+ +
objecteData.setMonth(mes[, dia])
+ +

Versions anteriors a JavaScript 1.3

+ +
objecteData.setMonth(mes)
+ +

Paràmetres

+ +
+
mes
+
Un nombre sencer entre 0 i 11 que representa els mesos des de gener fins a desembre
+
dia
+
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes.
+
 
+
+ +

Descripció

+ +

Si no s'especifica el paràmetre dia s'utilitza el valor retornat pel mètode {{jsxref("Date.prototype.getDate()", "getDate()")}}.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setMonth() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

+ +

Exemples

+ +

Utilitzar setMonth()

+ +
var elGranDia = new Date();
+elGranDia.setMonth(6);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.38', 'Date.prototype.setMonth')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setmonth', 'Date.prototype.setMonth')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getMonth()")}}
  • +
  • {{jsxref("Date.prototype.setUTCMonth()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setseconds/index.html b/files/ca/web/javascript/reference/global_objects/date/setseconds/index.html new file mode 100644 index 0000000000..60ea2c0ae3 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setseconds/index.html @@ -0,0 +1,125 @@ +--- +title: Date.prototype.setSeconds() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setSeconds +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setSeconds +--- +
{{JSRef}}
+ +

El mètode setSeconds() assigna els segons per a una data especificada, en temps local.

+ +

Sintaxi

+ +
objecteData.setSeconds(segons[, milisegons])
+ +

Versions anteriors a JavaScript 1.3

+ +
objecteData.setSeconds(segons)
+ +

Paràmetres

+ +
+
segons
+
Un nombre sencer entre 0 i 59 que representa els segons.
+
milisegons
+
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
+
+ +

Descripció

+ +

Si no s'especifica el paràmetre milisegons s'utilitza el valor retornat pel mètode {{jsxref("Date.prototype.getMilliseconds()", "getMilliseconds()")}}.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setSeconds() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

+ +

Exemples

+ +

Utilitzar setSeconds()

+ +
var elGranDia = new Date();
+elGranDia.setSeconds(30);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacionsEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.30', 'Date.prototype.setSeconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setseconds', 'Date.prototype.setSeconds')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getSeconds()")}}
  • +
  • {{jsxref("Date.prototype.setUTCSeconds()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/settime/index.html b/files/ca/web/javascript/reference/global_objects/date/settime/index.html new file mode 100644 index 0000000000..9774f3ee4c --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/settime/index.html @@ -0,0 +1,118 @@ +--- +title: Date.prototype.setTime() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setTime +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setTime +--- +
{{JSRef}}
+ +

El mètode setTime() configura l'objecte {{jsxref("Date")}} amb un nombre que representa un temps en milisegons que han passat des de la mitjanit de l'ú de gener de 1970, en temps universal.

+ +

Sintaxi

+ +
objecteData.setTime(temps)
+ +

Paràmetres

+ +
+
temps
+
Un nombre sencer que representa el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC.
+
+ +

Descripció

+ +

Utilitzeu el mètode setTime() per a assignar una data i hora a un objecte de tipus {{jsxref("Date")}}.

+ +

Exemples

+ +

Utilitzar setTime()

+ +
var elGranDia = new Date('July 1, 1999');
+var elMateixGranDia = new Date();
+elMateixGranDia.setTime(elGranDia.getTime());
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.27', 'Date.prototype.setTime')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.settime', 'Date.prototype.setTime')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getTime()")}}
  • +
  • {{jsxref("Date.prototype.setUTCHours()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setutcdate/index.html b/files/ca/web/javascript/reference/global_objects/date/setutcdate/index.html new file mode 100644 index 0000000000..109178f66a --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setutcdate/index.html @@ -0,0 +1,119 @@ +--- +title: Date.prototype.setUTCDate() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCDate +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCDate +--- +
{{JSRef}}
+ +

El mètode setUTCDate() assigna el dia del mes per a una data especificada, en temps universal.

+ +

Sintaxi

+ +
objecteData.setUTCDate(dia)
+ +

Paràmetres

+ +
+
dia
+
Un nombre sencer de 1 a 31, que representa el dia del mes.
+
+ +

Descripció

+ +

If a parameter you specify is outside of the expected range, setUTCDate() attempts to update the date information in the {{jsxref("Date")}} object accordingly. For example, if you use 40 for dayValue, and the month stored in the {{jsxref("Date")}} object is June, the day will be changed to 10 and the month will be incremented to July.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCDate() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 40 com a dia, i el mes especificat a l'objecte {{jsxref("Date")}} és juny, el dia es canviarà a 10 i el mes serà incrementat a juliol.

+ +

Exemples

+ +

Utilitzar setUTCDate()

+ +
var elGranDia = new Date();
+elGranDia.setUTCDate(20);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.37', 'Date.prototype.setUTCDate')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcdate', 'Date.prototype.setUTCDate')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCDate()")}}
  • +
  • {{jsxref("Date.prototype.setDate()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setutcfullyear/index.html b/files/ca/web/javascript/reference/global_objects/date/setutcfullyear/index.html new file mode 100644 index 0000000000..55185a431b --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setutcfullyear/index.html @@ -0,0 +1,123 @@ +--- +title: Date.prototype.setUTCFullYear() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCFullYear +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear +--- +
{{JSRef}}
+ +

El mètode setUTCFullYear() assigna l'any sencer a la data especificada d'acord amb el temps universal.

+ +

Sintaxi

+ +
objecteData.setUTCFullYear(any[, mes[, dia]])
+ +

Paràmetres

+ +
+
any
+
Un nombre sencer que representa el valor numèric de l'any, per exemple, 1995.
+
mes
+
Un nombre sencer entre 0 i 11 que representa el mes.
+
dia
+
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes. Si s'especifica el paràmetre dia, també s'ha d'especificar el paràmetre mes.
+
+ +

Descripció

+ +

Si no s'especifica els paràmetres mes o dia s'utilitza el valor retornat pels mètodes getMonth() i getDate().

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCFullYear() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

+ +

Exemples

+ +

Utilitzar setUTCFullYear()

+ +
var elGranDia = new Date();
+elGranDia.setUTCFullYear(1997);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.41', 'Date.prototype.setUTCFullYear')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcfullyear', 'Date.prototype.setUTCFullYear')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • +
  • {{jsxref("Date.prototype.setFullYear()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setutchours/index.html b/files/ca/web/javascript/reference/global_objects/date/setutchours/index.html new file mode 100644 index 0000000000..3c75ea903c --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setutchours/index.html @@ -0,0 +1,125 @@ +--- +title: Date.prototype.setUTCHours() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCHours +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCHours +--- +
{{JSRef}}
+ +

El mètode setUTCHours() assigna l'hora per a una data especificada d'acord al temps universal, i retorna el nombre de milisegons que han passat des de l'ú de gener de 1970 00:00:00 UTC fins al temps representat per l'instància {{jsxref("Date")}} actualitzada.

+ +

Sintaxi

+ +
objecteData.setUTCHours(hores[, minuts[, segons[, milisegons]]])
+ +

Paràmetres

+ +
+
hores
+
Un nombre sencer entre 0 i 23, que representa l'hora.
+
minuts
+
Opcional. Un nombre sencer entre 0 i 59 que representa els minuts.
+
segons
+
Oppcional. Un nombre sencer entre 0 i 59 que representa els segons. Si s'especifica segons també s'ha d'expecificar minuts.
+
milisegons
+
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons. Si s'especifica milisegons també s'han d'especificar minuts i segons.
+
+ +

Descripció

+ +

Si no s'especifica els paràmetres minuts, segons o milisegons s'utilitza el valor retornat pels mètodes {{jsxref("Date.prototype.getUTCMinutes()", "getUTCMinutes()")}}, {{jsxref("Date.prototype.getUTCSeconds()", "getUTCSeconds()")}}, i {{jsxref("Date.prototype.getUTCMilliseconds()", "getUTCMilliseconds()")}}.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCHours() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

+ +

Exemples

+ +

Utilitzar setUTCHours()

+ +
var elGranDia = new Date();
+elGranDia.setUTCHours(8);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.35', 'Date.prototype.setUTCHours')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutchours', 'Date.prototype.setUTCHours')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCHours()")}}
  • +
  • {{jsxref("Date.prototype.setHours()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setutcmilliseconds/index.html b/files/ca/web/javascript/reference/global_objects/date/setutcmilliseconds/index.html new file mode 100644 index 0000000000..e3265e247f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setutcmilliseconds/index.html @@ -0,0 +1,117 @@ +--- +title: Date.prototype.setUTCMilliseconds() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCMilliseconds +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds +--- +
{{JSRef}}
+ +

El mètode setUTCMilliseconds() assigna els milisegons a la data sepecificada d'acord l'hora local.

+ +

Sintaxi

+ +
objecteData.setUTCMilliseconds(milisegons)
+ +

Paràmetres

+ +
+
milisegons
+
Un nombre sencer entre 0 i 999 que representa els milisegons.
+
+ +

Descripció

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCMilliseconds() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 1100 com a milisegons, els segons seran incrementats en 1 (segons + 1), i s'emprarà 100 com a milisegons.

+ +

Exemples

+ +

Utilitzar setUTCMilliseconds()

+ +
var elGranDia = new Date();
+elGranDia.setUTCMilliseconds(500);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.29', 'Date.prototype.setUTCMilliseconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcmilliseconds', 'Date.prototype.setUTCMilliseconds')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCMilliseconds()")}}
  • +
  • {{jsxref("Date.prototype.setMilliseconds()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setutcminutes/index.html b/files/ca/web/javascript/reference/global_objects/date/setutcminutes/index.html new file mode 100644 index 0000000000..5551364e52 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setutcminutes/index.html @@ -0,0 +1,123 @@ +--- +title: Date.prototype.setUTCMinutes() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCMinutes +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes +--- +
{{JSRef}}
+ +

El mètode setUTCMinutes() assigna els minuts per a la data especificada, segons l'hora local.

+ +

Sintaxi

+ +
objecteData.setUTCMinutes(minuts[, segons[, milisegons]])
+ +

Paràmetres

+ +
+
minuts
+
Un nombre sencer entre 0 i 59, que representa els minuts.
+
segons
+
Oppcional. Un nombre sencer entre 0 i 59 que representa els segons. Si s'especifica segons també s'ha d'expecificar minuts.
+
milisegons
+
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons. Si s'especifica milisegons també s'han d'especificar minuts i segons.
+
+ +

Descripció

+ +

Si no s'especifica els paràmetres segons o milisegons s'utilitza el valor retornat pels mètodes {{jsxref("Date.prototype.getUTCSeconds()", "getUTCSeconds()")}} i {{jsxref("Date.prototype.getUTCMilliseconds()", "getUTCMilliseconds()")}}.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCMinutes() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

+ +

Exemples

+ +

Utilitzar setUTCMinutes()

+ +
var elGranDia = new Date();
+elGranDia.setUTCMinutes(43);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.33', 'Date.prototype.setUTCMinutes')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcminutes', 'Date.prototype.setUTCMinutes')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCMinutes()")}}
  • +
  • {{jsxref("Date.prototype.setMinutes()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setutcmonth/index.html b/files/ca/web/javascript/reference/global_objects/date/setutcmonth/index.html new file mode 100644 index 0000000000..e06f0fba64 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setutcmonth/index.html @@ -0,0 +1,121 @@ +--- +title: Date.prototype.setUTCMonth() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCMonth +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth +--- +
{{JSRef}}
+ +

El mètode setUTCMonth() assigna el mes per a la data especificada segons el temps universal.

+ +

Sintaxi

+ +
objecteData.setUTCMonth(mes[, dia])
+ +

Paràmetres

+ +
+
mes
+
Un nombre sencer entre 0 i 11 que representa els mesos des de gener fins a desembre
+
dia
+
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes.
+
+ +

Descripció

+ +

Si no s'especifica el paràmetre dia s'utilitza el valor retornat pel mètode.{{jsxref("Date.prototype.getUTCDate()", "getUTCDate()")}}.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCMonth() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

+ +

Exemples

+ +

Utilitzar setUTCMonth()

+ +
var elGranDia = new Date();
+elGranDia.setUTCMonth(11);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.39', 'Date.prototype.setUTCMonth')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcmonth', 'Date.prototype.setUTCMonth')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCMonth()")}}
  • +
  • {{jsxref("Date.prototype.setMonth()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setutcseconds/index.html b/files/ca/web/javascript/reference/global_objects/date/setutcseconds/index.html new file mode 100644 index 0000000000..66f33a9e1b --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setutcseconds/index.html @@ -0,0 +1,121 @@ +--- +title: Date.prototype.setUTCSeconds() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCSeconds +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds +--- +
{{JSRef}}
+ +

El mètode setUTCSeconds() assigna els segons a la data especificada, segons el temps universal.

+ +

Sintaxi

+ +
objecteData.setUTCSeconds(segons[, milisegons])
+ +

Paràmetres

+ +
+
segons
+
Un nombre sencer entre 0 i 59 que representa els segons.
+
milisegons
+
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
+
+ +

Descripció

+ +

Si no s'especifica el paràmetre milisegons s'utilitza el valor retornat pel mètode {{jsxref("Date.prototype.getUTCMilliseconds()", "getUTCMilliseconds()")}}.

+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCSeconds() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

+ +

Exemples

+ +

Utilitzar setUTCSeconds()

+ +
var elGranDia = new Date();
+elGranDia.setUTCSeconds(20);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.31', 'Date.prototype.setUTCSeconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcseconds', 'Date.prototype.setUTCSeconds')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getUTCSeconds()")}}
  • +
  • {{jsxref("Date.prototype.setSeconds()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/setyear/index.html b/files/ca/web/javascript/reference/global_objects/date/setyear/index.html new file mode 100644 index 0000000000..ead16f2d21 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/setyear/index.html @@ -0,0 +1,124 @@ +--- +title: Date.prototype.setYear() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/setYear +translation_of: Web/JavaScript/Reference/Global_Objects/Date/setYear +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode setYear() assigna l'any per a una data especificada, d'acord a l'hora local. Com que setYear() no utilitza anys complerts ("el problema de l'any 2000"), aquest mètode està en desús i s'ha reemplaçat pel mètode {{jsxref("Date.prototype.setFullYear()", "setFullYear()")}}.

+ +

Sintaxi

+ +
objecteData.setYear(any)
+ +

Paràmetres

+ +
+
any
+
Un nombre sencer.
+
+ +

Descripció

+ +

Si any és un nombre entre 0 i 99 (inclòs), llavors s'assigna 1900 + any a objecteData. En cas contrari, s'assigna any a objecteData.

+ +

Exemples

+ +

Utilitzar setYear()

+ +

Les dues primeres línies assignen el valor 1996 a l'any. La tercera línia assigna el valor 2000 a l'any.

+ +
var elGranDia = new Date();
+
+elGranDia.setYear(96);
+elGranDia.setYear(1996);
+elGranDia.setYear(2000);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-B.2.5', 'Date.prototype.getYear')}}{{Spec2('ES5.1')}}Definit a l'annex de compatibilitat (informatiu).
{{SpecName('ES6', '#sec-date.prototype.setyear', 'Date.prototype.getYear')}}{{Spec2('ES6')}}Definit a l'annex de característiques adicionals per a navegadors web (normatiu).
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.getFullYear()")}}
  • +
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • +
  • {{jsxref("Date.prototype.setFullYear()")}}
  • +
  • {{jsxref("Date.prototype.setUTCFullYear()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/todatestring/index.html b/files/ca/web/javascript/reference/global_objects/date/todatestring/index.html new file mode 100644 index 0000000000..9548215179 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/todatestring/index.html @@ -0,0 +1,115 @@ +--- +title: Date.prototype.toDateString() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/toDateString +translation_of: Web/JavaScript/Reference/Global_Objects/Date/toDateString +--- +
{{JSRef}}
+ +

El mètode toDateString() retorna la part de la data d'un objecte {{jsxref("Date")}} en un format entenible per persones en anglés amerià.

+ +

Sintaxi

+ +
objecteData.toDateString()
+ +

Descripció

+ +

Les instàncies de Date representen un punt específic en el temps. Una crida al mètode toString() retornarà la dada en un format entenible per persones, en anglés americà. Al motor SpiderMonkey, aquest format consisteix en la part de la data (dia, mes i any) seguida de la part de l'hora (hores, minuts, segons i zona horària). De vegades és convenient obtenir un string només de la part de l'hora; aquesta és la raó de ser del mètode toDateString().

+ +

El mètode toDateString() resulta especialment útil perquè els motors que compleixen amb el standard ECMA-262 poden retornar resultats diferents al string obtingut mitjançant el mètode toString() en objectes Date, ja que el format depèn totalment de la implementació; això implica que partir el string per a obtenir només la part de temps pot no produïr un resultat consistent en tots els motors.

+ +

Exemples

+ +

Ús bàsic de toDateString()

+ +
var d = new Date(1993, 6, 28, 14, 39, 7);
+
+console.log(d.toString());     // imprimeix Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
+console.log(d.toDateString()); // imprimeix Wed Jul 28 1993
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.9.5.3', 'Date.prototype.toDateString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.todatestring', 'Date.prototype.toDateString')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.toLocaleDateString()")}}
  • +
  • {{jsxref("Date.prototype.toTimeString()")}}
  • +
  • {{jsxref("Date.prototype.toString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/togmtstring/index.html b/files/ca/web/javascript/reference/global_objects/date/togmtstring/index.html new file mode 100644 index 0000000000..08e63be739 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/togmtstring/index.html @@ -0,0 +1,115 @@ +--- +title: Date.prototype.toGMTString() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/toGMTString +translation_of: Web/JavaScript/Reference/Global_Objects/Date/toGMTString +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode toGMTString() converteix una data a un string, utilitzant les convencions del Greenwich Mean Time (GMT). El format exacte del valor retornat per toGMTString() és depenent de la plataforma i el navegador, per norma general hauria de representar la data en una forma entenible per persones.

+ +
+

Nota: toGMTString() està en desús i no es recomana fer-lo servir més. Es mantè només per a compatibilitat amb codi vell que l'utilitzi; en comptes d'aquest mètode utilitzeu {{jsxref("Date.prototype.toUTCString()", "toUTCString()")}}.

+
+ +

Sintaxi

+ +
objecteData.toGMTString()
+ +

Exemples

+ +

Exemple senzill

+ +

En aquest exemple el mètode toGMTString() converteix la data a GMT (UTC) utilitzant el desplaçament de zona horaria donat pel sistema operatiu i retorna un valor string que té aproximadament la forma que trobareu a continuació. El format exacte dependrà de la plataforma.

+ +
var avui = new Date();
+var str = avui.toGMTString();  // en desús! utilitzeu toUTCString()
+
+console.log(str);               // Mon, 18 Dec 1995 17:28:35 GMT
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial, però ja marcat com a en desús. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-B.2.6', 'Date.prototype.toGMTString')}}{{Spec2('ES5.1')}}Definit a l'annex de compatibilitat (informatiu).
{{SpecName('ES6', '#sec-date.prototype.togmtstring', 'Date.prototype.toGMTString')}}{{Spec2('ES6')}}Definit a l'annex per a característiques adicionals per a navegadors web (normatiu).
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.toLocaleDateString()")}}
  • +
  • {{jsxref("Date.prototype.toTimeString()")}}
  • +
  • {{jsxref("Date.prototype.toUTCString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/toisostring/index.html b/files/ca/web/javascript/reference/global_objects/date/toisostring/index.html new file mode 100644 index 0000000000..759e53225c --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/toisostring/index.html @@ -0,0 +1,134 @@ +--- +title: Date.prototype.toISOString() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/toISOString +translation_of: Web/JavaScript/Reference/Global_Objects/Date/toISOString +--- +
{{JSRef}}
+ +

El mètode toISOString() retorna una cadena en un format ISO extès simplificat (ISO 8601), el qual sempre té 24 caràcters de llargària: YYYY-MM-DDTHH:mm:ss.sssZ. La zona horària és sempre UTC, tal i com indica el sufix "Z".

+ +

Sintaxi

+ +
dateObj.toISOString()
+ +

Exemples

+ +

Utilitzar toISOString()

+ +
var today = new Date('05 October 2011 14:48 UTC');
+
+console.log(today.toISOString()); // Retorna 2011-10-05T14:48:00.000Z
+
+ +

L'exemple anterior interpreta una cadena no estàndard que pot no ser interpretada correctament per navegadors que no siguin mozilla.

+ +

Polyfill

+ +

Aquest mètode es va estandaritzar en la 5a edició d'ECMA-262. Els motors que no s'hagin actualitzat per suportar aquest mètode poden evitar al mancança d'aquest mètode utilitzant les següents accions:

+ +
if (!Date.prototype.toISOString) {
+  (function() {
+
+    function pad(number) {
+      if (number < 10) {
+        return '0' + number;
+      }
+      return number;
+    }
+
+    Date.prototype.toISOString = function() {
+      return this.getUTCFullYear() +
+        '-' + pad(this.getUTCMonth() + 1) +
+        '-' + pad(this.getUTCDate()) +
+        'T' + pad(this.getUTCHours()) +
+        ':' + pad(this.getUTCMinutes()) +
+        ':' + pad(this.getUTCSeconds()) +
+        '.' + (this.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) +
+        'Z';
+    };
+
+  }());
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.9.5.43', 'Date.prototype.toISOString')}}{{Spec2('ES5.1')}}Definició inicial. Implementat en JavaScript 1.8.
{{SpecName('ES6', '#sec-date.prototype.toisostring', 'Date.prototype.toISOString')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.toLocaleDateString()")}}
  • +
  • {{jsxref("Date.prototype.toTimeString()")}}
  • +
  • {{jsxref("Date.prototype.toUTCString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/tojson/index.html b/files/ca/web/javascript/reference/global_objects/date/tojson/index.html new file mode 100644 index 0000000000..8b583470bf --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/tojson/index.html @@ -0,0 +1,108 @@ +--- +title: Date.prototype.toJSON() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/toJSON +translation_of: Web/JavaScript/Reference/Global_Objects/Date/toJSON +--- +
{{JSRef}}
+ +

El mètode toJSON() retorna una representació de tipus cadena de l'objecte {{jsxref("Date")}}.

+ +

Sintaxi

+ +
dateObj.toJSON()
+ +

Descripció

+ +

Les instàncies {{jsxref("Date")}} referencien a un punt concret en el temps. La crida toJSON() retorna una cadena (usant {{jsxref("Date.prototype.toISOString()", "toISOString()")}}) en representació del valor de l'objecte {{jsxref("Date")}}. Generalment aquest mètode s'utilitza, per defecte, per serialitzar eficaçment objectes {{jsxref("Date")}} durant la serialització {{Glossary("JSON")}}.

+ +

Exemples

+ +

Utilitzar toJSON()

+ +
var jsonDate = (new Date()).toJSON();
+var backToDate = new Date(jsonDate);
+
+console.log(jsonDate); //2015-10-26T07:46:36.611Z
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.9.5.44', 'Date.prototype.toJSON')}}{{Spec2('ES5.1')}}Definició inicial. Implementat en JavaScript 1.8.5.
{{SpecName('ES6', '#sec-date.prototype.tojson', 'Date.prototype.toJSON')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.toLocaleDateString()")}}
  • +
  • {{jsxref("Date.prototype.toTimeString()")}}
  • +
  • {{jsxref("Date.prototype.toUTCString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/tostring/index.html b/files/ca/web/javascript/reference/global_objects/date/tostring/index.html new file mode 100644 index 0000000000..8482fe5298 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/tostring/index.html @@ -0,0 +1,142 @@ +--- +title: Date.prototype.toString() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/toString +translation_of: Web/JavaScript/Reference/Global_Objects/Date/toString +--- +
{{JSRef}}
+ +

El mètode toString() retorna un string que representa l'objecte {{jsxref("Date")}} especificat.

+ +

Sintaxi

+ +
objecteDate.toString()
+ +

Paràmetres

+ +

Cap.

+ +

Descripció

+ +

L'objecte {{jsxref("Date")}} sobreescriu el mètode toString() de l'objecte {{jsxref("Object")}}; no hereta {{jsxref("Object.prototype.toString()")}}. Per a objectes {{jsxref("Date")}}, el mètode toString() retorna un string que representa l'objecte.

+ +

El mètode toString() sempre retorna una representació en forma de string de la data en anglés americà.

+ +

JavaScript cridarà el mètode toString() de manera automàtica quan una data requereix ser representada com a text o bé quan una data formi part d'una concatenació de strings.

+ +

El mètode toString() és genèric. Si this no fa referència a una instància de {{jsxref("Date")}}, retornarà "Invalid Date".

+ +

Exemples

+ +

Utilitzar toString()

+ +

L'exemple següent assigna el valor de toString() d'un objecte {{jsxref("Date")}} a myVar:

+ +
var x = new Date();
+myVar = x.toString(); // assigna un valor a myVar simimlar a:
+// Mon Sep 28 1998 14:36:22 GMT-0700 (Pacific Daylight Time)
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.2', 'Date.prototype.toLocaleTimeString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.tostring', 'Date.prototype.toString')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Mètode genèric{{CompatUnknown}}{{CompatGeckoDesktop("41")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Mètode genèric{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("41")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Object.prototype.toString()")}}
  • +
  • {{jsxref("Date.prototype.toDateString()")}}
  • +
  • {{jsxref("Date.prototype.toLocaleString()")}}
  • +
  • {{jsxref("Date.prototype.toTimeString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/totimestring/index.html b/files/ca/web/javascript/reference/global_objects/date/totimestring/index.html new file mode 100644 index 0000000000..aac8de7a85 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/totimestring/index.html @@ -0,0 +1,115 @@ +--- +title: Date.prototype.toTimeString() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/toTimeString +translation_of: Web/JavaScript/Reference/Global_Objects/Date/toTimeString +--- +
{{JSRef}}
+ +

El mètode toTimeString() retorna la part de temps d'un objecte de tipus {{jsxref("Date")}} formatada de tal forma que és entenible per les persones, utilitzan anglés americà.

+ +

Sintaxi

+ +
objecteData.toTimeString()
+ +

Descripció

+ +

Les instàncies de {{jsxref("Date")}} representen un punt específic en el temps. Una crida al mètode {{jsxref("Date.prototype.toString()", "toString()")}} retornarà la dada en un format entenible per persones, en anglés americà. Al motor SpiderMonkey, aquest format consisteix en la part de la data (dia, mes i any) seguida de la part de l'hora (hores, minuts, segons i zona horària). De vegades és convenient obtenir un string només de la part de l'hora; aquesta és la raó de ser del mètode toTimeString().

+ +

El mètode toTimeString() resulta especialment útil perquè els motors que compleixen amb el standard ECMA-262 poden retornar resultats diferents al string obtingut mitjançant el mètode {{jsxref("Date.prototype.toString()", "toString()")}} en objectes {{jsxref("Date")}}, ja que el format depèn totalment de la implementació; això implica que partir el string per a obtenir només la part de temps pot no produïr un resultat consistent en tots els motors.

+ +

Exemples

+ +

Utilització bàsica de toTimeString()

+ +
var d = new Date(1993, 6, 28, 14, 39, 7);
+
+console.log(d.toString());     // escriu Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
+console.log(d.toTimeString()); // escriu 14:39:07 GMT-0600 (PDT)
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.9.5.4', 'Date.prototype.toTimeString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.totimestring', 'Date.prototype.toTimeString')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.toLocaleTimeString()")}}
  • +
  • {{jsxref("Date.prototype.toDateString()")}}
  • +
  • {{jsxref("Date.prototype.toString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/utc/index.html b/files/ca/web/javascript/reference/global_objects/date/utc/index.html new file mode 100644 index 0000000000..37bb2bc369 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/utc/index.html @@ -0,0 +1,142 @@ +--- +title: Date.UTC() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/UTC +translation_of: Web/JavaScript/Reference/Global_Objects/Date/UTC +--- +
{{JSRef}}
+ +

El mètode Date.UTC() accepta els mateixos paràmetres que la forma més llarga del constructor, i retorna en un objecte de tipus {{jsxref("Date")}} el nombre de milisegons que han passat des de l'u de gener de 1970 a les 00:00:00, temps universal.

+ +

Sintaxi

+ +
Date.UTC(any, mes[, dia[, hora[, minuts[, segons[, milisegons]]]]])
+ +

Paràmetres

+ +
+
any
+
Un any major que 1900.
+
mes
+
Un nombre sencer entre 0 i 11 que representa el mes.
+
dia
+
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes.
+
hora
+
Opcional. Un nombre sencer entre 0 i 23 que representa l'hora.
+
minuts
+
Opcional. Un nombre sencer entre 0 i 59 que representa els minuts.
+
segons
+
Opcional. Un nombre sencer entre 0 i 59 que representa els segons.
+
milisegons
+
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
+
+ +

Descripció

+ +

UTC() accepta una data en forma de paràmetres separats per comes i retorna el nombre de milisegons que han passat entre l'u de gener de 1970 a les 00:00:00 en temps universal, i el temps especificat pels paràmetres.

+ +

L'any ha de ser especificat plenament; per exemple, 1998. Si s'especifica un any entre 0 i 99, el mètode el converteix a un any del segle 20 (1900 + any); per exemple, si s'especifica 95, s'emprarà l'any 1995.

+ +

El mètode UTC() es diferencia del constructor {{jsxref("Date")}} en dues coses.

+ +
    +
  • Date.UTC() utilitza el temps universal en comptes del temps local.
  • +
  • Date.UTC() retorna el temps com a nombre en comptes de crear un objecte de tipus {{jsxref("Date")}}.
  • +
+ +

Si es passa un paràmetre que està fora del rang esperat, el mètode UTC() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

+ +

Com que UTC() és un mètode estàtic de {{jsxref("Date")}}, sempre es crida com a Date.UTC() en comptes de com un mètode d'una instància de {{jsxref("Date")}}.

+ +

Exemples

+ +

Utilitzar Date.UTC()

+ +

La instrucció següent crea un objecte {{jsxref("Date")}} utilitzant temps UTC en comptes del temps local:

+ +
var dataUTC = new Date(Date.UTC(96, 11, 1, 0, 0, 0));
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-date.utc', 'Date.UTC')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-15.9.4.3', 'Date.UTC')}}{{Spec2('ES5.1')}} 
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísicaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísicaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.parse()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/date/valueof/index.html b/files/ca/web/javascript/reference/global_objects/date/valueof/index.html new file mode 100644 index 0000000000..6c5f810ead --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/date/valueof/index.html @@ -0,0 +1,118 @@ +--- +title: Date.prototype.valueOf() +slug: Web/JavaScript/Referencia/Objectes_globals/Date/valueOf +translation_of: Web/JavaScript/Reference/Global_Objects/Date/valueOf +--- +
{{JSRef}}
+ +

El mètode valueOf() retorna el valor primitiu d'un objecte de tipus {{jsxref("Date")}}.

+ +

Sintaxi

+ +
dateObj.valueOf()
+ +

Paràmetres

+ +

Cap.

+ +

Descripció

+ +

El mètode valueOf() retorna el valor primitiu d'un objecte de tipus {{jsxref("Date")}} en forma de nombre, el nombre de milisegons des de la mitjanit de l'ú de gener de 1970 UTC.

+ +

Aquest mètode és funcionalment equivalent al mètode {{jsxref("Date.prototype.getTime()")}}.

+ +

Aquest mètode és tot sovint emprat internament per JavaScript i no explícitament en codi.

+ +

Exemples

+ +

Utilitzar valueOf()

+ +
var x = new Date(56, 6, 17);
+var myVar = x.valueOf();      // assigna -424713600000 a myVar
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.9.5.8', 'Date.prototype.valueOf')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.valueof', 'Date.prototype.valueOf')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Object.prototype.valueOf()")}}
  • +
  • {{jsxref("Date.prototype.getTime()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/error/columnnumber/index.html b/files/ca/web/javascript/reference/global_objects/error/columnnumber/index.html new file mode 100644 index 0000000000..377c797cd3 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/error/columnnumber/index.html @@ -0,0 +1,83 @@ +--- +title: Error.prototype.columnNumber +slug: Web/JavaScript/Referencia/Objectes_globals/Error/columnNumber +translation_of: Web/JavaScript/Reference/Global_Objects/Error/columnNumber +--- +
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}} {{non-standard_header}}
+ +

Resum

+ +

La propietat columnNumber conté el nombre de la columna dins la línia del fitxer on s'ha produit l'error.

+ +

Exemples

+ +

Exemple: Utilitzar columnNumber

+ +
var e = new Error('Error interpretant les dades');
+throw e;
+console.log(e.columnNumber) // 0
+
+ +

Especificacions

+ +

No forma part de cap especificació. No és standard.

+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Error.prototype.stack")}} {{non-standard_inline}}
  • +
  • {{jsxref("Error.prototype.lineNumber")}} {{non-standard_inline}}
  • +
  • {{jsxref("Error.prototype.fileName")}} {{non-standard_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/error/filename/index.html b/files/ca/web/javascript/reference/global_objects/error/filename/index.html new file mode 100644 index 0000000000..dcca532f86 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/error/filename/index.html @@ -0,0 +1,87 @@ +--- +title: Error.prototype.fileName +slug: Web/JavaScript/Referencia/Objectes_globals/Error/fileName +translation_of: Web/JavaScript/Reference/Global_Objects/Error/fileName +--- +
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}} {{non-standard_header}}
+ +

Resum

+ +

La propietat fileName conté la ruta al fitxer que ha provocat aquest error.

+ +

Descripció

+ +

Aquesta propietat no standard conté la ruta al fitxer que ha provocat l'error. Si es crida des d'un contexte de depuració, com ara des de Firefox Developer Tools, retorna "debugger eval code".

+ +

Exemples

+ +

Exemple: Utilitzar fileName

+ +
var e = new Error('Dades no tractades');
+throw e;
+// e.fileName podria contrindre quelcom semblant a "file:///C:/example.html"
+
+ +

Especificacions.

+ +

No format part de cap especificació. No és standard.

+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Error.prototype.stack")}} {{non-standard_inline}}
  • +
  • {{jsxref("Error.prototype.columnNumber")}} {{non-standard_inline}}
  • +
  • {{jsxref("Error.prototype.lineNumber")}} {{non-standard_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/error/index.html b/files/ca/web/javascript/reference/global_objects/error/index.html new file mode 100644 index 0000000000..2e1592edc5 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/error/index.html @@ -0,0 +1,224 @@ +--- +title: Error +slug: Web/JavaScript/Referencia/Objectes_globals/Error +translation_of: Web/JavaScript/Reference/Global_Objects/Error +--- +
{{JSRef}}
+ +

Resum

+ +

El constructor Error crea un objecte que representa un error. Quan succeeix un error en temps d'execució JavaScript llença una instància de tipus Error. L'objecte Error també es pot emprar com a objecte base per a excepcions definides per l'usuari. Vegeu més abaix per a tipus d'errors standard que forment part del nucli.

+ +

Sintaxi

+ +
new Error([missatge[, fitxer[, numeroLinia]]])
+ +

Paràmetres

+ +
+
missatge
+
Opcional. Descripció entenible per persones de l'error.
+
fitxer {{non-standard_inline}}
+
Opcional. El valor de la propietat fitxer a l'objecte Error creat. Per defecte pren el valor del nom del fitxer que conté el codi que ha cridat el constructor Error().
+
numeroLinia {{non-standard_inline}}
+
Opcional. El valor de la propietat numeroLinia de l'objecte Error creat. Per defecte rep el valor del número de línia que conté la invocació al constructor Error().
+
+ +

Descripció

+ +

Els errors en temps d'execució esdevenen objectes Error nous que són creats i llençats.

+ +

Aquesta pàgina documenta l'ús de l'objecte Error en si mateix, així com el seu ús com funció constructora. Per a un llistat de les propietats i mètodes heretats per les instàncies de Error, vegeu {{jsxref("Error.prototype")}}.

+ +

Tipus d'errors

+ +

A més del construtor genèric Error hi ha altres sis constructors d'errors que formen part del nucli de JavaScript. Per a excepcions al cantó del client vegeu Sentències manegadores d'excepcions.

+ +
+
{{jsxref("Global_Objects/EvalError", "EvalError")}}
+
Crea una instància que representa un error que succeeix a l'emprar la funció global {{jsxref("Global_Objects/eval", "eval()")}}.
+
{{jsxref("Global_Objects/InternalError", "InternalError")}} {{non-standard_inline}}
+
Crea una instància que representa un error que succeeix quan es llença un error intern des del motor de JavaScript. Per exemple: "massa recursivitat".
+
{{jsxref("Global_Objects/RangeError", "RangeError")}}
+
Crea una instància que representa un error que succeeix quan una variable numèrica o paràmetre està fora del seu rang vàlid.
+
{{jsxref("Global_Objects/ReferenceError", "ReferenceError")}}
+
Crea una instància que representa un error que succeeix quan es deixa de referenciar una referència invàlida.
+
{{jsxref("Global_Objects/SyntaxError", "SyntaxError")}}
+
Crea una instància que representa un error de sintaxi que succeeix a l'interpretar codi dins {{jsxref("Global_Objects/eval", "eval()")}}.
+
{{jsxref("Global_Objects/TypeError", "TypeError")}}
+
Crea una instància que representa un error que succeeix quan una variable o paràmetre és d'un tipus no vàlid.
+
{{jsxref("Global_Objects/URIError", "URIError")}}
+
Crea un error que representa un error que succeeix quan {{jsxref("Global_Objects/encodeURI", "encodeURI()")}} o {{jsxref("Global_Objects/decodeURI", "decodeURl()")}} reben paràmetres invàlids.
+
+ +

Propietats

+ +
+
{{jsxref("Error.prototype")}}
+
Permet afegir propietats a instàncies Error.
+
+ +

Mètodes

+ +

L'objecte global Error no contè mètodes propis. Tot i així, hereta alguns mètodes a través de la cadena de prototipus.

+ +

Instàncies Error

+ +
{{page('ca/docs/JavaScript/Reference/Global_Objects/Error/prototype', 'Descripció')}}
+ +

Propietats

+ +
{{page('ca/docs/JavaScript/Reference/Global_Objects/Error/prototype', 'Propietats')}}
+ +

Mètodes

+ +
{{page('ca/docs/JavaScript/Reference/Global_Objects/Error/prototype', 'Mètodes')}}
+ +

Exemples

+ +

Exemple: Llençar un error genèric

+ +

Normalment hom crea un objecte Error amb la intenció de llençar-lo tot emprant la paraula clau {{jsxref("Statements/throw", "throw")}}. Els errors es poden manegar utilitzant la construcció {{jsxref("Statements/try...catch", "try...catch")}}:

+ +
try {
+  throw new Error('Oooops!');
+} catch (e) {
+  alert(e.name + ': ' + e.message);
+}
+
+ +

Exemple: Manegar un error específic

+ +

this should probably be removedEs pot escollir fer-se càrrec només de tipus d'errors específics comparant el tipus d'error amb la propietat {{jsxref("Object.prototype.constructor", "constructor")}} de l'error o bé, si s'està escrivint el codi per a motors JavaScript moderns, mitjançant la paraula clau {{jsxref("Operators/instanceof", "instanceof")}}:

+ +
try {
+  foo.bar();
+} catch (e) {
+  if (e instanceof EvalError) {
+    alert(e.name + ': ' + e.message);
+  } else if (e instanceof RangeError) {
+    alert(e.name + ': ' + e.message);
+  }
+  // ... etc
+}
+
+ +

Exemple: Tipus d'errors personalitzats

+ +

És possible definir tipus d'errors propis derivats de Error, llençar-los mitjançant throw new MyError()  i utilitzar instanceof MyError per a comprovarel tipus d'error al manegador d'excepcions. A sota trobareu la forma més comuna de fer això.

+ +
+

Advertim que la instància MyError llençada reportarà lineNumber i fileName invàlids, com a mínim a Firefox.

+
+ +

Vegeu també la discussió a StackOverflow "Quina és una bona forma d'extrendre Error a JavaScript?".

+ +
// Crea un nou objecte, que hereta del prototipus constructor Error.
+function MyError(message) {
+  this.name = 'MyError';
+  this.message = message || 'Missatge per defecte';
+}
+MyError.prototype = Object.create(Error.prototype);
+MyError.prototype.constructor = MyError;
+
+try {
+  throw new MyError();
+} catch (e) {
+  console.log(e.name);     // 'MyError'
+  console.log(e.message);  // 'Missatge per defecte'
+}
+
+try {
+  throw new MyError('custom message');
+} catch (e) {
+  console.log(e.name);     // 'MyError'
+  console.log(e.message);  // 'Missatge per defecte'
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.11', 'Error')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error-objects', 'Error')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Error.prototype")}}
  • +
  • {{jsxref("Statements/throw", "throw")}}
  • +
  • {{jsxref("Statements/try...catch", "try...catch")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/error/linenumber/index.html b/files/ca/web/javascript/reference/global_objects/error/linenumber/index.html new file mode 100644 index 0000000000..7b85f29c19 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/error/linenumber/index.html @@ -0,0 +1,94 @@ +--- +title: Error.prototype.lineNumber +slug: Web/JavaScript/Referencia/Objectes_globals/Error/lineNumber +translation_of: Web/JavaScript/Reference/Global_Objects/Error/lineNumber +--- +
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}} {{non-standard_header}}
+ +

Resum

+ +

La propietat lineNumber conté el nombre de la línia del fitxer que ha llençat aquest erro.

+ +

Exemples

+ +

Exemple: Utilitzar lineNumber

+ +
var e = new Error('No he pogut interpretar l\'entrada');
+throw e;
+console.log(e.lineNumber) // 2
+
+ +

Exemple: Exemple alternatiu usant l'event error

+ +
window.addEventListener('error', function(e) {
+  console.log(e.lineno); // 5
+});
+var e = new Error('No he pogut interpretar l\'entrada');
+throw e;
+
+ +

Això és standard i suportat per Chrome, Firefox i provablement altres.

+ +

Especificacions

+ +

No forma part de cap especificació. No és standard.

+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsicOn error object in handled errors{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Error.prototype.stack")}} {{non-standard_inline}}
  • +
  • {{jsxref("Error.prototype.columnNumber")}} {{non-standard_inline}}
  • +
  • {{jsxref("Error.prototype.fileName")}} {{non-standard_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/error/message/index.html b/files/ca/web/javascript/reference/global_objects/error/message/index.html new file mode 100644 index 0000000000..4aa07268fa --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/error/message/index.html @@ -0,0 +1,110 @@ +--- +title: Error.prototype.message +slug: Web/JavaScript/Referencia/Objectes_globals/Error/message +translation_of: Web/JavaScript/Reference/Global_Objects/Error/message +--- +
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}}
+ +

Resum

+ +

La propietat message és una descripció en un format amigable pels humans de l'error.

+ +

Descripció

+ +

Aquesta propietat conté una breu descripció de l'error sempre i quan estigui disponible o hagi sigut assignada. SpiderMonkey fa un ús extensiu de la propietat message per a excepcions. El mètode {{jsxref("Error.prototype.toString()")}} utilitza la propietat message combinada amb la propietat {{jsxref("Error.prototype.name", "name")}} per a crear una representació de l'error.

+ +

Per defecte la propietat message és un string buit, però aquest comportament pot ser sobreescrit per una instàcia simplement passant un missatge com a primer argument del {{jsxref("Error", "constructor Error")}}.

+ +

Exemples

+ +

Exemple: Llençar un error personalitzat

+ +
var e = new Error('No he pogut interpretar l\'entrada'); // e.message valdrà 'No he pogut interpretar l\'entrada'
+throw e;
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-15.11.4.3', 'Error.prototype.message')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype.message', 'Error.prototype.message')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Error.prototype.name")}}
  • +
  • {{jsxref("Error.prototype.toString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/error/name/index.html b/files/ca/web/javascript/reference/global_objects/error/name/index.html new file mode 100644 index 0000000000..995ecafd5f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/error/name/index.html @@ -0,0 +1,111 @@ +--- +title: Error.prototype.name +slug: Web/JavaScript/Referencia/Objectes_globals/Error/name +translation_of: Web/JavaScript/Reference/Global_Objects/Error/name +--- +
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}}
+ +

Resum

+ +

La propietat name representa un nom per al tipus de error. El valor que rep inicialment aquesta propietat és "Error".

+ +

Descripció

+ +

Per defecte, les instàncies de {{jsxref("Error")}} reben el nom "Error". El mètode Error.prototype.toString() utilitza la propietat name combinada amb la propietat message per a crear una representació de l'error.

+ +

Exemples

+ +

Exemple: Llençar un error personalitzat

+ +
var e = new Error('Entrada no vàlida'); // e.name is 'Error'
+
+e.name = 'ParseError';
+throw e;
+// e.toString() would return 'ParseError: Entrada no vàlida'
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-15.11.4.2', 'Error.prototype.name')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype.name', 'Error.prototype.name')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Error.prototype.message")}}
  • +
  • {{jsxref("Error.prototype.toString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/error/stack/index.html b/files/ca/web/javascript/reference/global_objects/error/stack/index.html new file mode 100644 index 0000000000..aa41949423 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/error/stack/index.html @@ -0,0 +1,161 @@ +--- +title: Error.prototype.stack +slug: Web/JavaScript/Referencia/Objectes_globals/Error/Stack +translation_of: Web/JavaScript/Reference/Global_Objects/Error/Stack +--- +
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}} {{non-standard_header}}
+ +

Resum

+ +

La propietat no standard stack dels objectes {{jsxref("Error")}} ofereix una traça de quines funcions han estat cridades, en quin ordre, des de quina línia i fitxer, i amb quins arguments. La stack, en forma de string, va de les crides més recent a les més antigues, fins a arribar a la crida original del context global.

+ +

Descripció

+ +

Cada pas estarà separat per una nova línia, on la primera part de cada línia és el nom de la funció (si no es tracta d'una crida des del context global), seguit per pel símbol arroba (@), la ruta del fitxer (excepte quan la funció és la funció constructora de l'error mentre s'està llençant l'error), un punt i coma, i, si hi ha una ruta de fitxer, el nombre de línia. Fixeu-vos que l'objecte {{jsxref("Error")}} també disposa de les propietats filename, lineNumber i columnNumber de l'error llençat (però no de la traça).

+ +

Cal remarcar que aquest és el format utilitzat per Firefox. No hi ha un formateig standard. Tot i així, Safari 6+ i Opera 12- utilitzen un format molt similar. Els navegadors que utilitzen el motor de JavaScript V8 (com ara Chrome, Opera 15+ i el navegador de Android), així com IE10+, d'altra banda, utilitzen un format diferent (vegeu el document de la MSDN error.stack).

+ +

Valors dels arguments a la pila: Abans del ({{bug("744842")}}) de Firefox 14, el nom de la funció anava seguit dels valors dels arguments convertits a string entre parèntesi immediatament abans de l'arroba (@). Un objecte (o un array, etc) apareixeria en la forma convertida "[object Object]", i en conseqüència no podria ser evaluada de nou en objectes. Si que es poden obtenir els valors escalars (tot i que resulta més senzill utilitzar arguments.callee.caller.arguments, així com es pot trobar el nom de la funció a arguments.callee.caller.name). "undefined" apareix com a "(void 0)". Cal tenir en compte que si s'han passat arguments de tipus string que continguin caracters com ara "@", "(", ")" (o bé noms de fitxers), resulta força complicat utiltizar-los per a trencar la línia en les diferents parts que la composen. Degut a això, a partir de Firefox 14 això deixa de ser un problema.

+ +

Exemple

+ +

El següent codi HTML mostra l'ús de la propietat stack.

+ +
<!DOCTYPE HTML>
+<meta charset="UTF-8">
+<title>Exemple de pila de traça</title>
+<body>
+<script>
+function trace() {
+  try {
+    throw new Error('myError');
+  }
+  catch(e) {
+    alert(e.stack);
+  }
+}
+function b() {
+  trace();
+}
+function a() {
+  b(3, 4, '\n\n', undefined, {});
+}
+a('primera crida, primerArgument');
+</script>
+
+ +

Assumint que el codi resideix al fitxer C:\exemple.html en un sistema de fitxers de Windows, aquest generarà un missatge d'alerta amb el text següent:

+ +

A partir de Firefox 30 contindrà el nombre de la columna ({{bug("762556")}}):

+ +
trace@file:///C:/exemple.html:9:17
+b@file:///C:/exemple.html:16:13
+a@file:///C:/exemple.html:19:13
+@file:///C:/exemple.html:21:9
+ +

Firefox 14 a Firefox 29:

+ +
trace@file:///C:/exemple.html:9
+b@file:///C:/exemple.html:16
+a@file:///C:/exemple.html:19
+@file:///C:/exemple.html:21
+ +

Per contra, Firefox 13 i versions prèvies produian el següent text:

+ +
Error("myError")@:0
+trace()@file:///C:/exemple.html:9
+b(3,4,"\n\n",(void 0),[object Object])@file:///C:/exemple.html:16
+a("primera crida, primerArgument")@file:///C:/exemple.html:19
+@file:///C:/exemple.html:21
+ +

Pila de codi evaluat

+ +

A partir de Firefox 30 {{geckoRelease("30")}}, la pila d'error pertanyent a codi dins de crides a Function() i eval() conté informació més detallada sobre la línia i la columna que ha produït l'error dins aquestes crides. Les crides a funcions s'indiquen amb "> Function" i les crides a eval amb "> eval". Vegeu {{bug("332176")}}.

+ +
try {
+  new Function('throw new Error()')();
+} catch (e) {
+  console.log(e.stack);
+}
+
+// anonymous@file:///C:/exemple.html line 7 > Function:1:1
+// @file:///C:/example.html:7:6
+
+
+try {
+  eval("eval('FAIL')");
+} catch (x) {
+  console.log(x.stack);
+}
+
+// @file:///C:/exemple.html line 7 > eval line 1 > eval:1:1
+// @file:///C:/exemple.html line 7 > eval:1:1
+// @file:///C:/exemple.html:7:6
+
+ +

També podeu utilitzar la directiva //# sourceURL per a donar nom a codi eval. Vegeu també Depurar codi eval als documents de Depurar així com en aquesta entrada d'un bloc.

+ +

Especificacions

+ +

No forma part de cap especificació. No és standard.

+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatIE("10")}}{{CompatVersionUnknown}}{{CompatSafari("6")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsicAndroid 4 (potser Android 3, però en cap cas Android 2){{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatSafari("6")}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/global_objects/error/tosource/index.html b/files/ca/web/javascript/reference/global_objects/error/tosource/index.html new file mode 100644 index 0000000000..c766aa312b --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/error/tosource/index.html @@ -0,0 +1,91 @@ +--- +title: Error.prototype.toSource() +slug: Web/JavaScript/Referencia/Objectes_globals/Error/toSource +translation_of: Web/JavaScript/Reference/Global_Objects/Error/toSource +--- +
{{JSRef}} {{non-standard_header}}
+ +

El mètode toSource() reotrna codi capaç de generar el mateix error en case de ser evaluat.

+ +

Sintaxi

+ +
e.toSource()
+ +

Descripció

+ +

La crida al mètode toSource d'una instància d'{{jsxref("Error")}}(incloent NativeErrors) retorna un string que conté el codi font de l'error. Aquest string pot ser evaluat per a crear un objecte (aproximadament) igual. Per defecte la string contenint el codi font segueix l'estructura del construtor {{jsxref("Error")}}. Per exemple:

+ +
(newname(message ,fileName,lineNumber))
+
+ +

on aquests atributs corresponen a les propietats de la instància de l'error, respectivament.

+ +
+

Advertència: Cal tenir en compte que les propietats utilitzades pel mètode toSource a l'hora de crear l'string són mutables i per tant poden no representar de forma acurada la funció utilitzada per a crear la instància de l'error, el nom del fitxer o el nombre de la línia on l'error real ha tingut lloc.

+
+ +

Especificacions

+ +

No forma part de cap standard. Implementat a JavaScript 1.3.

+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Error.prototype.fileName")}}
  • +
  • {{jsxref("Error.prototype.lineNumber")}}
  • +
  • {{jsxref("Error.prototype.message")}}
  • +
  • {{jsxref("Error.prototype.name")}}
  • +
  • {{jsxref("Object.prototype.toSource()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/error/tostring/index.html b/files/ca/web/javascript/reference/global_objects/error/tostring/index.html new file mode 100644 index 0000000000..79fd20f77f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/error/tostring/index.html @@ -0,0 +1,146 @@ +--- +title: Error.prototype.toString() +slug: Web/JavaScript/Referencia/Objectes_globals/Error/toString +translation_of: Web/JavaScript/Reference/Global_Objects/Error/toString +--- +
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}}
+ +

Resum

+ +

El mètode toString() retorna un string que representa l'error especificat per l'objecte {{jsxref("Error")}}.

+ +

Sintaxi

+ +
e.toString()
+ +

Descripció

+ +

L'objecte {{jsxref("Error")}} sobreescriu el mètode {{jsxref("Object.prototype.toString()")}} heretat per tots els objectes. La seva semàntica és la següent (suposant que {{jsxref("Object")}} i {{jsxref("String")}} tenen els seus valors originals):

+ +
Error.prototype.toString = function() {
+  'use strict';
+
+  var obj = Object(this);
+  if (obj !== this) {
+    throw new TypeError();
+  }
+
+  var name = this.name;
+  name = (name === undefined) ? 'Error' : String(name);
+
+  var msg = this.message;
+  msg = (msg === undefined) ? '' : String(msg);
+
+  if (name === '') {
+    return msg;
+  }
+  if (msg === '') {
+    return name;
+  }
+
+  return name + ': ' + msg;
+};
+
+ +

Exemples

+ +
var e = new Error('fatal error');
+print(e.toString()); // 'Error: fatal error'
+
+e.name = undefined;
+print(e.toString()); // 'Error: fatal error'
+
+e.name = '';
+print(e.toString()); // 'fatal error'
+
+e.message = undefined;
+print(e.toString()); // 'Error'
+
+e.name = 'hello';
+print(e.toString()); // 'hello'
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.11.4.4', 'Error.prototype.toString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype.tostring', 'Error.prototype.toString')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Error.prototype.toSource()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/evalerror/prototype/index.html b/files/ca/web/javascript/reference/global_objects/evalerror/prototype/index.html deleted file mode 100644 index 5f83d25a6f..0000000000 --- a/files/ca/web/javascript/reference/global_objects/evalerror/prototype/index.html +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: EvalError.prototype -slug: Web/JavaScript/Reference/Global_Objects/EvalError/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/EvalError -translation_of_original: Web/JavaScript/Reference/Global_Objects/EvalError/prototype ---- -
{{JSRef}}
- -

La propietat EvalError.prototype representa el prototip del constructor {{jsxref("EvalError")}}.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Totes les instàncies {{jsxref("EvalError")}} hereten de EvalError.prototype. Es pot utilitzar el prototip per afegir propietats o mètodes a totes les instàncies.

- -

Propietats

- -
-
EvalError.prototype.constructor
-
Especifica la funció que ha creat el prototip d'una instància.
-
{{jsxref("Error.prototype.message", "EvalError.prototype.message")}}
-
Missatge d'error. Tot i que l'ECMA-262 especifica que {{jsxref("EvalError")}} hauria de proveir la seva pròpia propietat message, en SpiderMonkey, hereta {{jsxref("Error.prototype.message")}}.
-
{{jsxref("Error.prototype.name", "EvalError.prototype.name")}}
-
Nom de l'error. Heretat de {{jsxref("Error")}}.
-
{{jsxref("Error.prototype.fileName", "EvalError.prototype.fileName")}}
-
Camí cap al fitxer que ha llançat aquest error. Heretat de {{jsxref("Error")}}.
-
{{jsxref("Error.prototype.lineNumber", "EvalError.prototype.lineNumber")}}
-
Número de línia en el fitxer que ha llançat aquest error. Heretat de {{jsxref("Error")}}.
-
{{jsxref("Error.prototype.columnNumber", "EvalError.prototype.columnNumber")}}
-
Número de columna en la línia que ha llançat aquest error. Heretat de {{jsxref("Error")}}.
-
{{jsxref("Error.prototype.stack", "EvalError.prototype.stack")}}
-
Traça de l'error. Heretat de {{jsxref("Error")}}.
-
- -

Mètodes

- -

Tot i que l'objecte prototip {{jsxref("EvalError")}} no contè cap mètode en si mateix, les instàncies  {{jsxref("EvalError")}} hereten alguns mètodes a través de la cadena prototip.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial
{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}{{Spec2('ES5.1')}}Definit com a NativeError.prototype.
{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}{{Spec2('ES6')}}Definit com a NativeError.prototype.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype")}}
  • -
  • {{jsxref("Function.prototype")}}
  • -
diff --git a/files/ca/web/javascript/reference/global_objects/index.html b/files/ca/web/javascript/reference/global_objects/index.html new file mode 100644 index 0000000000..60bd0333f7 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/index.html @@ -0,0 +1,167 @@ +--- +title: Objectes Standard +slug: Web/JavaScript/Referencia/Objectes_globals +translation_of: Web/JavaScript/Reference/Global_Objects +--- +
+
{{jsSidebar("Objects")}}
+
+ +

Resum

+ +

Aquest capítol llista tots els objectes que Javascript proporciona per defecte, així com els seus mètodes i propietats.

+ +
+

És important no confondre el terme "objectes globals" (també anomenats objectes standard o built-in) amb objecte global. En aquesta pàgina objecte global es refereix a objectes en l'àmbit global (però només si no s'utilitza el mode estricte de ECMAScript 5! En qualsevol altre cas retorna undefined). Es pot accedir a l'objecte global en si mateix mitjançant l'operador {{jsxref("Referencia/Objectes_standard/this", "this")}} en l'àmbit global. De fet l'àmbit global consisteix  en les propietats de l'objecte global (propietats heredades incloses, si s'escau).

+ +

Altres objectes en l'àmbit global són o bé creats per l'script de l'usuari o bé proporcionats per l'aplicació del host. Els objectes proporcionats pel host disponibles en els àmbits del navegador estan documentats a la referència de la API.

+ +

Objectes standard (per categoria)

+ +

Propietats de valor

+ +

Propietats globals que retornen un valor simple.

+ +
    +
  • {{jsxref("Infinity")}}
  • +
  • {{jsxref("NaN")}}
  • +
  • {{jsxref("undefined")}}
  • +
  • El literal {{jsxref("null")}}
  • +
+ +

Funcions globals

+ +

Funcions globals que retornen el resultat d'una rutina específica.

+ +
    +
  • {{jsxref("eval", "eval()")}}
  • +
  • {{jsxref("uneval", "uneval()")}} {{non-standard_inline()}}
  • +
  • {{jsxref("isFinite", "isFinite()")}}
  • +
  • {{jsxref("isNaN", "isNaN()")}}
  • +
  • {{jsxref("parseFloat", "parseFloat()")}}
  • +
  • {{jsxref("parseInt", "parseInt()")}}
  • +
  • {{jsxref("decodeURI", "decodeURI()")}}
  • +
  • {{jsxref("decodeURIComponent", "decodeURIComponent()")}}
  • +
  • {{jsxref("encodeURI", "encodeURI()")}}
  • +
  • {{jsxref("encodeURIComponent", "encodeURIComponent()")}}
  • +
  • {{jsxref("escape", "escape()")}} {{deprecated_inline()}}
  • +
  • {{jsxref("unescape", "unescape()")}} {{deprecated_inline()}}
  • +
+ +

Objectes fonamentals

+ +

Objectes generals del llenguatge, funcions i errors.

+ +
    +
  • {{jsxref("Object")}}
  • +
  • {{jsxref("Function")}}
  • +
  • {{jsxref("Boolean")}}
  • +
  • {{jsxref("Symbol")}} {{experimental_inline()}}
  • +
  • {{jsxref("Error")}}
  • +
  • {{jsxref("EvalError")}}
  • +
  • {{jsxref("InternalError")}}
  • +
  • {{jsxref("RangeError")}}
  • +
  • {{jsxref("ReferenceError")}}
  • +
  • {{jsxref("SyntaxError")}}
  • +
  • {{jsxref("TypeError")}}
  • +
  • {{jsxref("URIError")}}
  • +
+ +

Nombres i dates

+ +

Objectes que emmagatzemen nombres, dades i càlculs matemàtics.

+ +
    +
  • {{jsxref("Number")}}
  • +
  • {{jsxref("Math")}}
  • +
  • {{jsxref("Date")}}
  • +
+ +

Processament de text

+ +

Objectes per manipular text.

+ +
    +
  • {{jsxref("String")}}
  • +
  • {{jsxref("RegExp")}}
  • +
+ +

Col·leccions indexades

+ +

Col·leccions ordenades per un índex. Objectes de tipus array.

+ +
    +
  • {{jsxref("Array")}}
  • +
  • {{jsxref("Int8Array")}}
  • +
  • {{jsxref("Uint8Array")}}
  • +
  • {{jsxref("Uint8ClampedArray")}}
  • +
  • {{jsxref("Int16Array")}}
  • +
  • {{jsxref("Uint16Array")}}
  • +
  • {{jsxref("Int32Array")}}
  • +
  • {{jsxref("Uint32Array")}}
  • +
  • {{jsxref("Float32Array")}}
  • +
  • {{jsxref("Float64Array")}}
  • +
+ +

Diccionaris (mapes)

+ +

Col·leccions d'objectes de tipus diccionari (també coneguts com a mapes o col·leccions d'entrades clau-valor). Els elements són iterables per ordre d'inserció.

+ +
    +
  • {{jsxref("Map")}} {{experimental_inline()}}
  • +
  • {{jsxref("Set")}} {{experimental_inline()}}
  • +
  • {{jsxref("WeakMap")}} {{experimental_inline()}}
  • +
  • {{jsxref("WeakSet")}} {{experimental_inline()}}
  • +
+ +

Dades estructurades

+ +

Buffers de dades i JavaScript Object Notation.

+ +
    +
  • {{jsxref("ArrayBuffer")}}
  • +
  • {{jsxref("DataView")}}
  • +
  • {{jsxref("JSON")}}
  • +
+ +

Objectes d'abstracció de control

+ +
    +
  • {{jsxref("Promise")}} {{experimental_inline()}}
  • +
+ +

Reflexió

+ +
    +
  • {{jsxref("Reflect")}} {{experimental_inline()}}
  • +
  • {{jsxref("Proxy")}} {{experimental_inline()}}
  • +
+ +

Internacionalització

+ +

Adicions al nucli de ECMAScript per a funcionalitats sensibles a l'idioma.

+ +
    +
  • {{jsxref("Intl")}}
  • +
  • {{jsxref("Collator", "Intl.Collator")}}
  • +
  • {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}
  • +
  • {{jsxref("NumberFormat", "Intl.NumberFormat")}}
  • +
+ +

Objectes no-standard

+ +
    +
  • {{jsxref("Generator")}} {{non-standard_inline()}}
  • +
  • {{jsxref("Iterator")}} {{non-standard_inline()}}
  • +
  • {{jsxref("ParallelArray")}} {{non-standard_inline()}}
  • +
  • {{jsxref("StopIteration")}} {{non-standard_inline()}}
  • +
+ +

Altres

+ + +
+ +

 

diff --git a/files/ca/web/javascript/reference/global_objects/infinity/index.html b/files/ca/web/javascript/reference/global_objects/infinity/index.html new file mode 100644 index 0000000000..409609bfd2 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/infinity/index.html @@ -0,0 +1,114 @@ +--- +title: Infinity +slug: Web/JavaScript/Referencia/Objectes_globals/Infinity +translation_of: Web/JavaScript/Reference/Global_Objects/Infinity +--- +
+
+
{{jsSidebar("Objects")}}
+
+
+ +

Resum

+ +

La propietat global Infinity és un valor numèric que representa l'infinit.

+ +

{{js_property_attributes(0,0,0)}}

+ +

Sintaxi

+ +
Infinity 
+ +

Descripció

+ +

Infinity és una propietat de l'objecte global, és a dir, és una variable dins l'àmbit global.

+ +

El valor inical de Infinity és {{jsxref("Number.POSITIVE_INFINITY")}}. El valor Infinity (infinit positiu) és major que qualsevol altre nombre. Aquest valor es comporta matemàticament com l'infinit; per exemple, qualsevol nombre positiu multiplicat per Infinity dóna com a resultat Infinity, qualsevol valor dividit per Infinity dóna 0.

+ +

Tal i com la especificació ECMAScript 5 defineix, Infinity no pot ser sobreescrit (implementat a JavaScript 1.8.5  / Firefox 4).

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacionsEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3
{{SpecName('ES5.1', '#sec-15.1.1.2', 'Infinity')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-value-properties-of-the-global-object-infinity', 'Infinity')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.NEGATIVE_INFINITY")}}
  • +
  • {{jsxref("Number.POSITIVE_INFINITY")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/json/index.html b/files/ca/web/javascript/reference/global_objects/json/index.html new file mode 100644 index 0000000000..efc86409e6 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/json/index.html @@ -0,0 +1,242 @@ +--- +title: JSON +slug: Web/JavaScript/Referencia/Objectes_globals/JSON +translation_of: Web/JavaScript/Reference/Global_Objects/JSON +--- +
{{JSRef("Global_Objects", "JSON")}}
+ +

Resum

+ +

L'objecte JSON conté mètodes per a interpretar JavaScript Object Notation ({{glossary("JSON")}}) i convertir valors a JSON. Aquest objecte no pot ser cridat o construit, i a banda dels seus dos mètodes no té cap més funcionalitat o interès.

+ +

and converting values to JSON. It can't be called or constructed, and aside from its two method properties it has no interesting functionality of its own.

+ +

Descripció

+ +

JavaScript Object Notation

+ +

JSON és una sintaxi que permet serialitzar objectes, arrays, nombres, strings, booleans i {{jsxref("null")}}. Està basada en la sintaxi de JavaScript però és diferent: algunes parts de JavaScript no són convertibles a JSON i algunes de JSON no ho són a JavaScript. Vegeu també JSON: El subconjunt de JavaScript que no ho és.

+ + + + + + + + + + + + + + + + + + + + + + + +
Diferències entre JavaScript i JSON
Tipus a JavaScriptDiferències a JSON
Objectes i ArraysEls noms de les propietats han de estar embolcallats per cometes dobles; les cometes simples estan prohibides
NombresNo són permesos zeros a l'esquerra; els nombres decimals separent la part sencera amb un punt i han de tindre al menys un digit decimal.
Strings +

Només es pot escapar un grup limitat de caràcters; alguns caràcters de control no són permesos; el separador de línies Unicode (U+2028) i el separador de paràgrafs (U+2029) són permesos; les strings han d'estar embolcallades per cometes dobles. Vegeu l'exemple següent on {{jsxref("JSON.parse()")}} funciona correctament i es llença un {{jsxref("SyntaxError")}} a l'avaluar el codi com a JavaScript:

+ +
+var code = '"\u2028\u2029"';
+JSON.parse(code); // funciona correctament
+eval(code); // falla
+
+
+ +

La sintaxi completa de JSON és la següent:

+ +
JSON = null
+    o true o false
+    o JSONNumber
+    o JSONString
+    o JSONObject
+    o JSONArray
+
+JSONNumber = - PositiveNumber
+          o PositiveNumber
+PositiveNumber = DecimalNumber
+              o DecimalNumber . Digits
+              o DecimalNumber . Digits ExponentPart
+              o DecimalNumber ExponentPart
+DecimalNumber = 0
+             o OneToNine Digits
+ExponentPart = e Exponent
+            o E Exponent
+Exponent = Digits
+        o + Digits
+        o - Digits
+Digits = Digit
+      o Digits Digit
+Digit = 0 through 9
+OneToNine = 1 through 9
+
+JSONString = ""
+          o " StringCharacters "
+StringCharacters = StringCharacter
+                o StringCharacters StringCharacter
+StringCharacter = qualsevol caràcter excepte
+                  " o \ o U+0000 fins a U+001F
+               o EscapeSequence
+EscapeSequence = \" o \/ o \\ o \b o \f o \n o \r o \t
+              o \u HexDigit HexDigit HexDigit HexDigit
+HexDigit = 0 fins a 9
+        o A fins a F
+        o a fins a f
+
+JSONObject = { }
+          o { Members }
+Members = JSONString : JSON
+       o Members , JSONString : JSON
+
+JSONArray = [ ]
+         o [ ArrayElements ]
+ArrayElements = JSON
+             o ArrayElements , JSON
+
+ +

Pot haver-hi espais en blanc sense significat a qualsevol lloc excepte dins un JSONNumber (el nombres no poden contenir espais) o JSONString (on s'interpreta com el caràcter corrsponen dins l'string, o causaria un error). Els caràcters tabulador (U+0009), retorn de carro (U+000D), nova línia (U+000A), i l'espai (U+0020) són els únics caràcters d'espai en blanc acceptats.

+ +

Mètodes

+ +
+
{{jsxref("JSON.parse()")}}
+
Interpreta una string com a JSON, opcionalment transforma el valor produït i les seves propietats, i retorna el valor.
+
{{jsxref("JSON.stringify()")}}
+
Retorna un JSON string corresponent al valor especificat, opcionalment només inclou determinades propietats o reemplaça el valor de propietats tal i com defineixi l'usuari.
+
+ +

Polyfill

+ +

L'objecte JSON no és suportat a navegadors antics. Aquest problema pot solventar-se insertant el codi següent al principi dels scripts, permetent l'ús de l'objecte JSON en implementacions on no hi ha suport natiu (com ara Internet Explorer 6).

+ +

El següent algorisme emula l'objecte JSON natiu:

+ +
if (!window.JSON) {
+  window.JSON = {
+    parse: function(sJSON) { return eval('(' + sJSON + ')'); },
+    stringify: (function () {
+      var toString = Object.prototype.toString;
+      var isArray = Array.isArray || function (a) { return toString.call(a) === '[object Array]'; };
+      var escMap = {'"': '\\"', '\\': '\\\\', '\b': '\\b', '\f': '\\f', '\n': '\\n', '\r': '\\r', '\t': '\\t'};
+      var escFunc = function (m) { return escMap[m] || '\\u' + (m.charCodeAt(0) + 0x10000).toString(16).substr(1); };
+      var escRE = /[\\"\u0000-\u001F\u2028\u2029]/g;
+      return function stringify(value) {
+        if (value == null) {
+          return 'null';
+        } else if (typeof value === 'number') {
+          return isFinite(value) ? value.toString() : 'null';
+        } else if (typeof value === 'boolean') {
+          return value.toString();
+        } else if (typeof value === 'object') {
+          if (typeof value.toJSON === 'function') {
+            return stringify(value.toJSON());
+          } else if (isArray(value)) {
+            var res = '[';
+            for (var i = 0; i < value.length; i++)
+              res += (i ? ', ' : '') + stringify(value[i]);
+            return res + ']';
+          } else if (toString.call(value) === '[object Object]') {
+            var tmp = [];
+            for (var k in value) {
+              if (value.hasOwnProperty(k))
+                tmp.push(stringify(k) + ': ' + stringify(value[k]));
+            }
+            return '{' + tmp.join(', ') + '}';
+          }
+        }
+        return '"' + value.toString().replace(escRE, escFunc) + '"';
+      };
+    })()
+  };
+}
+
+ +

Dos polyfills complexos coneguts per a l'objecte JSON són JSON2 i JSON3.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.12', 'JSON')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-json-object', 'JSON')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatIE("8.0")}}{{CompatOpera("10.5")}}{{CompatSafari("4.0")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Basat en la taula de compatibilitat de Kangax.

+ +

Vegeu també

+ +
    +
  • {{jsxref("Date.prototype.toJSON()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/clear/index.html b/files/ca/web/javascript/reference/global_objects/map/clear/index.html new file mode 100644 index 0000000000..f29cc93eef --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/clear/index.html @@ -0,0 +1,104 @@ +--- +title: Map.prototype.clear() +slug: Web/JavaScript/Referencia/Objectes_globals/Map/clear +translation_of: Web/JavaScript/Reference/Global_Objects/Map/clear +--- +
{{JSRef}}
+ +

El mètode clear() esborra tots els elements d'un objecte de tipus Map.

+ +

Sintaxi

+ +
myMap.clear();
+ +

Exemples

+ +

Utilitzar el mètode clear

+ +
var myMap = new Map();
+myMap.set("bar", "baz");
+myMap.set(1, "foo");
+
+myMap.size;       // 2
+myMap.has("bar"); // true
+
+myMap.clear();
+
+myMap.size;       // 0
+myMap.has("bar")  // false
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.clear', 'Map.prototype.clear')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("19.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("19.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/delete/index.html b/files/ca/web/javascript/reference/global_objects/map/delete/index.html new file mode 100644 index 0000000000..01c1b2cf28 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/delete/index.html @@ -0,0 +1,109 @@ +--- +title: Map.prototype.delete() +slug: Web/JavaScript/Referencia/Objectes_globals/Map/delete +translation_of: Web/JavaScript/Reference/Global_Objects/Map/delete +--- +
{{JSRef}}
+ +

El mètode delete() elimina l'element especificat de l'objecte Map.

+ +

Sintaxi

+ +
myMap.delete(clau);
+ +

Paràmetres

+ +
+
clau
+
Necessari. La clau de l'element a eliminar de l'objecte Map.
+
+ +

valor Return

+ +

Retorna true si un element de l'objecte Map s'ha eleminat amb èxit.

+ +

Exemples

+ +

Utilitzar el mètode delete

+ +
var myMap = new Map();
+myMap.set("bar", "foo");
+
+myMap.delete("bar"); // Retorna true. Eliminat satisfactòriament.
+myMap.has("bar");    // Retorna false. L'element "bar" ja no és present.
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.delete', 'Map.prototype.delete')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/entries/index.html b/files/ca/web/javascript/reference/global_objects/map/entries/index.html new file mode 100644 index 0000000000..d5f6942695 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/entries/index.html @@ -0,0 +1,104 @@ +--- +title: Map.prototype.entries() +slug: Web/JavaScript/Referencia/Objectes_globals/Map/entries +translation_of: Web/JavaScript/Reference/Global_Objects/Map/entries +--- +
{{JSRef}}
+ +

El mètode entries()retorna un nou objecte Iterator que conté la parella [clau, valor] per cadascun dels elements de l'objecte Map en l'ordre d'inserció.

+ +

Sintaxi

+ +
myMap.entries()
+ +

Exemples

+ +

Utilitzar entries()

+ +
var myMap = new Map();
+myMap.set("0", "foo");
+myMap.set(1, "bar");
+myMap.set({}, "baz");
+
+var mapIter = myMap.entries();
+
+console.log(mapIter.next().value); // ["0", "foo"]
+console.log(mapIter.next().value); // [1, "bar"]
+console.log(mapIter.next().value); // [Object, "baz"]
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.entries', 'Map.prototype.entries')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("20") }}{{CompatNo}}257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("20")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map.prototype.keys()")}}
  • +
  • {{jsxref("Map.prototype.values()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/foreach/index.html b/files/ca/web/javascript/reference/global_objects/map/foreach/index.html new file mode 100644 index 0000000000..7097bbee3d --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/foreach/index.html @@ -0,0 +1,136 @@ +--- +title: Map.prototype.forEach() +slug: Web/JavaScript/Referencia/Objectes_globals/Map/forEach +translation_of: Web/JavaScript/Reference/Global_Objects/Map/forEach +--- +
{{JSRef}}
+ +

El mètode forEach() executa la funció proporcionada un cop epr cada parell clau/valor dins l'objecte Map, seguint l'ordre en el que han estat inserits.

+ +

Sintaxi

+ +
myMap.forEach(callback[, thisArg])
+ +

Paràmetres

+ +
+
callback
+
Funció a executar per a cada element.
+
thisArg
+
Valor a utilitzar com a this mentre s'estigui executant executing callback.
+
+ +

Descripció

+ +

El mètode forEach executa la funció callback  proporcionada un cop per a cada clau que existeixi dins el mapa. No s'invocarà la funció per a claus que hagin estat esborrades. Tanmateix si que s'executarà per a valors amb clau present però que el seu valor sigui undefined.

+ +

callback s'invocarà amb tres arguments:

+ +
    +
  • el valor de l'element
  • +
  • la clau de l'element
  • +
  • l'objecte Map que s'està recorrent
  • +
+ +

Si es proporciona el paràmetre thisArg a la crida de forEach, aquest es passarà a callback quan s'invoqui per a ser utilitzat com a this dins la funció.  En qualsevol altre cas el valor que rebrà this dins la funció callback serà undefined. El valor de this que serà finalment observable dins de callback és determinat d'acord a les regles habituals per a determinar el valor de this observat dins d'una funció.

+ +

Cada valor serà visitat un cop, a no ser que hagi estat eliminat o tornar a afegir abans que el mètode forEach acabi. No s'invocarà callback per a valors eliminats abans de ser visitats. Si que es visitaran, però, valors nous afegits abans forEach no hagi acabat.

+ +

forEach executa la funció callback un cop per cada element de l'objecte Map; no retorna cap valor.

+ +

Exemples

+ +

Mostrar els continguts d'un objecte Map

+ +

El codi següent mostra una línia per cada element d'un objecte Map:

+ +
function logMapElements(value, key, map) {
+    console.log("m[" + key + "] = " + value);
+}
+Map([["foo", 3], ["bar", {}], ["baz", undefined]]).forEach(logMapElements);
+// mostra:
+// "m[foo] = 3"
+// "m[bar] = [object Object]"
+// "m[baz] = undefined"
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("25.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("25.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.forEach()")}}
  • +
  • {{jsxref("Set.prototype.forEach()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/get/index.html b/files/ca/web/javascript/reference/global_objects/map/get/index.html new file mode 100644 index 0000000000..ec345df059 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/get/index.html @@ -0,0 +1,116 @@ +--- +title: Map.prototype.get() +slug: Web/JavaScript/Referencia/Objectes_globals/Map/get +translation_of: Web/JavaScript/Reference/Global_Objects/Map/get +--- +
{{JSRef}}
+ +

El mètode get() retorna l'element especifciat d'un objecte Map.

+ +

Sintaxi

+ +
myMap.get(clau);
+ +

Paràmetres

+ +
+
clau
+
Obligatori. La clau de l'element a retorna de l'objecte Map.
+
+ +

Valor a retornar

+ +

Retorna l'element associat a la clau especificada o bé undefined si no s'ha pogut trobar la clau dins l'objecte Map.

+ +

Exemples

+ +

Utilitzar el mètode get

+ +
var myMap = new Map();
+myMap.set("bar", "foo");
+
+myMap.get("bar");  // Retorna "foo".
+myMap.get("baz");  // Retorna undefined.
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.get', 'Map.prototype.get')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-map.prototype.get', 'Map.prototype.get')}}{{Spec2('ESDraft')}} 
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map")}}
  • +
  • {{jsxref("Map.prototype.set()")}}
  • +
  • {{jsxref("Map.prototype.has()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/has/index.html b/files/ca/web/javascript/reference/global_objects/map/has/index.html new file mode 100644 index 0000000000..d0ce1bec54 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/has/index.html @@ -0,0 +1,114 @@ +--- +title: Map.prototype.has() +slug: Web/JavaScript/Referencia/Objectes_globals/Map/has +translation_of: Web/JavaScript/Reference/Global_Objects/Map/has +--- +
{{JSRef}}
+ +

El mètode has() retorna un booleà que indica si existeix un element amb la clau especificada o no.

+ +

Sintaxi

+ +
myMap.has(clau);
+ +

Paràmetres

+ +
+
clau
+
Obligatori. La clau de l'element que es comprovarà si existeix o no dins l'objecte Map.
+
+ +

Valor retornat

+ +
+
Booleà
+
Retorna true si existeix un element amb la clau proporcionada dins l'objecte Map; retorna false en qualsevol altre cas.
+
+ +

Exemples

+ +

Utilitzar el mètode has

+ +
var myMap = new Map();
+myMap.set("bar", "foo");
+
+myMap.has("bar");  // retorn true
+myMap.has("baz");  // retorn false
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.has', 'Map.prototype.has')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map")}}
  • +
  • {{jsxref("Map.prototype.set()")}}
  • +
  • {{jsxref("Map.prototype.get()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/index.html b/files/ca/web/javascript/reference/global_objects/map/index.html new file mode 100644 index 0000000000..8e2bb647bd --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/index.html @@ -0,0 +1,385 @@ +--- +title: Map +slug: Web/JavaScript/Referencia/Objectes_globals/Map +translation_of: Web/JavaScript/Reference/Global_Objects/Map +--- +
{{JSRef("Global_Objects", "Map")}}
+ +

Resum

+ +

L'objecte Map és un simple mapa de parelles clau/valor. Qualsevol valor (tant objectes com {{Glossary("Primitive", "primitive values")}}) poden fer-se servir tant com a clau com a valor.

+ +

Sintaxi

+ +
new Map([iterable])
+
+ +

Paràmetres

+ +
+
iterable
+
Iterable és un Array o un altre objecte iterable els quals els seus elements són parelles clau/valor (Arrays de 2 elements). Cada parella clau/valor serà afegida al nou mapa. nul és tracta com a indefinit.
+
+ +

Descripció

+ +

Un objecte Map pot iterar els seus elements en ordre d'inserció - un bucle for..of retornarà un array de [key, value] per cada iteració.

+ +

Igualtat de claus

+ +

La igualtat de claus es basa en l'algorisme "mateix valor": NaN es considera igual a NaN (tot i que NaN !== NaN) i tots els altres valors es consideren iguals d'acord amb la semàntica de l'operador ===. En versions anteriors a l'esborrany de l'ECMAScript 6 -0 i +0 es consideraven diferents (tot i que -0 === +0), aquest comportament s'ha canviat en versions posteriors i ha sigut adaptat al {{geckoRelease("29")}} ({{bug("952870")}}) i una versió diària de Chrome.

+ +

Comparació d'objectes amb mapes

+ +

Els {{jsxref("Object", "Objects")}} son similars als Maps en el sentit que tots dos permeten assignar valors a claus, obtenir aquests valors, esborrar claus i detectar si una clau té un valor assignat o no. Degut a això, històricament s'han fet anar Objects com a Maps; tot i això existeixen diferències importants entre Objects i Maps que fan que l'ús de Map sigui millor.

+ +
    +
  • Un Object té un prototipus, això implica que hi haurà algunes claus definides inicialment. Aquest problem es pot adreçar utilitzant map = Object.create(null).
  • +
  • Les claus d'un Object són {{jsxref("String", "Strings")}}, mentre que les claus d'un Map poden ser de qualsevol tipus.
  • +
  • És fàcil obtindre el tamany d'un Map mentre que el tamany d'un Object ha de ser calculat manualment.
  • +
+ +

Utilitzeu mapes en comptes d'objejctes quan les claus no se sàpiguin en temps d'execució, o bé quan totes les claus o els valors siguin del mateix tipus.

+ +

Utilitzeu objectes quan hi hagi una lògica que operi els elements individualment.

+ +

Propietats

+ +
+
Map.length
+
El valor de la propietat length és 1.
+
{{jsxref("Map.prototype")}}
+
Representa el prototipus pel constructor Map. Permet afegir propietats a tots els objectes de tipus Map.
+
+ +

Instàncies de Map

+ +

Totes les instàncies de Map hereten de {{jsxref("Map.prototype")}}.

+ +

Propietats

+ +

{{page('ca/Web/JavaScript/Reference/Global_Objects/Map/prototype','Propietats')}}

+ +

Mètodes

+ +

{{page('ca/Web/JavaScript/Reference/Global_Objects/Map/prototype','Mètodes')}}

+ +

Exemples

+ +

Exemple: Utilitzar l'objecte Map

+ +
var myMap = new Map();
+
+var keyObj = {},
+    keyFunc = function () {},
+    keyString = "a string";
+
+// preparar els valors
+myMap.set(keyString, "valor associat a amb 'un string'");
+myMap.set(keyObj, "valor associat amb keyObj");
+myMap.set(keyFunc, "valor associat amb with keyFunc");
+
+myMap.size; // 3
+
+// obtenir els valors
+myMap.get(keyString);    // "valor associat amb 'un string'"
+myMap.get(keyObj);       // "valor associat amb keyObj"
+myMap.get(keyFunc);      // "valor associat amb keyFunc"
+
+myMap.get("a string");   // "valor associat amb 'un string'"
+                         // com que keyString === 'un string'
+myMap.get({});           // undefined, perquè keyObj !== {}
+myMap.get(function() {}) // undefined, perquè keyFunc !== function () {}
+
+ +

Exemple: Utilitzar NaN com a claus en un Map

+ +

NaN també pot emprar-se com a clau. Tot i que NaN no és igual a si mateix (NaN !== NaN és cert), l'exemple següent funciona perquè els NaNs són indistinguibles entre ells:

+ +
var myMap = new Map();
+myMap.set(NaN, "no un nombre");
+
+myMap.get(NaN); // "no un nombre"
+
+var altreNaN = Number("foo");
+myMap.get(altreNaN); // "no un nombre"
+
+ +

Exemple: Iterar Maps amb for..of

+ +

Els mapes es poden iterar fent servir un bucle for..of :

+ +
var myMap = new Map();
+myMap.set(0, "zero");
+myMap.set(1, "un");
+for (var [key, value] of myMap) {
+  alert(key + " = " + value);
+}
+// Mostrarà 2 alertes; el primer amb "0 = zero" i el segon amb "1 = one"
+
+for (var key of myMap.keys()) {
+  alert(key);
+}
+// Mostrarà 2 alertes; el primer amb "0" i el segon amb "1"
+
+for (var value of myMap.values()) {
+  alert(value);
+}
+// Mostrarà 2 alertes; el primer amb "zero" i el segon amb "un"
+
+for (var [key, value] of myMap.entries()) {
+  alert(key + " = " + value);
+}
+// Mostrarà 2 alertes; el primer amb "0 = zero" i el segon amb "1 = un"
+
+myMap.forEach(function(value, key) {
+  alert(key + " = " + value);
+}, myMap)
+// Mostrarà 2 alertes; el primer amb "0 = zero" i el segon amb "1 = un"
+
+ +

Exemple: Relació amb els objectes Array

+ +
var kvArray = [["clau1", "valor1"], ["clau2", "valor2"]];
+
+// Utilitzeu el constructor de Map normal per a transformar un Array 2D clau-valor en un mapa
+var myMap = new Map(kvArray);
+
+myMap.get("valor1"); // retorna "valor1"
+
+// Utilitzeu l'operador spread per a transformar un mapa en un Array 2D clau-valor.
+alert(uneval([...myMap])); // Mostrarà exactament el mateix Array que kvArray
+
+// O bé utilitzeu l'operador spread a l'iterador de les claus o els valor per a obtenir
+// un array de només les claus o els valors
+alert(uneval([...myMap.keys()])); // Mostrarà ["clau1", "clau2"]
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map-objects', 'Map')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic +

{{ CompatChrome(31) }} [1]
+ {{ CompatChrome(38) }}

+
{{ CompatGeckoDesktop("13") }}11257.1
Argument del constructor: new Map(iterable){{ CompatChrome(38) }}{{ CompatGeckoDesktop("13") }}{{ CompatNo() }}25{{ CompatNo() }}
iterable{{ CompatChrome(38) }}{{ CompatGeckoDesktop("17") }}{{ CompatNo() }}257.1
Map.clear(){{ CompatChrome(31) }} [1]
+ {{ CompatChrome(38) }}
{{CompatGeckoDesktop("19")}}11257.1
Map.keys(), Map.values(), Map.entries(){{ CompatChrome(37) }} [1]
+ {{ CompatChrome(38) }}
{{CompatGeckoDesktop("20")}}{{ CompatNo() }}257.1
Map.forEach(){{ CompatChrome(36) }} [1]
+ {{ CompatChrome(38) }}
{{CompatGeckoDesktop("25")}}11257.1
Igualtat de claus per a -0 i 0{{ CompatChrome(34) }} [1]
+ {{ CompatChrome(38) }}
{{CompatGeckoDesktop("29")}}{{ CompatNo() }}25{{ CompatNo() }}
Argument del constructor: new Map(null){{ CompatVersionUnknown() }}{{CompatGeckoDesktop("37")}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
Monkey-patched set() al Constructor{{ CompatVersionUnknown() }}{{CompatGeckoDesktop("37")}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{ CompatNo() }}{{ CompatChrome(31) }} [1]
+ {{ CompatChrome(38) }}
{{ CompatGeckoMobile("13") }}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Argument del constructor: new Map(iterable){{ CompatNo() }}{{ CompatChrome(38) }}{{ CompatGeckoMobile("13") }}{{ CompatNo() }}{{ CompatNo() }}{{ CompatNo }}
iterable{{ CompatNo() }}{{ CompatNo() }}{{ CompatGeckoMobile("17") }}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Map.clear(){{ CompatNo() }}{{ CompatChrome(31) }} [1]
+ {{ CompatChrome(38) }}
{{CompatGeckoMobile("19")}}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Map.keys(), Map.values(), Map.entries(){{ CompatNo() }}{{ CompatChrome(37) }} [1]
+ {{ CompatChrome(38) }}
{{CompatGeckoMobile("20")}}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Map.forEach(){{ CompatNo() }}{{ CompatChrome(36) }} [1]
+ {{ CompatChrome(38) }}
{{CompatGeckoMobile("25")}}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Igualtat per a -0 i 0{{ CompatNo() }}{{ CompatChrome(34) }} [1]
+ {{ CompatChrome(38) }}
{{CompatGeckoMobile("29")}}{{ CompatNo() }}{{ CompatNo() }}{{ CompatNo() }}
Argument del constructor: new Map(null){{ CompatUnknown() }}{{ CompatVersionUnknown() }}{{CompatGeckoMobile("37")}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
Monkey-patched set() al Constructor{{ CompatUnknown() }}{{ CompatVersionUnknown() }}{{CompatGeckoMobile("37")}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
+
+ +

[1] The feature is available behind a preference. In chrome://flags, activate the entry “Enable Experimental JavaScript”.

+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/global_objects/map/keys/index.html b/files/ca/web/javascript/reference/global_objects/map/keys/index.html new file mode 100644 index 0000000000..47c975a891 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/keys/index.html @@ -0,0 +1,104 @@ +--- +title: Map.prototype.keys() +slug: Web/JavaScript/Referencia/Objectes_globals/Map/keys +translation_of: Web/JavaScript/Reference/Global_Objects/Map/keys +--- +
{{JSRef}}
+ +

El mètode keys() retorna un nou objecte Iterator que conté les claus per cadascún dels elements de l'objecte Map en l'ordre d'insersió.

+ +

Sintaxi

+ +
myMap.keys()
+ +

Exemples

+ +

Utilitzar keys()

+ +
var myMap = new Map();
+myMap.set("0", "foo");
+myMap.set(1, "bar");
+myMap.set({}, "baz");
+
+var mapIter = myMap.keys();
+
+console.log(mapIter.next().value); // "0"
+console.log(mapIter.next().value); // 1
+console.log(mapIter.next().value); // Objecte
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.keys', 'Map.prototype.keys')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("20")}}{{CompatNo}}257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("20") }}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map.prototype.entries()")}}
  • +
  • {{jsxref("Map.prototype.values()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/set/index.html b/files/ca/web/javascript/reference/global_objects/map/set/index.html new file mode 100644 index 0000000000..3b77060831 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/set/index.html @@ -0,0 +1,122 @@ +--- +title: Map.prototype.set() +slug: Web/JavaScript/Referencia/Objectes_globals/Map/set +translation_of: Web/JavaScript/Reference/Global_Objects/Map/set +--- +
{{JSRef}}
+ +

El mètode set() afegeig un nou element amb la clau i el valor especificats a un objecte de tipus Map.

+ +

Sintaxi

+ +
myMap.set(clau, valor);
+ +

Paràmetres

+ +
+
clau
+
Obligatori. La clau de l'element a afegir a l'objecte Map.
+
valor
+
Obligatori. El valor de l'element a afegir a l'objecte Map.
+
+ +

Valor retornat

+ +

L'objecte Map.

+ +

Exemples

+ +

Utilitzar el mètode set

+ +
var myMap = new Map();
+
+// Afegim nous elements al mapa
+myMap.set("bar", "foo");
+myMap.set(1, "foobar");
+
+// Actualitzem un element amb una clau ja existent al mapa
+myMap.set("bar", "fuuu");
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.set', 'Map.prototype.set')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Notes sobre compatibilitat

+ +
    +
  • Abans del Firefox 33 {{geckoRelease("33")}}, Map.prototype.set retornava undefined i en conseqüència no permitia la crida encadenada. Aquest problema va ser solucionat ({{bug(1031632)}}). Aquest comportament també es pot observar al Chrome/v8 (problema).
  • +
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map")}}
  • +
  • {{jsxref("Map.prototype.get()")}}
  • +
  • {{jsxref("Map.prototype.has()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/size/index.html b/files/ca/web/javascript/reference/global_objects/map/size/index.html new file mode 100644 index 0000000000..aa70c7d84b --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/size/index.html @@ -0,0 +1,105 @@ +--- +title: Map.prototype.size +slug: Web/JavaScript/Referencia/Objectes_globals/Map/size +translation_of: Web/JavaScript/Reference/Global_Objects/Map/size +--- +
{{JSRef}}
+ +

La propietat d'accés size retorna el número d'elements en un objecte {{jsxref("Map")}}.

+ +

Descripció

+ +

El valor de size és un nombre sencer que representa quantes entrades té l'objecte Map. Una funció d'accés establerta per size és undefined; aquesta propietat no es pot canviar.

+ +

Exemples

+ +

Utilitzar size

+ +
var myMap = new Map();
+myMap.set("a", "alpha");
+myMap.set("b", "beta");
+myMap.set("g", "gamma");
+
+myMap.size // 3
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-get-map.prototype.size', 'Map.prototype.size')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support38{{ CompatGeckoDesktop("19") }}{{ CompatIE("11") }}257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatNo}}38{{CompatGeckoMobile("19")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Notes específiques de Gecko

+ +
    +
  • A partir de Gecko 13 {{geckoRelease("13")}} fins Gecko 18 {{geckoRelease("18")}} la propietat size era implementada com un mètode Map.prototype.size(), aquesta s'ha canviat a una propietat en versions posteriors conforme l'especificació d'ECMAScript 6 ({{bug("807001")}}).
  • +
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/map/values/index.html b/files/ca/web/javascript/reference/global_objects/map/values/index.html new file mode 100644 index 0000000000..f1b23be7e7 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/map/values/index.html @@ -0,0 +1,103 @@ +--- +title: Map.prototype.values() +slug: Web/JavaScript/Referencia/Objectes_globals/Map/values +translation_of: Web/JavaScript/Reference/Global_Objects/Map/values +--- +
{{JSRef}}
+ +

El mètode values() retorna un nou objecte Iterator que conté els valor per cadascún dels elements de l'objecte Map en l'ordre d'inserció.

+ +

Sintaxi

+ +
myMap.values()
+ +

Exemples

+ +

Utilitzar values()

+ +
var myMap = new Map();
+myMap.set("0", "foo");
+myMap.set(1, "bar");
+myMap.set({}, "baz");
+
+var mapIter = myMap.values();
+
+console.log(mapIter.next().value); // "foo"
+console.log(mapIter.next().value); // "bar"
+console.log(mapIter.next().value); // "baz"
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.values', 'Map.prototype.values')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("20") }}{{CompatNo}}257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{ CompatGeckoMobile("20") }}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Map.prototype.entries()")}}
  • +
  • {{jsxref("Map.prototype.keys()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/abs/index.html b/files/ca/web/javascript/reference/global_objects/math/abs/index.html new file mode 100644 index 0000000000..34d3e5beb9 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/abs/index.html @@ -0,0 +1,129 @@ +--- +title: Math.abs() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/abs +translation_of: Web/JavaScript/Reference/Global_Objects/Math/abs +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La funció Math.abs() retorna el valor absolut d'un nombre. És a dir:

+ +

Math.abs(x)=|x|={xifx>00ifx=0-xifx<0{\mathtt{\operatorname{Math.abs}(x)}} = {|x|} = \begin{cases} x & \text{if} \quad x \geq 0 \\ -x & \text{if} \quad x < 0 \end{cases}

+ +

Sintaxi

+ +
Math.abs(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Degut a que abs() és un mètode estàtic de Math, sempre s'utilitza com a Math.abs(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Comportament de Math.abs()

+ +

Si li passem una string no numèric o bé una variable {{jsxref("undefined")}}/buida retorna {{jsxref("NaN")}}. Passar {{jsxref("null")}} retorna 0.

+ +
Math.abs('-1');     // 1
+Math.abs(-2);       // 2
+Math.abs(null);     // 0
+Math.abs('string'); // NaN
+Math.abs();         // NaN
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.1', 'Math.abs')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.abs', 'Math.abs')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.ceil()")}}
  • +
  • {{jsxref("Math.floor()")}}
  • +
  • {{jsxref("Math.round()")}}
  • +
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/acos/index.html b/files/ca/web/javascript/reference/global_objects/math/acos/index.html new file mode 100644 index 0000000000..fdf781a4e2 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/acos/index.html @@ -0,0 +1,131 @@ +--- +title: Math.acos() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/acos +translation_of: Web/JavaScript/Reference/Global_Objects/Math/acos +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La funció Math.acos() retorna l'arccosinus (mesurat en radians) d'un nombre, és a dir:x[-1;1],Math.acos(x)=arccos(x)= l'únic y[0;π]tal quecos(y)=x\forall x \in [{-1};1],\;\mathtt{\operatorname{Math.acos}(x)} = \arccos(x) = \text{ the unique } \; y \in [0; \pi] \, \text{such that} \; \cos(y) = x

+ +

Sintaxi

+ +
Math.acos(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

El mètode Math.acos() retorna un valor numèric entre 0 i π radians per a x entre -1 i 1. Si el valor de x està fora d'aquest rang, retorna {{jsxref("NaN")}}.

+ +

Degut a que acos() és un mètode estàtic de Math, sempre s'utilitza com a Math.acos(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.acos()

+ +
Math.acos(-2);  // NaN
+Math.acos(-1);  // 3.141592653589793
+Math.acos(0);   // 1.5707963267948966
+Math.acos(0.5); // 1.0471975511965979
+Math.acos(1);   // 0
+Math.acos(2);   // NaN
+
+ +

Per a valors menors que -1 o majors que 1, Math.acos() retorna {{jsxref("NaN")}}.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.2', 'Math.acos')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.acos', 'Math.acos')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.asin()")}}
  • +
  • {{jsxref("Math.atan()")}}
  • +
  • {{jsxref("Math.atan2()")}}
  • +
  • {{jsxref("Math.cos()")}}
  • +
  • {{jsxref("Math.sin()")}}
  • +
  • {{jsxref("Math.tan()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/acosh/index.html b/files/ca/web/javascript/reference/global_objects/math/acosh/index.html new file mode 100644 index 0000000000..edfe1dd8c0 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/acosh/index.html @@ -0,0 +1,126 @@ +--- +title: Math.acosh() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/acosh +translation_of: Web/JavaScript/Reference/Global_Objects/Math/acosh +--- +
{{JSRef}}
+ +

La funció Math.acosh() retorna l'accosinus hiperbòlic d'un nombre, és a dir

+ +

x1,Math.acosh(x)=arcosh(x)= l'única y0tal quecosh(y)=x\forall x \geq 1, \mathtt{\operatorname{Math.acosh}(x)} = \operatorname{arcosh}(x) = \text{ the unique } \; y \geq 0 \; \text{such that} \; \cosh(y) = x

+ +

Sintaxi

+ +
Math.acosh(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Com que que acosh() és un mètode estàtic de Math, sempre s'utilitza com a Math.acosh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.acosh()

+ +
Math.acosh(-1); // NaN
+Math.acosh(0);  // NaN
+Math.acosh(0.5) // NaN
+Math.acosh(1);  // 0
+Math.acosh(2);  // 1.3169578969248166
+
+ +

Math.acosh() retorna {{jsxref("NaN")}} per a valors menors que 1.

+ +

Polyfill

+ +

Per a tot x1x \geq 1, tenim que arcosh(x)=ln(x+x2-1)\operatorname {arcosh} (x) = \ln \left(x + \sqrt{x^{2} - 1} \right) i, per tant, es pot emular mitjançant la funció següent:

+ +
Math.acosh = Math.acosh || function(x) {
+  return Math.log(x + Math.sqrt(x * x - 1));
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacionsEstatComentaris
{{SpecName('ES6', '#sec-math.acosh', 'Math.acosh')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/asin/index.html b/files/ca/web/javascript/reference/global_objects/math/asin/index.html new file mode 100644 index 0000000000..81288af5b6 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/asin/index.html @@ -0,0 +1,133 @@ +--- +title: Math.asin() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/asin +translation_of: Web/JavaScript/Reference/Global_Objects/Math/asin +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La funció Math.asin() retorna l'arcsinus (en radians) d'un nombre, és a dir:

+ +

x[-1;1],Math.asin(x)=arcsin(x)= l'únic y[-π2;π2]tal que  sin(y)=x\forall x \in [{-1};1],\;\mathtt{\operatorname{Math.asin}(x)} = \arcsin(x) = \text{ the unique } \; y \in \left[-\frac{\pi}{2}; \frac{\pi}{2}\right] \, \text{such that} \; \sin(y) = x

+ +

Sintaxi

+ +
Math.asin(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

El mètode Math.asin() retorna un valor numèric entre -π2-\frac{\pi}{2} i π2\frac{\pi}{2} radians per a x entre -1 i 1. Si el valor de x està fora d'aquest rang la funció retorna {{jsxref("NaN")}}.

+ +

Degut a que asin() és un mètode estàtic de Math, sempre s'utilitza com a Math.asin(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Ús de Math.asin()

+ +
Math.asin(-2);  // NaN
+Math.asin(-1);  // -1.5707963267948966 (-pi/2)
+Math.asin(0);   // 0
+Math.asin(0.5); // 0.5235987755982989
+Math.asin(1);   // 1.570796326794897 (pi/2)
+Math.asin(2);   // NaN
+
+ +

Per a valors menors que -1 o majors que 1, Math.asin() retorna {{jsxref("NaN")}}.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.3', 'Math.asin')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.asin', 'Math.asin')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acos()")}}
  • +
  • {{jsxref("Math.atan()")}}
  • +
  • {{jsxref("Math.atan2()")}}
  • +
  • {{jsxref("Math.cos()")}}
  • +
  • {{jsxref("Math.sin()")}}
  • +
  • {{jsxref("Math.tan()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/asinh/index.html b/files/ca/web/javascript/reference/global_objects/math/asinh/index.html new file mode 100644 index 0000000000..9a249bb202 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/asinh/index.html @@ -0,0 +1,125 @@ +--- +title: Math.asinh() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/asinh +translation_of: Web/JavaScript/Reference/Global_Objects/Math/asinh +--- +
{{JSRef}}
+ +

La funció Math.asinh() retorna l'arcsinus hiperbòlic d'un nombre, és a dir

+ +

Math.asinh(x)=arsinh(x)= l'única ytal quesinh(y)=x\mathtt{\operatorname{Math.asinh}(x)} = \operatorname{arsinh}(x) = \text{ the unique } \; y \; \text{such that} \; \sinh(y) = x

+ +

Sintaxi

+ +
Math.asinh(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Com que que asinh() és un mètode estàtic de Math, sempre s'utilitza com a Math.asinh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.asinh()

+ +
Math.asinh(1);  // 0.881373587019543
+Math.asinh(0);  // 0
+
+ +

Polyfill

+ +

Tenim que arsinh(x)=ln(x+x2+1)\operatorname {arsinh} (x) = \ln \left(x + \sqrt{x^{2} + 1} \right) amb el que podem emular el comportament amb la funció següent:

+ +
Math.asinh = Math.asinh || function(x) {
+  if (x === -Infinity) {
+    return x;
+  } else {
+    return Math.log(x + Math.sqrt(x * x + 1));
+  }
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.asinh', 'Math.asinh')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/atan/index.html b/files/ca/web/javascript/reference/global_objects/math/atan/index.html new file mode 100644 index 0000000000..034578fd54 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/atan/index.html @@ -0,0 +1,127 @@ +--- +title: Math.atan() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/atan +translation_of: Web/JavaScript/Reference/Global_Objects/Math/atan +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La funció Math.atan() retorna l'arctangent (en radians) d'un nombre, és a dir:

+ +

Math.atan(x)=arctan(x)= l'unic y[-π2;π2]tal quetan(y)=x\mathtt{\operatorname{Math.atan}(x)} = \arctan(x) = \text{ the unique } \; y \in \left[-\frac{\pi}{2}; \frac{\pi}{2}\right] \, \text{such that} \; \tan(y) = x

+ +

Sintaxi

+ +
Math.atan(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

El mètode Math.atan() retorna un valor numèric entre -π2-\frac{\pi}{2} i π2\frac{\pi}{2} radians.

+ +

Degut a que atan() és un mètode estàtic de Math, sempre s'utilitza com a Math.atan(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.atan()

+ +
Math.atan(1);  // 0.7853981633974483
+Math.atan(0);  // 0
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.4', 'Math.atan')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.atan', 'Math.atan')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acos()")}}
  • +
  • {{jsxref("Math.asin()")}}
  • +
  • {{jsxref("Math.atan2()")}}
  • +
  • {{jsxref("Math.cos()")}}
  • +
  • {{jsxref("Math.sin()")}}
  • +
  • {{jsxref("Math.tan()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/atan2/index.html b/files/ca/web/javascript/reference/global_objects/math/atan2/index.html new file mode 100644 index 0000000000..2816bb40b8 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/atan2/index.html @@ -0,0 +1,139 @@ +--- +title: Math.atan2() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/atan2 +translation_of: Web/JavaScript/Reference/Global_Objects/Math/atan2 +--- +
{{JSRef}}
+ +

La funció Math.atan2() retorna l'arctangent del quocient dels arguments passats.

+ +

Sintaxi

+ +
Math.atan2(y, x)
+ +

Paràmetres

+ +
+
y
+
Primer nombre.
+
x
+
Segon nombre.
+
+ +

Descripció

+ +

El mètode Math.atan2() retorn aun valor numèric entre -π i π que representa l'angle theta d'un punt (x, y). Aquest angle es representa en radiants, en sentit contrari a les agulles del rellotge, entre l'eix positiu X i el punt (x, y). Cal destacar que els arguments d'aquesta funció representen les coordenades del punt, on el primer argument representa la coordenada y i el segon argument representa la coordenada x.

+ +

Math.atan2() rep els arguments x i y de forma separada mentre que Math.atan() rep la relació (ratio) entre aquests dos arguments.

+ +

Com que que atan2() és un mètode estàtic de Math, sempre s'utilitza com a Math.atan2(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.atan2()

+ +
Math.atan2(90, 15); // 1.4056476493802699
+Math.atan2(15, 90); // 0.16514867741462683
+
+Math.atan2(±0, -0);               // ±PI.
+Math.atan2(±0, +0);               // ±0.
+Math.atan2(±0, -x);               // ±PI for x > 0.
+Math.atan2(±0, x);                // ±0 for x > 0.
+Math.atan2(-y, ±0);               // -PI/2 for y > 0.
+Math.atan2(y, ±0);                // PI/2 for y > 0.
+Math.atan2(±y, -Infinity);        // ±PI for finite y > 0.
+Math.atan2(±y, +Infinity);        // ±0 for finite y > 0.
+Math.atan2(±Infinity, x);         // ±PI/2 for finite x.
+Math.atan2(±Infinity, -Infinity); // ±3*PI/4.
+Math.atan2(±Infinity, +Infinity); // ±PI/4.
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.5', 'Math.atan2')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.atan2', 'Math.atan2')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acos()")}}
  • +
  • {{jsxref("Math.asin()")}}
  • +
  • {{jsxref("Math.atan()")}}
  • +
  • {{jsxref("Math.cos()")}}
  • +
  • {{jsxref("Math.sin()")}}
  • +
  • {{jsxref("Math.tan()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/atanh/index.html b/files/ca/web/javascript/reference/global_objects/math/atanh/index.html new file mode 100644 index 0000000000..8a6b7cc2c8 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/atanh/index.html @@ -0,0 +1,127 @@ +--- +title: Math.atanh() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/atanh +translation_of: Web/JavaScript/Reference/Global_Objects/Math/atanh +--- +
{{JSRef}}
+ +

La funció Math.atanh() retorna l'arctangent hiperbòlica d'un nombre, és a dir

+ +

x(-1,1),Math.atanh(x)=arctanh(x)= l'única ytal quetanh(y)=x\forall x \in \left( -1, 1 \right), \mathtt{\operatorname{Math.atanh}(x)} = \operatorname{arctanh}(x) = \text{ the unique } \; y \; \text{such that} \; \tanh(y) = x

+ +

Sintaxi

+ +
Math.atanh(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Com que que atanh() és un mètode estàtic de Math, sempre s'utilitza com a Math.atanh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.atanh()

+ +
Math.atanh(-2);  // NaN
+Math.atanh(-1);  // -Infinity
+Math.atanh(0);   // 0
+Math.atanh(0.5); // 0.5493061443340548
+Math.atanh(1);   // Infinity
+Math.atanh(2);   // NaN
+
+ +

Es retorna {{jsxref("NaN")}} per a valors més grans que 1 o més petits que -1.

+ +

Polyfill

+ +

Per a |x|<1\left|x\right| < 1, tenim que artanh(x)=12ln(1+x1-x)\operatorname {artanh} (x) = \frac{1}{2}\ln \left( \frac{1 + x}{1 - x} \right) , que podem emular amb la funció següent:

+ +
Math.atanh = Math.atanh || function(x) {
+  return Math.log((1+x)/(1-x)) / 2;
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.atanh', 'Math.atanh')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/cbrt/index.html b/files/ca/web/javascript/reference/global_objects/math/cbrt/index.html new file mode 100644 index 0000000000..70d6767183 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/cbrt/index.html @@ -0,0 +1,122 @@ +--- +title: Math.cbrt() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/cbrt +translation_of: Web/JavaScript/Reference/Global_Objects/Math/cbrt +--- +
{{JSRef}}
+ +

La funció Math.cbrt() retorna la rel cúbica d'un nombre, és a dir

+ +

Math.cbrt(x)=x3=la únicaytal quey3=x\mathtt{Math.cbrt(x)} = \sqrt[3]{x} = \text{the unique} \; y \; \text{such that} \; y^3 = x

+ +

Sintaxi

+ +
Math.cbrt(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Degut a que cbrt() és un mètode estàtic de Math, sempre s'utilitza com a Math.cbrt(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.cbrt()

+ +
Math.cbrt(-1); // -1
+Math.cbrt(0);  // 0
+Math.cbrt(1);  // 1
+
+Math.cbrt(2);  // 1.2599210498948734
+
+ +

Polyfill

+ +

Per a tot x0x \geq 0, tenim que x3=x1/3\sqrt[3]{x} = x^{1/3} , podem llavors emular aquest comportament amb la funció següent:

+ +
Math.cbrt = Math.cbrt || function(x) {
+  var y = Math.pow(Math.abs(x), 1/3);
+  return x < 0 ? -y : y;
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.cbrt', 'Math.cbrt')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.pow()")}}
  • +
  • {{jsxref("Math.sqrt()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/ceil/index.html b/files/ca/web/javascript/reference/global_objects/math/ceil/index.html new file mode 100644 index 0000000000..a96880eecd --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/ceil/index.html @@ -0,0 +1,197 @@ +--- +title: Math.ceil() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/ceil +translation_of: Web/JavaScript/Reference/Global_Objects/Math/ceil +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La funció Math.ceil() retorna el més petit dels nombres sencers més grans o iguals a un nombre donat.

+ +

Sintaxi

+ +
Math.ceil(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Degut a que ceil() és un mètode estàtic de Math, sempre s'utilitza com a Math.ceil(), ren comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Ús de Math.ceil()

+ +

L'exemple següent mostra l'ús de Math.ceil().

+ +
Math.ceil(.95);   // 1
+Math.ceil(4);     // 4
+Math.ceil(7.004); // 8
+
+ +

Exemple: Ajust decimal

+ +
// Closure
+(function() {
+  /**
+   * Decimal adjustment of a number.
+   *
+   * @param {String}  type  The type of adjustment.
+   * @param {Number}  value The number.
+   * @param {Integer} exp   The exponent (the 10 logarithm of the adjustment base).
+   * @returns {Number} The adjusted value.
+   */
+  function decimalAdjust(type, value, exp) {
+    // If the exp is undefined or zero...
+    if (typeof exp === 'undefined' || +exp === 0) {
+      return Math[type](value);
+    }
+    value = +value;
+    exp = +exp;
+    // If the value is not a number or the exp is not an integer...
+    if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
+      return NaN;
+    }
+    // Shift
+    value = value.toString().split('e');
+    value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
+    // Shift back
+    value = value.toString().split('e');
+    return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
+  }
+
+  // Decimal round
+  if (!Math.round10) {
+    Math.round10 = function(value, exp) {
+      return decimalAdjust('round', value, exp);
+    };
+  }
+  // Decimal floor
+  if (!Math.floor10) {
+    Math.floor10 = function(value, exp) {
+      return decimalAdjust('floor', value, exp);
+    };
+  }
+  // Decimal ceil
+  if (!Math.ceil10) {
+    Math.ceil10 = function(value, exp) {
+      return decimalAdjust('ceil', value, exp);
+    };
+  }
+})();
+
+// Round
+Math.round10(55.55, -1);   // 55.6
+Math.round10(55.549, -1);  // 55.5
+Math.round10(55, 1);       // 60
+Math.round10(54.9, 1);     // 50
+Math.round10(-55.55, -1);  // -55.5
+Math.round10(-55.551, -1); // -55.6
+Math.round10(-55, 1);      // -50
+Math.round10(-55.1, 1);    // -60
+// Floor
+Math.floor10(55.59, -1);   // 55.5
+Math.floor10(59, 1);       // 50
+Math.floor10(-55.51, -1);  // -55.6
+Math.floor10(-51, 1);      // -60
+// Ceil
+Math.ceil10(55.51, -1);    // 55.6
+Math.ceil10(51, 1);        // 60
+Math.ceil10(-55.59, -1);   // -55.5
+Math.ceil10(-59, 1);       // -50
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.6', 'Math.ceil')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.ceil', 'Math.ceil')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.abs()")}}
  • +
  • {{jsxref("Math.floor()")}}
  • +
  • {{jsxref("Math.round()")}}
  • +
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/clz32/index.html b/files/ca/web/javascript/reference/global_objects/math/clz32/index.html new file mode 100644 index 0000000000..5cde08c7a8 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/clz32/index.html @@ -0,0 +1,155 @@ +--- +title: Math.clz32() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/clz32 +translation_of: Web/JavaScript/Reference/Global_Objects/Math/clz32 +--- +
{{JSRef}}
+ +

La funció Math.clz32() retorna el nombre de zeros a l'esquerra que apareixen en una representació binària de 32 bits per a un nombre.

+ +

Sintaxi

+ +
Math.clz32(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

"clz32" és una abreviació de CountLeadingZeroes32.

+ +

Si x no és un nombre, primer es convertirà a un nombre, i després es convertirà a un nombre sencer de 32 bits sense signe.

+ +

Si el nombre sencer sense signe de 32 bits és 0, la funció retornarà 32 ja que tots els bits són 0.

+ +

Aquesta funció és particulament útil per a sistemes que compilin en JavaScript, com ara Emscripten.

+ +

Exemples

+ +

Utilitzar Math.clz32()

+ +
Math.clz32(1);                // 31
+Math.clz32(1000);             // 22
+Math.clz32();                 // 32
+
+[NaN, Infinity, -Infinity, 0, -0, null, undefined, 'foo', {}, []].filter(
+function(n) {
+  return Math.clz32(n) !== 32
+});                           // []
+
+Math.clz32(true);             // 31
+Math.clz32(3.5);              // 30
+
+ +

Polyfill

+ +

Aquesta funció polyfill utilitza {{jsxref("Math.imul")}}.

+ +
Math.clz32 = Math.clz32 || (function () {
+  'use strict';
+
+  var table = [
+    32, 31,  0, 16,  0, 30,  3,  0, 15,  0,  0,  0, 29, 10,  2,  0,
+     0,  0, 12, 14, 21,  0, 19,  0,  0, 28,  0, 25,  0,  9,  1,  0,
+    17,  0,  4,   ,  0,  0, 11,  0, 13, 22, 20,  0, 26,  0,  0, 18,
+     5,  0,  0, 23,  0, 27,  0,  6,  0, 24,  7,  0,  8,  0,  0,  0]
+
+  // Adaptat d'un algorisme trobat a Hacker's Delight, pàgina 103.
+  return function (x) {
+    // Tingueu en compte que les variables no tenen perquè ser les mateixes.
+
+    // 1. On n = ToUint32(x).
+    var v = Number(x) >>> 0
+
+    // 2. On p és el nombre de zeros a l'esquerra en la representació binària de 32 bits de n.
+    v |= v >>> 1
+    v |= v >>> 2
+    v |= v >>> 4
+    v |= v >>> 8
+    v |= v >>> 16
+    v = table[Math.imul(v, 0x06EB14F9) >>> 26]
+
+    // Retorna p.
+    return v
+  }
+})();
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.clz32', 'Math.clz32')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("31")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("31")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/cos/index.html b/files/ca/web/javascript/reference/global_objects/math/cos/index.html new file mode 100644 index 0000000000..0236b38c9c --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/cos/index.html @@ -0,0 +1,128 @@ +--- +title: Math.cos() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/cos +translation_of: Web/JavaScript/Reference/Global_Objects/Math/cos +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La funció Math.cos() retorna el cosinus d'un nombre.

+ +

Sintaxi

+ +
Math.cos(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre, mesurat en radians.
+
+ +

Descripció

+ +

El mètode Math.cos() retorna un valor numèric entre -1 i 1, que representa el cosinus d'un angle.

+ +

Degut a que cos() és un mètode estàtic de Math, sempre s'utilitza com a Math.cos(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.cos()

+ +
Math.cos(0);           // 1
+Math.cos(1);           // 0.5403023058681398
+
+Math.cos(Math.PI);     // -1
+Math.cos(2 * Math.PI); // 1
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.7', 'Math.cos')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.cos', 'Math.cos')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acos()")}}
  • +
  • {{jsxref("Math.asin()")}}
  • +
  • {{jsxref("Math.atan()")}}
  • +
  • {{jsxref("Math.atan2()")}}
  • +
  • {{jsxref("Math.sin()")}}
  • +
  • {{jsxref("Math.tan()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/cosh/index.html b/files/ca/web/javascript/reference/global_objects/math/cosh/index.html new file mode 100644 index 0000000000..00ebc259b9 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/cosh/index.html @@ -0,0 +1,130 @@ +--- +title: Math.cosh() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/cosh +translation_of: Web/JavaScript/Reference/Global_Objects/Math/cosh +--- +
{{JSRef}}
+ +

La funció Math.cosh() retorna el cosinus hiperbòlic d'un nombre, això es pot expressar utilitzant la {{jsxref("Math.E", "constant e", "", 1)}}:

+ +

Math.cosh(x)=ex+e-x2\mathtt{\operatorname{Math.cosh(x)}} = \frac{e^x + e^{-x}}{2}

+ +

Sintaxi

+ +
Math.cosh(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Com que que cosh() és un mètode estàtic de Math, sempre s'utilitza com a Math.cosh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.cosh()

+ +
Math.cosh(0);  // 1
+Math.cosh(1);  // 1.5430806348152437
+Math.cosh(-1); // 1.5430806348152437
+
+ +

Polyfill

+ +

Aquesta funció es pot emular amb l'ajuda de la funció {{jsxref("Math.exp()")}}:

+ +
Math.cosh = Math.cosh || function(x) {
+  return (Math.exp(x) + Math.exp(-x)) / 2;
+}
+
+ +

o bé utilitzant només una crida a la funció {{jsxref("Math.exp()")}}:

+ +
Math.cosh = Math.cosh || function(x) {
+  var y = Math.exp(x);
+  return (y + 1 / y) / 2;
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.cosh', 'Math.cosh')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/e/index.html b/files/ca/web/javascript/reference/global_objects/math/e/index.html new file mode 100644 index 0000000000..efe7476396 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/e/index.html @@ -0,0 +1,118 @@ +--- +title: Math.E +slug: Web/JavaScript/Referencia/Objectes_globals/Math/E +translation_of: Web/JavaScript/Reference/Global_Objects/Math/E +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La propietat Math.E representa la base dels logaritmes naturals, e, el seu valor aproximat és de 2.718.

+ +

Math.E=e2.718\mathtt{\mi{Math.E}} = e \approx 2.718

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Com que E és una propietat estàtica de Math, sempre s'utilitza com Math.E en comptes de com una propietat d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.E

+ +

La funció que trobareu a continuació retorna e:

+ +
function getNapier() {
+  return Math.E;
+}
+
+getNapier(); // 2.718281828459045
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat en JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.1', 'Math.E')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.e', 'Math.E')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/exp/index.html b/files/ca/web/javascript/reference/global_objects/math/exp/index.html new file mode 100644 index 0000000000..c6d6c6c098 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/exp/index.html @@ -0,0 +1,123 @@ +--- +title: Math.exp() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/exp +translation_of: Web/JavaScript/Reference/Global_Objects/Math/exp +--- +
{{JSRef}}
+ +

La funció Math.exp() retorna ex, on x és l'argument, i e és {{jsxref("Math.E", "la constant d'Euler", "", 1)}}, la base dels logaritmes naturals.

+ +

Sintaxi

+ +
Math.exp(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Deguat a que exp() és un mètode estàtic de Math, aquest pot emprar-se com a Math.exp(), en comptes de cridar-lo com un mètode d'un objecte de tipus Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.exp()

+ +
Math.exp(-1); // 0.36787944117144233
+Math.exp(0);  // 1
+Math.exp(1);  // 2.718281828459045
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.8', 'Math.exp')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.exp', 'Math.exp')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.E")}}
  • +
  • {{jsxref("Math.expm1()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.pow()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/expm1/index.html b/files/ca/web/javascript/reference/global_objects/math/expm1/index.html new file mode 100644 index 0000000000..b8055fba45 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/expm1/index.html @@ -0,0 +1,122 @@ +--- +title: Math.expm1() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/expm1 +translation_of: Web/JavaScript/Reference/Global_Objects/Math/expm1 +--- +
{{JSRef}}
+ +

La funció Math.expm1() retorna ex - 1, on x és l'argument i {{jsxref("Math.E", "e", "", 1)}} és la base dels logaritmes naturals.

+ +

Sintaxi

+ +
Math.expm1(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Com que expm1() és un mètode estàtic de Math, sempre s'utilitza com Math.expm1() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.expm1()

+ +
Math.expm1(-1); // -0.6321205588285577
+Math.expm1(0);  // 0
+Math.expm1(1);  // 1.718281828459045
+
+ +

Polyfill

+ +

Aquesta funció pot ser emulada amb l'ajuda de la funció {{jsxref("Math.exp()")}}:

+ +
Math.expm1 = Math.expm1 || function(x) {
+  return Math.exp(x) - 1;
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.expm1', 'Math.expm1')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.E")}}
  • +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.pow()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/floor/index.html b/files/ca/web/javascript/reference/global_objects/math/floor/index.html new file mode 100644 index 0000000000..4a83b8d0e8 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/floor/index.html @@ -0,0 +1,194 @@ +--- +title: Math.floor() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/floor +translation_of: Web/JavaScript/Reference/Global_Objects/Math/floor +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La funció Math.floor() retorna el nombre més gran dels nombres més petits o iguals a un nombre donat.

+ +

Sintaxi

+ +
Math.floor(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Degut a que floor() és un mètode estàtic de Math, sempre s'utilitza com a Math.floor(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.floor()

+ +
Math.floor( 45.95); //  45
+Math.floor(-45.95); // -46
+
+ +

Exemple: Ajust decimal

+ +
// Closure
+(function() {
+  /**
+   * Ajust decimal d'un nombre.
+   *
+   * @param {String}  type  El tipus d'ajust.
+   * @param {Number}  value El nombre.
+   * @param {Integer} exp   L'exponent (L'algoritme en base 10  de la base d'ajust
+   * @returns {Number} El valor ajustat.
+   */
+  function decimalAdjust(type, value, exp) {
+    // Si exp és undefined o zero...
+    if (typeof exp === 'undefined' || +exp === 0) {
+      return Math[type](value);
+    }
+    value = +value;
+    exp = +exp;
+    // Si value no és un nombre o exp no és un nombre sencer...
+    if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
+      return NaN;
+    }
+    // Desplaçament
+    value = value.toString().split('e');
+    value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
+    // Desfer el desplaçament
+    value = value.toString().split('e');
+    return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
+  }
+
+  // Arrodoniment decimal
+  if (!Math.round10) {
+    Math.round10 = function(value, exp) {
+      return decimalAdjust('round', value, exp);
+    };
+  }
+  // Arrodoniment decimal a la baixa
+  if (!Math.floor10) {
+    Math.floor10 = function(value, exp) {
+      return decimalAdjust('floor', value, exp);
+    };
+  }
+  // Arrodoniment decimal a l'alça
+  if (!Math.ceil10) {
+    Math.ceil10 = function(value, exp) {
+      return decimalAdjust('ceil', value, exp);
+    };
+  }
+})();
+
+// Arrodoniments
+Math.round10(55.55, -1);   // 55.6
+Math.round10(55.549, -1);  // 55.5
+Math.round10(55, 1);       // 60
+Math.round10(54.9, 1);     // 50
+Math.round10(-55.55, -1);  // -55.5
+Math.round10(-55.551, -1); // -55.6
+Math.round10(-55, 1);      // -50
+Math.round10(-55.1, 1);    // -60
+// Arrodoniments a la baixa
+Math.floor10(55.59, -1);   // 55.5
+Math.floor10(59, 1);       // 50
+Math.floor10(-55.51, -1);  // -55.6
+Math.floor10(-51, 1);      // -60
+// Arrodoniments a l'alça
+Math.ceil10(55.51, -1);    // 55.6
+Math.ceil10(51, 1);        // 60
+Math.ceil10(-55.59, -1);   // -55.5
+Math.ceil10(-59, 1);       // -50
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a EdicióStandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.9', 'Math.floor')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.floor', 'Math.floor')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.abs()")}}
  • +
  • {{jsxref("Math.ceil()")}}
  • +
  • {{jsxref("Math.round()")}}
  • +
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/fround/index.html b/files/ca/web/javascript/reference/global_objects/math/fround/index.html new file mode 100644 index 0000000000..7411993dbc --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/fround/index.html @@ -0,0 +1,118 @@ +--- +title: Math.fround() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/fround +translation_of: Web/JavaScript/Reference/Global_Objects/Math/fround +--- +
{{JSRef}}
+ +

La funció Math.fround() retorna la representació en coma flotant de precisió simple més propera d'un nombre.

+ +

Sintaxi

+ +
Math.fround(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Com que fround() és un mètode estàtic de Math, sempre s'utilitza com Math.fround() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.fround()

+ +
Math.fround(0);     // 0
+Math.fround(1);     // 1
+Math.fround(1.337); // 1.3370000123977661
+Math.fround(1.5);   // 1.5
+Math.fround(NaN);   // NaN
+
+ +

Polyfill

+ +

El comportament d'aquesta funció pot ser emulat amb la funció següent, si {{jsxref("Float32Array")}} està suportat:

+ +
Math.fround = Math.fround || function(x) {
+  return new Float32Array([x])[0];
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.fround', 'Math.fround')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("26")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.round()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/hypot/index.html b/files/ca/web/javascript/reference/global_objects/math/hypot/index.html new file mode 100644 index 0000000000..e29bb754f1 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/hypot/index.html @@ -0,0 +1,139 @@ +--- +title: Math.hypot() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/hypot +translation_of: Web/JavaScript/Reference/Global_Objects/Math/hypot +--- +
{{JSRef}}
+ +

La funció Math.hypot() retorna la rel quadrada de la suma dels quadrats dels seus arguments, és a dir:

+ +

Math.hypot(v1,v2,,vn)=i=1nvi2=v12+v22++vn2\mathtt{\operatorname{Math.hypot}(v_1, v_2, \dots, v_n)} = \sqrt{\sum_{i=1}^n v_i^2} = \sqrt{v_1^2 + v_2^2 + \dots + v_n^2}

+ +

Sintaxi

+ +
Math.hypot([valor1[, valor2[, ...]]])
+ +

Paràmetres

+ +
+
valor1, valor2, ...
+
Nombres.
+
+ +

Descripció

+ +

Com que que hypot() és un mètode estàtic de Math, sempre s'utilitza com a Math.hypot(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Si no es passa cap argument, el resultat és +0.

+ +

Si al menys un dels arguments no pot ser convertit a nombre el resultat és {{jsxref("Global_Objects/NaN", "NaN")}}.

+ +

Quan se li passa només un argument, Math.hypot() retorna el mateix valor que retornaria Math.abs().

+ +

Exemples

+ +

Utilitzar Math.hypot()

+ +
Math.hypot(3, 4);        // 5
+Math.hypot(3, 4, 5);     // 7.0710678118654755
+Math.hypot();            // 0
+Math.hypot(NaN);         // NaN
+Math.hypot(3, 4, 'foo'); // NaN, +'foo' => NaN
+Math.hypot(3, 4, '5');   // 7.0710678118654755, +'5' => 5
+Math.hypot(-3);          // 3, el mateix que Math.abs(-3)
+
+ +

Polyfill

+ +

Aquest mètode pot emular-se mitjançant la funció següent:

+ +
Math.hypot = Math.hypot || function() {
+  var y = 0;
+  var length = arguments.length;
+
+  for (var i = 0; i < length; i++) {
+    if (arguments[i] === Infinity || arguments[i] === -Infinity) {
+      return Infinity;
+    }
+    y += arguments[i] * arguments[i];
+  }
+  return Math.sqrt(y);
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.hypot', 'Math.hypot')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("27")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("27")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.abs()")}}
  • +
  • {{jsxref("Math.pow()")}}
  • +
  • {{jsxref("Math.sqrt()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/imul/index.html b/files/ca/web/javascript/reference/global_objects/math/imul/index.html new file mode 100644 index 0000000000..53050a9cd6 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/imul/index.html @@ -0,0 +1,120 @@ +--- +title: Math.imul() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/imul +translation_of: Web/JavaScript/Reference/Global_Objects/Math/imul +--- +
{{JSRef}}
+ +

La funció Math.imul() retorna el resultat de la multiplicació de 32 bits similar a la de C dels dos paràmetres.

+ +

Sintaxi

+ +
Math.imul(a, b)
+ +

Paràmetres

+ +
+
a
+
Primer nombre.
+
b
+
Segon nombre.
+
+ +

Descripció

+ +

Math.imul() permet una multiplicació ràpida de nombres sencers de 32 bits amb una semàtica similar a la de C. Aquesta característica esdevé útil per a projectes com Emscripten. Com que imul() és un mètode estàtic de Math, sempre s'utilitza com Math.imul() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.imul()

+ +
Math.imul(2, 4);          // 8
+Math.imul(-1, 8);         // -8
+Math.imul(-2, -2);        // 4
+Math.imul(0xffffffff, 5); // -5
+Math.imul(0xfffffffe, 5); // -10
+
+ +

Polyfill

+ +

Aquesta funció pot ser emulada mitjançant la següent funció:

+ +
Math.imul = Math.imul || function(a, b) {
+  var ah = (a >>> 16) & 0xffff;
+  var al = a & 0xffff;
+  var bh = (b >>> 16) & 0xffff;
+  var bl = b & 0xffff;
+  // el desplaçament de zero posicions solventa el signe a la part més significativa
+  // el |0 del final converteix el valor sense signe en un valor amb signe
+  return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.imul', 'Math.imul')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("28")}}{{CompatGeckoDesktop("20")}}{{CompatUnknown}}{{CompatOpera("16")}}{{CompatSafari("7")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("20")}}{{CompatUnknown}}{{CompatUnknown}}7
+
diff --git a/files/ca/web/javascript/reference/global_objects/math/index.html b/files/ca/web/javascript/reference/global_objects/math/index.html new file mode 100644 index 0000000000..d493f51b40 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/index.html @@ -0,0 +1,205 @@ +--- +title: Math +slug: Web/JavaScript/Referencia/Objectes_globals/Math +translation_of: Web/JavaScript/Reference/Global_Objects/Math +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

Math és un objecte proporcionat pel llenguatge que té propietats i mètodes que pretenen ajudar en càlculs matemàtics. L'objecte conté constants i funcions matemàtiques.

+ +

Descripció

+ +

A diferència d'altres objectes globals, Math no és un constructor. Totes les propietats i mètodes de Math són estàtics. Per a utilitzar la constant pi es fa anar Math.PI i la funció sinus es crida Math.sin(x), on x és l'argument que rebrà el mètode. Les constants tenen la presició d'un nombre real de JavaScript.

+ +

Propietats

+ +
+
{{jsxref("Math.E")}}
+
La constant de Euler (també coneguda com a nombre E) i la base dels logaritmes naturals, el seu valor aproximat és de 2.718.
+
{{jsxref("Math.LN2")}}
+
El logaritme natural de 2, el seu valor aproximat és de 0.693.
+
{{jsxref("Math.LN10")}}
+
El logaritme natural de 10, el seu valor aproximat és de 2.303.
+
{{jsxref("Math.LOG2E")}}
+
El logaritme de E en base 2, el seu valor aproximat és de 1.443.
+
{{jsxref("Math.LOG10E")}}
+
El logaritme de E en base 10, el seu valor aproximat és de 0.434.
+
{{jsxref("Math.PI")}}
+
La proporció entre la circumferència d'un cercle i el seu diàmetre, el seu valor aproximat és de 3.14159.
+
{{jsxref("Math.SQRT1_2")}}
+
La rel quadrada de un mig (1/2); tanmateix 1 dividit per la rel quadrada de 2, el seu valor aproximat és de 0.707.
+
{{jsxref("Math.SQRT2")}}
+
La rel quadrada de 2, el seu valor aproximat és de 1.414.
+
+ +

Mètodes

+ +
+

Fixeu-vos que les funcions (sin(), cos(), tan(), asin(), acos(), atan(), atan2()) reben i retornen angles en radians. Per a convertir radians a graus cal dividir per (Math.PI / 180), o bé multiplicar si el que es pretèn es transformar graus a radians.

+
+ +
+

Cal destacar que la precisió de moltes de les funcions matemàtiques és depenent de la implementació. Això vol dir que el mateix codi pot donar resultats diferent en diferents navegadors, i fins i tot sota el mateix navegador o motor JS si es prova en diferents sistemes operatius or arquitectures.

+
+ +
+
{{jsxref("Global_Objects/Math/abs", "Math.abs(x)")}}
+
Retorna el valor absolut d'un nombre.
+
{{jsxref("Global_Objects/Math/acos", "Math.acos(x)")}}
+
Retorna l'arccosinus d'un nombre.
+
{{jsxref("Global_Objects/Math/acosh", "Math.acosh(x)")}} {{experimental_inline}}
+
Retorna l'arccosinus hiperbòlic d'un nombre.
+
{{jsxref("Global_Objects/Math/asin", "Math.asin(x)")}}
+
Tetorna l'arcsinus d'un nombre.
+
{{jsxref("Global_Objects/Math/asinh", "Math.asinh(x)")}} {{experimental_inline}}
+
Retorna l'arcsinus hiperbòlic d'un nombre.
+
{{jsxref("Global_Objects/Math/atan", "Math.atan(x)")}}
+
Retorna l'arctangent d'un nombre.
+
{{jsxref("Global_Objects/Math/atanh", "Math.atanh(x)")}} {{experimental_inline}}
+
Retorna l'arctangent hiperbòlic d'un nombre.
+
{{jsxref("Global_Objects/Math/atan2", "Math.atan2(y, x)")}}
+
Retorna l'arctangent del cocient dels paràmetres donats.
+
{{jsxref("Global_Objects/Math/cbrt", "Math.cbrt(x)")}} {{experimental_inline}}
+
Retorna la rel cúbica d'un nombre.
+
{{jsxref("Global_Objects/Math/ceil", "Math.ceil(x)")}}
+
Retorna el nombre sencer més petit que és més gran o igual al nombre donat.
+
{{jsxref("Global_Objects/Math/clz32", "Math.clz32(x)")}} {{experimental_inline}}
+
Retorna el nombre de zeros a l'esquerra que el nombre donat tindria si fós emmagatzemat en 32 bits.
+
{{jsxref("Global_Objects/Math/cos", "Math.cos(x)")}}
+
Retorna el cosinus d'un nombre.
+
{{jsxref("Global_Objects/Math/cosh", "Math.cosh(x)")}} {{experimental_inline}}
+
Retorna el cosinus hiperbòlic d'un nombre.
+
{{jsxref("Global_Objects/Math/exp", "Math.exp(x)")}}
+
Retorna Ex, on x és el paràmetre i E és la constant de Euler (2.718 aproximadament).
+
{{jsxref("Global_Objects/Math/expm1", "Math.expm1(x)")}} {{experimental_inline}}
+
Retorna exp(x) - 1.
+
{{jsxref("Global_Objects/Math/floor", "Math.floor(x)")}}
+
Retorna el nombre sencer més gran que és igual o menor que el nombre donat.
+
{{jsxref("Global_Objects/Math/fround", "Math.fround(x)")}} {{experimental_inline}}
+
Retorna el nombre en coma float de precisió simple més proper al nombre donat.
+
{{jsxref("Global_Objects/Math/hypot", "Math.hypot([x[, y[, …]]])")}} {{experimental_inline}}
+
Retorna la rel quadrada del quadrat dels dos paràmetres donats.
+
{{jsxref("Global_Objects/Math/imul", "Math.imul(x, y)")}} {{experimental_inline}}
+
Retorna el resultat de multiplicar els dos paràmetres com a nombres sencers de 32 bits.
+
{{jsxref("Global_Objects/Math/log", "Math.log(x)")}}
+
Retorna el logaritme natural (loge, també ln) d'un nombre.
+
{{jsxref("Global_Objects/Math/log1p", "Math.log1p(x)")}} {{experimental_inline}}
+
Retorna el logaritme natural de 1 + x (loge, també ln) del nombre donat.
+
{{jsxref("Global_Objects/Math/log10", "Math.log10(x)")}} {{experimental_inline}}
+
Retorna el logaritme en base 10 d'un nombre.
+
{{jsxref("Global_Objects/Math/log2", "Math.log2(x)")}} {{experimental_inline}}
+
Retorna el logaritme en base 2 d'un nombre.
+
{{jsxref("Global_Objects/Math/max", "Math.max([x[, y[, …]]])")}}
+
Retorna el major de zero o més nombres donats.
+
{{jsxref("Global_Objects/Math/min", "Math.min([x[, y[, …]]])")}}
+
Retorna el menor de zero o més nombres donats.
+
{{jsxref("Global_Objects/Math/pow", "Math.pow(base, exponent)")}}
+
Retorna la base elevada a l'exponent, és a dir, baseexponent.
+
{{jsxref("Global_Objects/Math/random", "Math.random()")}}
+
Retorna un nombre pseudo aleatori comprés entre 0 i 1.
+
{{jsxref("Global_Objects/Math/round", "Math.round(x)")}}
+
Retorna el nombre sencer més proper al nombre donat.
+
{{jsxref("Global_Objects/Math/sign", "Math.sign(x)")}} {{experimental_inline}}
+
Retorna el signe de x, indicant si x és positiu, negatiu o zero.
+
{{jsxref("Global_Objects/Math/sin", "Math.sin(x)")}}
+
Retorna el sinus d'un nombre.
+
{{jsxref("Global_Objects/Math/sinh", "Math.sinh(x)")}} {{experimental_inline}}
+
Retorna el sinus hiperbòlic d'un nombre.
+
{{jsxref("Global_Objects/Math/sqrt", "Math.sqrt(x)")}}
+
Retorna el resultat positiu de la rel quadrada d'un nombre.
+
{{jsxref("Global_Objects/Math/tan", "Math.tan(x)")}}
+
Retorna la tangent d'un nombre.
+
{{jsxref("Global_Objects/Math/tanh", "Math.tanh(x)")}} {{experimental_inline}}
+
Retorna la tangent hiperbòlica d'un nombre.
+
Math.toSource() {{non-standard_inline}}
+
Retorna la cadena de caràcters "Math".
+
{{jsxref("Global_Objects/Math/trunc", "Math.trunc(x)")}} {{experimental_inline}}
+
Retorna la part sencera del nombre donat.
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementada a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.8', 'Math')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math-object', 'Math')}}{{Spec2('ES6')}}Nous mètodes afegits: {{jsxref("Math.log10()", "log10()")}}, {{jsxref("Math.log2()", "log2()")}}, {{jsxref("Math.log1p()", "log1p()")}}, {{jsxref("Math.expm1()", "expm1()")}}, {{jsxref("Math.cosh()", "cosh()")}}, {{jsxref("Math.sinh()", "sinh()")}}, {{jsxref("Math.tanh()", "tanh()")}}, {{jsxref("Math.acosh()", "acosh()")}}, {{jsxref("Math.asinh()", "asinh()")}}, {{jsxref("Math.atanh()", "atanh()")}}, {{jsxref("Math.hypot()", "hypot()")}}, {{jsxref("Math.trunc()", "trunc()")}}, {{jsxref("Math.sign()", "sign()")}}, {{jsxref("Math.imul()", "imul()")}}, {{jsxref("Math.fround()", "fround()")}}, {{jsxref("Math.cbrt()", "cbrt()")}} i {{jsxref("Math.clz32()", "clz32()")}}.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Global_Objects/Number", "Number")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/ln10/index.html b/files/ca/web/javascript/reference/global_objects/math/ln10/index.html new file mode 100644 index 0000000000..42107c85f5 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/ln10/index.html @@ -0,0 +1,118 @@ +--- +title: Math.LN10 +slug: Web/JavaScript/Referencia/Objectes_globals/Math/LN10 +translation_of: Web/JavaScript/Reference/Global_Objects/Math/LN10 +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La propietat Math.LN10 representa el logaritme natural de 10, aproximadament 2.302:

+ +

Math.LN10=ln(10)2.302\mathtt{\mi{Math.LN10}} = \ln(10) \approx 2.302

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Degut a que LN10 és una propietat estàtica de Math, aquesta sempre s'accedeix mitjançant el codi Math.LN10, en comptes de com una propietat d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.LN10

+ +

La funció següent retorna el logaritme natural de 10:

+ +
function getNatLog10() {
+  return Math.LN10;
+}
+
+getNatLog10(); // 2.302585092994046
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.2', 'Math.LN10')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.ln10', 'Math.LN10')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterístiquesChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterístiquesAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/ln2/index.html b/files/ca/web/javascript/reference/global_objects/math/ln2/index.html new file mode 100644 index 0000000000..92cf2693f2 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/ln2/index.html @@ -0,0 +1,118 @@ +--- +title: Math.LN2 +slug: Web/JavaScript/Referencia/Objectes_globals/Math/LN2 +translation_of: Web/JavaScript/Reference/Global_Objects/Math/LN2 +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La propietat Math.LN2 representa el logaritme natural de 2, aproximadament 0.693:

+ +

Math.LN2=ln(2)0.693\mathtt{\mi{Math.LN2}} = \ln(2) \approx 0.693

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Degut a que LN2 és una propietat estàtica de Math, sempre s'accedeix a aquesta mitjançant el codi Math.LN2 en comptes d'accedir a la propietat d'un objecte de Math ja creat (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.LN2

+ +

La següent funció retorna el logaritme natural de 2:

+ +
function getNatLog2() {
+  return Math.LN2;
+}
+
+getNatLog2(); // 0.6931471805599453
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.3', 'Math.LN2')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.ln2', 'Math.LN2')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/log/index.html b/files/ca/web/javascript/reference/global_objects/math/log/index.html new file mode 100644 index 0000000000..a3d8467ae5 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/log/index.html @@ -0,0 +1,137 @@ +--- +title: Math.log() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/log +translation_of: Web/JavaScript/Reference/Global_Objects/Math/log +--- +
{{JSRef}}
+ +

La funció Math.log() retorna el logaritme natural (base {{jsxref("Math.E", "e")}}) d'un nombre, és a dir

+ +

x>0,Math.log(x)=ln(x)=la únicaytal queey=x\forall x > 0, \mathtt{\operatorname{Math.log}(x)} = \ln(x) = \text{the unique} \; y \; \text{such that} \; e^y = x

+ +

Sintaxi

+ +
Math.log(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Si el valor de x és negatiu, el valor retornat sempre serà {{jsxref("NaN")}}.

+ +

Degut a que log() és un mètode estàtic de Math, sempre s'utilitza com a Math.log(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.log()

+ +
Math.log(-1); // NaN, fora de rang
+Math.log(0);  // -Infinit
+Math.log(1);  // 0
+Math.log(10); // 2.302585092994046
+
+ +

Utilitzar Math.log() amb una base diferent

+ +

La funció següent retorna el logaritme de y amb base x (és a dir, logxy\log_x y):

+ +
function getBaseLog(x, y) {
+  return Math.log(y) / Math.log(x);
+}
+
+ +

Si es crida getBaseLog(10, 1000) retornarà 2.9999999999999996 degut a l'arrodoniment de punt flotant, el qual és molt proper a la resposta real: 3.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacionsEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.10', 'Math.log')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.log', 'Math.log')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.pow()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/log10/index.html b/files/ca/web/javascript/reference/global_objects/math/log10/index.html new file mode 100644 index 0000000000..1a82f34848 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/log10/index.html @@ -0,0 +1,126 @@ +--- +title: Math.log10() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/log10 +translation_of: Web/JavaScript/Reference/Global_Objects/Math/log10 +--- +
{{JSRef}}
+ +

La funció Math.log10() retorna el logaritme en base 10 d'un nombre, és a dir

+ +

x>0,Math.log10(x)=log10(x)=la únicaytal que10y=x\forall x > 0, \mathtt{\operatorname{Math.log10}(x)} = \log_10(x) = \text{the unique} \; y \; \text{such that} \; 10^y = x

+ +

Sintaxi

+ +
Math.log10(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Si el valor de x és menor que 0, el valor retornat sempre és {{jsxref("NaN")}}.

+ +

Com que log10() és un mètode estàtic de Math, sempre s'utilitza com Math.log10() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.log10()

+ +
Math.log10(2);      // 0.3010299956639812
+Math.log10(1);      // 0
+Math.log10(0);      // -Infinit
+Math.log10(-2);     // NaN
+Math.log10(100000); // 5
+
+ +

Polyfill

+ +

Aquesta funció pot ser emulada mitjançant el següent codi:

+ +
Math.log10 = Math.log10 || function(x) {
+  return Math.log(x) / Math.LN10;
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.log10', 'Math.log10')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.pow()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/log10e/index.html b/files/ca/web/javascript/reference/global_objects/math/log10e/index.html new file mode 100644 index 0000000000..299c8d12ed --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/log10e/index.html @@ -0,0 +1,118 @@ +--- +title: Math.LOG10E +slug: Web/JavaScript/Referencia/Objectes_globals/Math/LOG10E +translation_of: Web/JavaScript/Reference/Global_Objects/Math/LOG10E +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La propietat Math.LOG10E representa el logaritme en base 10 de e, el valor del qual és aproximadament 0.434:

+ +

Math.LOG10E=log10(e)0.434\mathtt{\mi{Math.LOG10E}} = \log_10(e) \approx 0.434

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Degut a que LOG10E és una propietat estàtica de l'objecte Math, sempre s'obté el seu valor mitjançant Math.LOG10E en comptes d'accedir a la propietat d'un objecte instanciat de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.LOG10E

+ +

La funció següent retorna el logaritme en base 10 de e:

+ +
function getLog10e() {
+  return Math.LOG10E;
+}
+
+getLog10e(); // 0.4342944819032518
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.5', 'Math.LOG10E')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.log10e', 'Math.LOG10E')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/log1p/index.html b/files/ca/web/javascript/reference/global_objects/math/log1p/index.html new file mode 100644 index 0000000000..1a0eb32cd5 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/log1p/index.html @@ -0,0 +1,125 @@ +--- +title: Math.log1p() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/log1p +translation_of: Web/JavaScript/Reference/Global_Objects/Math/log1p +--- +
{{JSRef}}
+ +

La funció Math.log1p() retorna el logaritme natural (base {{jsxref("Math.E", "e")}}) de 1 + un nombre, és a dir

+ +

x>-1,Math.log1p(x)=ln(1+x)\forall x > -1, \mathtt{\operatorname{Math.log1p}(x)} = \ln(1 + x)

+ +

Sintaxi

+ +
Math.log1p(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Si el valor de x és menor que -1, el valor retornat sempre serà {{jsxref("NaN")}}.

+ +

Com que log1p() és un mètode estàtic de Math, sempre s'utilitza com Math.log1p() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.log1p()

+ +
Math.log1p(1);  // 0.6931471805599453
+Math.log1p(0);  // 0
+Math.log1p(-1); // -Infinit
+Math.log1p(-2); // NaN
+
+ +

Polyfill

+ +

Aquesta funció pot ser emulada mitjançant la funció següent:

+ +
Math.log1p = Math.log1p || function(x) {
+  return Math.log(1 + x);
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.log1p', 'Math.log1p')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.pow()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/log2/index.html b/files/ca/web/javascript/reference/global_objects/math/log2/index.html new file mode 100644 index 0000000000..0806bd75ff --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/log2/index.html @@ -0,0 +1,127 @@ +--- +title: Math.log2() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/log2 +translation_of: Web/JavaScript/Reference/Global_Objects/Math/log2 +--- +
{{JSRef}}
+ +

La funció Math.log2() retorna el logaritme en base 2 d'un nombre, és a dir

+ +

x>0,Math.log2(x)=log2(x)=la únicaytal que2y=x\forall x > 0, \mathtt{\operatorname{Math.log2}(x)} = \log_2(x) = \text{the unique} \; y \; \text{such that} \; 2^y = x

+ +

Sintaxi

+ +
Math.log2(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Si el valor de x és menor que 0, el valor retornat sempre serà {{jsxref("NaN")}}.

+ +

Com que log2() és un mètode estàtic de Math, sempre s'utilitza com Math.log2() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.log2()

+ +
Math.log2(3);    // 1.584962500721156
+Math.log2(2);    // 1
+Math.log2(1);    // 0
+Math.log2(0);    // -Infinit
+Math.log2(-2);   // NaN
+Math.log2(1024); // 10
+
+ +

Polyfill

+ +

Aquest Polyfill emula la funció Math.log2. Cal destacar que retorna valors imprecisos per a algunes entrades (com ara 1 << 29), embolcalleu-la amb {{jsxref("Math.round()")}} si esteu treballant amb màscares de bits.

+ +
Math.log2 = Math.log2 || function(x) {
+  return Math.log(x) / Math.LN2;
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.log2', 'Math.log2')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.pow()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/log2e/index.html b/files/ca/web/javascript/reference/global_objects/math/log2e/index.html new file mode 100644 index 0000000000..2f37ae44c1 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/log2e/index.html @@ -0,0 +1,118 @@ +--- +title: Math.LOG2E +slug: Web/JavaScript/Referencia/Objectes_globals/Math/LOG2E +translation_of: Web/JavaScript/Reference/Global_Objects/Math/LOG2E +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La propietat Math.LOG2E representa el logaritme de e en base 2, el valor del qual és aproximadament 1.442:

+ +

Math.LOG2E=log2(e)1.442\mathtt{\mi{Math.LOG2E}} = \log_2(e) \approx 1.442

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Com que LOG2E és una propietat estàtica de Math, sempre s'utilitza mitjançant la forma Math.LOG2E, en comptes d'accedir a la propietat d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.LOG2E

+ +

La següent funció retorna el logaritme de e en base 2:

+ +
function getLog2e() {
+  return Math.LOG2E;
+}
+
+getLog2e(); // 1.4426950408889634
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.4', 'Math.LOG2E')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.log2e', 'Math.LOG2E')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/max/index.html b/files/ca/web/javascript/reference/global_objects/math/max/index.html new file mode 100644 index 0000000000..791b5dfdfe --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/max/index.html @@ -0,0 +1,134 @@ +--- +title: Math.max() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/max +translation_of: Web/JavaScript/Reference/Global_Objects/Math/max +--- +
{{JSRef}}
+ +

La funció Math.max() retorna el nombre més gran de zero o més nombres.

+ +

Sintaxi

+ +
Math.max([valor1[, valor2[, ...]]])
+ +

Paràmetres

+ +
+
valor1, valor2, ...
+
Nombres.
+
+ +

Descripció

+ +

Com que max() és un mètode estàtic de Math, sempre s'utilitza com Math.max() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Si no es proporciona cap argument, el resultat és -{{jsxref("Infinity")}}.

+ +

Si al menys un dels arguments no pot convertir-se a un nombre, el resultat és {{jsxref("NaN")}}.

+ +

Exemples

+ +

Utilitzar Math.max()

+ +
Math.max(10, 20);   //  20
+Math.max(-10, -20); // -10
+Math.max(-10, 20);  //  20
+
+ +

La següent funció utilitza {{jsxref("Function.prototype.apply()")}} per a trobar l'element màxim d'un array numèric. getMaxOfArray([1, 2, 3]) és equivalent a Math.max(1, 2, 3), però getMaxOfArray() pot emprar-se en arrays de qualsevol mida construits programàticament.

+ +
function getMaxOfArray(numArray) {
+  return Math.max.apply(null, numArray);
+}
+
+ +

O bé amb el nou {{jsxref("Operators/Spread_operator", "operador spread")}}, obtenir el nombre màxim d'un array és molt més simple.

+ +
var arr = [1, 2, 3];
+var max = Math.max(...arr);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.11', 'Math.max')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.max', 'Math.max')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.min()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/min/index.html b/files/ca/web/javascript/reference/global_objects/math/min/index.html new file mode 100644 index 0000000000..909e6ff2ee --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/min/index.html @@ -0,0 +1,140 @@ +--- +title: Math.min() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/min +translation_of: Web/JavaScript/Reference/Global_Objects/Math/min +--- +
{{JSRef}}
+ +

La funció Math.min() retorna el més petit de zero o més nombres.

+ +

Sintaxi

+ +
Math.min([valor1[, valor2[, ...]]])
+ +

Paràmetres

+ +
+
valor1, valor2, ...
+
Nombres.
+
+ +

Descripció

+ +

Degut a que min() és un mètode estàtic de Math, sempre s'utilitza com a Math.min(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Si no es proporciona cap argument, el resultat és {{jsxref("Infinity")}}.

+ +

Si al menys un dels arguments no pot ser convertit a nombre, el resultat és {{jsxref("NaN")}}.

+ +

Exemples

+ +

Utilitzar Math.min()

+ +

Aquest codi troba el valor mínim de x i y i l'assigna a z:

+ +
var x = 10, y = -20;
+var z = Math.min(x, y);
+
+ +

Limitar un nombre amb Math.min()

+ +

Sovint s'utilitza Math.min() per a limitar un valor de manera que sempre sigui igual o menor que un límit. Per exemple, aquest codi

+ +
var x = f(foo);
+
+if (x > limit) {
+  x = limit;
+}
+
+ +

es podria escriure de la següent manera:

+ +
var x = Math.min(f(foo), limit);
+
+ +

{{jsxref("Math.max()")}} es pot emprar d'una manera similar per a limitar un valor a l'altre límit.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.12', 'Math.min')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.min', 'Math.min')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.max()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/pi/index.html b/files/ca/web/javascript/reference/global_objects/math/pi/index.html new file mode 100644 index 0000000000..b867c953df --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/pi/index.html @@ -0,0 +1,116 @@ +--- +title: Math.PI +slug: Web/JavaScript/Referencia/Objectes_globals/Math/PI +translation_of: Web/JavaScript/Reference/Global_Objects/Math/PI +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La propietat Math.PI representa el ratio entre la circumferència d'un crecle i el seu diàmetre, el seu valor aproximat és de 3.14159:

+ +

Math.PI=π3.14159\mathtt{\mi{Math.PI}} = \pi \approx 3.14159

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Com que PI és una propietat estàtica de Math, sempre s'utilitza amb la forma Math.PI, ren comptes de com una propietat d'un objecte Math ja creat (Math on és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.PI

+ +

La funció següent utilitza Math.PI per a calcular la circumferència d'un cercle a partir del radi que rep.

+ +
function calculateCircumference(radius) {
+  return 2 * Math.PI * radius;
+}
+
+calculateCircumference(1);  // 6.283185307179586
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.6', 'Math.PI')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.pi', 'Math.PI')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Global_Objects/Math", "Math")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/pow/index.html b/files/ca/web/javascript/reference/global_objects/math/pow/index.html new file mode 100644 index 0000000000..efe89000e9 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/pow/index.html @@ -0,0 +1,140 @@ +--- +title: Math.pow() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/pow +translation_of: Web/JavaScript/Reference/Global_Objects/Math/pow +--- +
{{JSRef}}
+ +

La funció Math.pow() retorna la base elevada a exponent, és a dir, baseexponent.

+ +

Sintaxi

+ +
Math.pow(base, exponent)
+ +

Paràmetres

+ +
+
base
+
El nombre base.
+
exponent
+
L'exponent que s'usarà per a elevar la base.
+
+ +

Descripció

+ +

Com que pow() és un mètode estàtic de Math, sempre s'utilitza com Math.pow() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.pow()

+ +
// simple
+Math.pow(7, 2);    // 49
+Math.pow(7, 3);    // 343
+Math.pow(2, 10);   // 1024
+// exponents fractionals
+Math.pow(4, 0.5);  // 2 (rel quadrada de 4)
+Math.pow(8, 1/3);  // 2 (rel cúbica de 8)
+Math.pow(2, 0.5);  // 1.412135623730951 (rel quadrada de 2)
+Math.pow(2, 1/3);  // 1.2599210498948732 (rel cúbica de 2)
+// exponents amb signe
+Math.pow(7, -2);   // 0.02040816326530612 (1/49)
+Math.pow(8, -1/3); // 0.5
+// bases amb signe
+Math.pow(-7, 2);   // 49 (qualsevol nombre elevat al quadrat és positiu)
+Math.pow(-7, 3);   // -343 (nombres elevats al cub poden ser negatius)
+Math.pow(-7, 0.5); // NaN (els nombres negatius no tenen una rel quadrada real)
+// degut a rels "parells" i "senars" estan aprox l'una de l'altra
+// i a límits en la precisió dels nombres de punt flotant,
+// bases negatives amb exponents fraccionals sempre retornen NaN
+Math.pow(-7, 1/3); // NaN
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.13', 'Math.pow')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.pow', 'Math.pow')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.cbrt()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.sqrt()")}}
  • +
  • Operador Exponencial {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/random/index.html b/files/ca/web/javascript/reference/global_objects/math/random/index.html new file mode 100644 index 0000000000..d70169efd4 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/random/index.html @@ -0,0 +1,126 @@ +--- +title: Math.random() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/random +translation_of: Web/JavaScript/Reference/Global_Objects/Math/random +--- +
{{JSRef}}
+ +

La funció Math.random() retorna un nombre decimal de punt flotant pseudo-aleatori que roman dins el rang [0, 1), és a dir, des de 0 (inclòs) fins a 1 (exclòs), que després pot ser escalat al rang dessitjat. La implementació selecciona la llavor inicial per a l'algoritme generador de nombres aleatoris; aquesta llavor no pot ser resetejada o escollida per l'usuari.

+ +
+

Nota: Math.random() no proporciona nombres aleatoris criptogràficament segurs. No l'utilitzeu per a cap tasca relacionada amb la seguretat. Per a aquest ús utilitzeu la API Web Crypto, i més concretament el mètode {{domxref("RandomSource.getRandomValues()", "window.crypto.getRandomValues()")}}.

+
+ +

Sintaxi

+ +
Math.random()
+ +

Exemples

+ +

Utilitzar Math.random()

+ +

Cal destacar que com que els nombres a JavaScript són nombres de punt flotant IEEE 754 amb comportament d'arrodoniment al parell més proper, els rangs proclamats per les funcions de sota (a excepció de Math.random()) no són exactes. Si s'escullen límits extremadament grans (253 o majors), és possible en casos extremadament rars, obtindre el límit superior que normalment és exclòs.

+ +
// Retorna un nombre aleatori entre 0 (inclòs) i 1 (exclòs)
+function getRandom() {
+  return Math.random();
+}
+
+ +
// Retorna un nombre aleatori entre min (inclòs) i max (exclòs)
+function getRandomArbitrary(min, max) {
+  return Math.random() * (max - min) + min;
+}
+
+ +
// Retorna un nombre sencer aleatori entre min (inclòs) i max (exclòs)
+// Utilitzar Math.round() proporciona una distribució no uniforme!
+function getRandomInt(min, max) {
+  return Math.floor(Math.random() * (max - min)) + min;
+}
+
+ +
// Returns a random integer between min (included) and max (included)
+// Using Math.round() will give you a non-uniform distribution!
+function getRandomIntInclusive(min, max) {
+  return Math.floor(Math.random() * (max - min + 1)) + min;
+}
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. JavaScript 1.0 (Només UNIX) / JavaScript 1.1 (Totes les plataformes).
{{SpecName('ES5.1', '#sec-15.8.2.14', 'Math.random')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.random', 'Math.random')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
diff --git a/files/ca/web/javascript/reference/global_objects/math/round/index.html b/files/ca/web/javascript/reference/global_objects/math/round/index.html new file mode 100644 index 0000000000..2510799381 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/round/index.html @@ -0,0 +1,207 @@ +--- +title: Math.round() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/round +translation_of: Web/JavaScript/Reference/Global_Objects/Math/round +--- +
{{JSRef}}
+ +

La funció Math.round() retorna el valor d'un nombre arrodonit al nombre sencer més proper.

+ +

Sintaxi

+ +
Math.round(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Si la porció fraccional del nombre és 0.5 o major, l'argument s'arrodoneix al següent nombre sencer més gran. Si la porció fraccional del nombre és menor de 0.5 l'argument és arrodonit al següent nombre sencer més petit.

+ +

Com que round() és un mètode estàtic de Math, sempre s'utilitza com Math.round() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.round()

+ +
// Retorna el valor 20
+x = Math.round(20.49);
+
+// Retorna el valor 21
+x = Math.round(20.5);
+
+// Retorna el valor -20
+x = Math.round(-20.5);
+
+// Retorna el valor -21
+x = Math.round(-20.51);
+
+// Retorna el valor 1 (!)
+// Fixeu-vos en l'error d'arrodoniment degut a la poc precisa aritmètica de punt flotant
+// Compareu això amb Math.round10(1.005, -2) de l'exemple de sota
+x = Math.round(1.005*100)/100;
+
+ +

Arrodoniment decimal

+ +
// Closure
+(function() {
+  /**
+   * Ajustament decimal d'un nombre
+   *
+   * @param {String}  type  El tipus d'ajustament.
+   * @param {Number}  value El nombre.
+   * @param {Integer} exp   L'exponent (el logaritme en base 10 de la base a ajustar).
+   * @returns {Number} El valor ajustat.
+   */
+  function decimalAdjust(type, value, exp) {
+    // Si l'exponent és undefined o zero...
+    if (typeof exp === 'undefined' || +exp === 0) {
+      return Math[type](value);
+    }
+    value = +value;
+    exp = +exp;
+    // Si el valor no és un nombre o l'exponent no és un nombre sencer...
+    if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
+      return NaN;
+    }
+    // Desplaçament
+    value = value.toString().split('e');
+    value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
+    // Desfer el desplaçament
+    value = value.toString().split('e');
+    return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
+  }
+
+  // Arrodoniment decimal
+  if (!Math.round10) {
+    Math.round10 = function(value, exp) {
+      return decimalAdjust('round', value, exp);
+    };
+  }
+  // Floor decimal
+  if (!Math.floor10) {
+    Math.floor10 = function(value, exp) {
+      return decimalAdjust('floor', value, exp);
+    };
+  }
+  // Ceiling decimal
+  if (!Math.ceil10) {
+    Math.ceil10 = function(value, exp) {
+      return decimalAdjust('ceil', value, exp);
+    };
+  }
+})();
+
+// Arrodoniment
+Math.round10(55.55, -1);   // 55.6
+Math.round10(55.549, -1);  // 55.5
+Math.round10(55, 1);       // 60
+Math.round10(54.9, 1);     // 50
+Math.round10(-55.55, -1);  // -55.5
+Math.round10(-55.551, -1); // -55.6
+Math.round10(-55, 1);      // -50
+Math.round10(-55.1, 1);    // -60
+Math.round10(1.005, -2);   // 1.01 -- compareu aquest resultat amb Math.round(1.005*100)/100 de l'exemple de sobre
+// Floor
+Math.floor10(55.59, -1);   // 55.5
+Math.floor10(59, 1);       // 50
+Math.floor10(-55.51, -1);  // -55.6
+Math.floor10(-51, 1);      // -60
+// Ceil
+Math.ceil10(55.51, -1);    // 55.6
+Math.ceil10(51, 1);        // 60
+Math.ceil10(-55.59, -1);   // -55.5
+Math.ceil10(-59, 1);       // -50
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.15', 'Math.round')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.round', 'Math.round')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.abs()")}}
  • +
  • {{jsxref("Math.ceil()")}}
  • +
  • {{jsxref("Math.floor()")}}
  • +
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/sign/index.html b/files/ca/web/javascript/reference/global_objects/math/sign/index.html new file mode 100644 index 0000000000..520ff27dc4 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/sign/index.html @@ -0,0 +1,131 @@ +--- +title: Math.sign() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/sign +translation_of: Web/JavaScript/Reference/Global_Objects/Math/sign +--- +
{{JSRef}}
+ +

La funció Math.sign() retorna el signe d'un nombre, indicant si el nombre donat és positiu, negatiu o zero.

+ +

Sintaxi

+ +
Math.sign(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Com que sign() és un mètode estàtic de Math, sempre s'utilitza com Math.sign() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Aquesta funció pot retornar 5 valors diferents, 1, -1, 0, -0, NaN, que representen "nombre positiu", "nombre negatiu", "zero positiu", "zero negatiu" i {{jsxref("NaN")}} respectivament.

+ +

L'argument passat a aquesta funció serà convertit al tipus de x implícitament.

+ +

Exemples

+ +

Utilitzar Math.sign()

+ +
Math.sign(3);     //  1
+Math.sign(-3);    // -1
+Math.sign('-3');  // -1
+Math.sign(0);     //  0
+Math.sign(-0);    // -0
+Math.sign(NaN);   // NaN
+Math.sign('foo'); // NaN
+Math.sign();      // NaN
+
+ +

Polyfill

+ +
Math.sign = Math.sign || function(x) {
+  x = +x; // converteix a un nombre
+  if (x === 0 || isNaN(x)) {
+    return x;
+  }
+  return x > 0 ? 1 : -1;
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.sign', 'Math.sign')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.abs()")}}
  • +
  • {{jsxref("Math.ceil()")}}
  • +
  • {{jsxref("Math.floor()")}}
  • +
  • {{jsxref("Math.round()")}}
  • +
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/sin/index.html b/files/ca/web/javascript/reference/global_objects/math/sin/index.html new file mode 100644 index 0000000000..7f1faf9a98 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/sin/index.html @@ -0,0 +1,127 @@ +--- +title: Math.sin() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/sin +translation_of: Web/JavaScript/Reference/Global_Objects/Math/sin +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La funció Math.sin() retorna el sinus d'un nombre.

+ +

Sintaxi

+ +
Math.sin(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre (donat en radians).
+
+ +

Descripció

+ +

El mètode Math.sin() retorna un valor numèric entre -1 i 1, que representa el sinus de l'angle donat en radiants.

+ +

Degut a que sin() és un mètode estàtic de Math, sempre s'utilitza com a Math.sin(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.sin()

+ +
Math.sin(0);           // 0
+Math.sin(1);           // 0.8414709848078965
+
+Math.sin(Math.PI / 2); // 1
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.16', 'Math.sin')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.sin', 'Math.sin')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acos()")}}
  • +
  • {{jsxref("Math.asin()")}}
  • +
  • {{jsxref("Math.atan()")}}
  • +
  • {{jsxref("Math.atan2()")}}
  • +
  • {{jsxref("Math.cos()")}}
  • +
  • {{jsxref("Math.tan()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/sinh/index.html b/files/ca/web/javascript/reference/global_objects/math/sinh/index.html new file mode 100644 index 0000000000..a1cc1f446a --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/sinh/index.html @@ -0,0 +1,129 @@ +--- +title: Math.sinh() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/sinh +translation_of: Web/JavaScript/Reference/Global_Objects/Math/sinh +--- +
{{JSRef}}
+ +

La funció Math.sinh() retorna el sinus hiperbòlic d'un nombre, que es pot expressar utilitzant la {{jsxref("Math.E", "constant e", "", 1)}}:

+ +

Math.sinh(x)=ex-e-x2\mathtt{\operatorname{Math.sinh(x)}} = \frac{e^x - e^{-x}}{2}

+ +

Sintaxi

+ +
Math.sinh(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Com que que sinh() és un mètode estàtic de Math, sempre s'utilitza com a Math.sinh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.sinh()

+ +
Math.sinh(0); // 0
+Math.sinh(1); // 1.1752011936438014
+
+ +

Polyfill

+ +

Aquest comportament es pot emular amb l'ajut de la funció {{jsxref("Math.exp()")}}:

+ +
Math.sinh = Math.sinh || function(x) {
+  return (Math.exp(x) - Math.exp(-x)) / 2;
+}
+
+ +

O bé utilitzant només una crida a la funció {{jsxref("Math.exp()")}}:

+ +
Math.sinh = Math.sinh || function(x) {
+  var y = Math.exp(x);
+  return (y - 1 / y) / 2;
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.sinh', 'Math.sinh')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/sqrt/index.html b/files/ca/web/javascript/reference/global_objects/math/sqrt/index.html new file mode 100644 index 0000000000..b726db8a31 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/sqrt/index.html @@ -0,0 +1,127 @@ +--- +title: Math.sqrt() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/sqrt +translation_of: Web/JavaScript/Reference/Global_Objects/Math/sqrt +--- +
{{JSRef}}
+ +

La funció Math.sqrt() retorna la rel quadrada d'un nombre, és a dir

+ +

x0,Math.sqrt(x)=x=la únicay0tal quey2=x\forall x \geq 0, \mathtt{Math.sqrt(x)} = \sqrt{x} = \text{the unique} \; y \geq 0 \; \text{such that} \; y^2 = x

+ +

Sintaxi

+ +
Math.sqrt(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Si el valor de x és negatiu, Math.sqrt() retorna {{jsxref("NaN")}}.

+ +

Degut a que sqrt() és un mètode estàtic de Math, sempre s'utilitza com a Math.sqrt(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.sqrt()

+ +
Math.sqrt(9); // 3
+Math.sqrt(2); // 1.414213562373095
+
+Math.sqrt(1);  // 1
+Math.sqrt(0);  // 0
+Math.sqrt(-1); // NaN
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.17', 'Math.sqrt')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.sqrt', 'Math.sqrt')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.cbrt()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.exp()")}}
  • +
  • {{jsxref("Math.log()")}}
  • +
  • {{jsxref("Math.pow()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/sqrt1_2/index.html b/files/ca/web/javascript/reference/global_objects/math/sqrt1_2/index.html new file mode 100644 index 0000000000..3d7d3a1370 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/sqrt1_2/index.html @@ -0,0 +1,117 @@ +--- +title: Math.SQRT1_2 +slug: Web/JavaScript/Referencia/Objectes_globals/Math/SQRT1_2 +translation_of: Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2 +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La propietat Math.SQRT1_2 representa la rel quadrada de 1/2, que equival aproximadament a 0.707:

+ +

Math.SQRT1_2=12=120.707\mathtt{\mi{Math.SQRT1_2}} = \sqrt{\frac{1}{2}} = \frac{1}{\sqrt{2}} \approx 0.707

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Degut a que SQRT1_2  éss una propietat estàtica de Math, sempre s'utilitza com a Math.SQRT1_2 en comptes de com a la propietat d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.SQRT1_2

+ +

La següent funció retorna 1 dividit per la rel quadrada de 2:

+ +
function getRoot1_2() {
+  return Math.SQRT1_2;
+}
+
+getRoot1_2(); // 0.7071067811865476
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat aJavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.7', 'Math.SQRT1_2')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.sqrt1_2', 'Math.SQRT1_2')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.pow()")}}
  • +
  • {{jsxref("Math.sqrt()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/sqrt2/index.html b/files/ca/web/javascript/reference/global_objects/math/sqrt2/index.html new file mode 100644 index 0000000000..3d049f228c --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/sqrt2/index.html @@ -0,0 +1,117 @@ +--- +title: Math.SQRT2 +slug: Web/JavaScript/Referencia/Objectes_globals/Math/SQRT2 +translation_of: Web/JavaScript/Reference/Global_Objects/Math/SQRT2 +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La propietat Math.SQRT2 representa la rel quadrada de 2, que és aproximadament 1.414:

+ +

Math.SQRT2=21.414\mathtt{\mi{Math.SQRT2}} = \sqrt{2} \approx 1.414

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

Degut a que SQRT2 és una propietat estàtica de Math, sempre s'utilitza com a Math.SQRT2, en comptes de com la propietat d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.SQRT2

+ +

La funció següent retorna la rel quadrada de 2:

+ +
function getRoot2() {
+  return Math.SQRT2;
+}
+
+getRoot2(); // 1.4142135623730951
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.8', 'Math.SQRT2')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.sqrt2', 'Math.SQRT2')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.pow()")}}
  • +
  • {{jsxref("Math.sqrt()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/tan/index.html b/files/ca/web/javascript/reference/global_objects/math/tan/index.html new file mode 100644 index 0000000000..590e1f5fc8 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/tan/index.html @@ -0,0 +1,140 @@ +--- +title: Math.tan() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/tan +translation_of: Web/JavaScript/Reference/Global_Objects/Math/tan +--- +
{{JSRef("Global_Objects", "Math")}}
+ +

Resum

+ +

La funció Math.tan() retorna la tangent d'un nombre.

+ +

Sintaxi

+ +
Math.tan(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre que representa un angle, mesurat en radians.
+
+ +

Descripció

+ +

El mètode Math.tan() retorna un valor numèric que representa la tangent d'un angle.

+ +

Degut a que tan() és un mètode estàtic de Math, sempre s'utilitza com a Math.tan(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Exemple: Utilitzar Math.tan()

+ +
Math.tan(1); // 1.5574077246549023
+
+ +

Com que la funció Math.tan() accepta radians però sovint és més fàcil treballar amb graus, a funció següent accepta un valor en graus, el converteix a radians i retorna la tangent.

+ +
function getTanDeg(deg) {
+  var rad = deg * Math.PI/180;
+  return Math.tan(rad);
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.18', 'Math.tan')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.tan', 'Math.tan')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
Característica
+
AndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acos()")}}
  • +
  • {{jsxref("Math.asin()")}}
  • +
  • {{jsxref("Math.atan()")}}
  • +
  • {{jsxref("Math.atan2()")}}
  • +
  • {{jsxref("Math.cos()")}}
  • +
  • {{jsxref("Math.sin()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/tanh/index.html b/files/ca/web/javascript/reference/global_objects/math/tanh/index.html new file mode 100644 index 0000000000..ada19d17e0 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/tanh/index.html @@ -0,0 +1,142 @@ +--- +title: Math.tanh() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/tanh +translation_of: Web/JavaScript/Reference/Global_Objects/Math/tanh +--- +
{{JSRef}}
+ +

La funció Math.tanh() retorna la tangent hiperbòlica d'un nombre, és a dir

+ +

tanhx=sinhxcoshx=ex-e-xex+e-x=e2x-1e2x+1\tanh x = \frac{\sinh x}{\cosh x} = \frac {e^x - e^{-x}} {e^x + e^{-x}} = \frac{e^{2x} - 1}{e^{2x}+1}

+ +

Sintaxi

+ +
Math.tanh(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Com que que tanh() és un mètode estàtic de Math, sempre s'utilitza com a Math.tanh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.tanh()

+ +
Math.tanh(0);        // 0
+Math.tanh(Infinity); // 1
+Math.tanh(1);        // 0.7615941559557649
+
+ +

Polyfill

+ +

Aquest comportament pot emular-se amb l'ajuda de la funció {{jsxref("Math.exp()")}}:

+ +
Math.tanh = Math.tanh || function(x) {
+  if (x === Infinity) {
+    return 1;
+  } else if (x === -Infinity) {
+    return -1;
+  } else {
+    return (Math.exp(x) - Math.exp(-x)) / (Math.exp(x) + Math.exp(-x));
+  }
+}
+
+ +

o bé utilitzant només una crida a {{jsxref("Math.exp()")}}:

+ +
Math.tanh = Math.tanh || function(x) {
+  if (x === Infinity) {
+    return 1;
+  } else if (x === -Infinity) {
+    return -1;
+  } else {
+    var y = Math.exp(2 * x);
+    return (y - 1) / (y + 1);
+  }
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.tanh', 'Math.tanh')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • +
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/math/trunc/index.html b/files/ca/web/javascript/reference/global_objects/math/trunc/index.html new file mode 100644 index 0000000000..4f76502d69 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/math/trunc/index.html @@ -0,0 +1,129 @@ +--- +title: Math.trunc() +slug: Web/JavaScript/Referencia/Objectes_globals/Math/trunc +translation_of: Web/JavaScript/Reference/Global_Objects/Math/trunc +--- +
{{JSRef}}
+ +

La funció Math.trunc() retorna la part integral d'un nombre, tot descartant els dígits decimals.

+ +

Sintaxi

+ +
Math.trunc(x)
+ +

Paràmetres

+ +
+
x
+
Un nombre.
+
+ +

Descripció

+ +

Al contrari que altres mètodes de Math : {{jsxref("Math.floor()")}}, {{jsxref("Math.ceil()")}} and {{jsxref("Math.round()")}}, la forma en la que Math.trunc() funciona és molt simple, simplement trunca el punt i els dígits que queden a la dreta, sense importa si l'argument és un nombre positiu o negatiu.

+ +

Així que, si l'argument és un nombre positiu, Math.trunc() és equivalent a Math.floor(), en cas contrari, Math.trunc() és equivalent a Math.ceil().

+ +

Cal destacar que l'argument passat a aquest mètode serà convertit a un nombre de forma implícita.

+ +

Com que trunc() és un mètode estàtic de Math, sempre s'utilitza com Math.trunc() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

+ +

Exemples

+ +

Utilitzar Math.trunc()

+ +
Math.trunc(13.37);    // 13
+Math.trunc(42.84);    // 42
+Math.trunc(0.123);    //  0
+Math.trunc(-0.123);   // -0
+Math.trunc('-1.123'); // -1
+Math.trunc(NaN);      // NaN
+Math.trunc('foo');    // NaN
+Math.trunc();         // NaN
+
+ +

Polyfill

+ +
Math.trunc = Math.trunc || function(x) {
+  return x < 0 ? Math.ceil(x) : Math.floor(x);
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.trunc', 'Math.trunc')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Math.abs()")}}
  • +
  • {{jsxref("Math.ceil()")}}
  • +
  • {{jsxref("Math.floor()")}}
  • +
  • {{jsxref("Math.round()")}}
  • +
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/nan/index.html b/files/ca/web/javascript/reference/global_objects/nan/index.html new file mode 100644 index 0000000000..1d6f4a4dc8 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/nan/index.html @@ -0,0 +1,125 @@ +--- +title: NaN +slug: Web/JavaScript/Referencia/Objectes_globals/NaN +translation_of: Web/JavaScript/Reference/Global_Objects/NaN +--- +
+
+
{{jsSidebar("Objects")}}
+
+
+ +

Resum

+ +

La propietat global NaN és un valor que representa Not-A-Number.

+ +

{{js_property_attributes(0,0,0)}}

+ +

Sintaxi

+ +
NaN
+ +

Descripció

+ +

NaN és una propietat de l'objecte global.

+ +

El valor inicial de NaN és Not-A-Number — el mateix que el valor de Number.NaN. En navegadors moderns NaN és una propietat no configurable que no pot ser escrita. En cas contrari es recomana no sobreescriure el seu valor.

+ +

L'ús directe de NaN és poc freqüent. Apareix tot sovint però com va valor retornat quan una funció matemàtica falla (Math.sqrt(-1)) o quan s'intenta convertir una cadena de text a nombre sense èxit (parseInt("blabla")).

+ +

Comparant NaN

+ +

L'operador d'igualtat (== i ===) no pot ésser emprat per comparar un resultat amb NaN. Es fa necessari l'ús de {{jsxref("Number.isNaN()")}} o bé {{jsxref("Global_Objects/isNaN", "isNaN()")}}.

+ +
NaN === NaN;        // false
+Number.NaN === NaN; // false
+isNaN(NaN);         // true
+isNaN(Number.NaN);  // true
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3
{{SpecName('ES5.1', '#sec-15.1.1.1', 'NaN')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-value-properties-of-the-global-object-nan', 'NaN')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.NaN")}}
  • +
  • {{jsxref("Number.isNaN()")}}
  • +
  • {{jsxref("Global_Objects/isNaN", "isNaN()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/null/index.html b/files/ca/web/javascript/reference/global_objects/null/index.html new file mode 100644 index 0000000000..97506ddeb5 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/null/index.html @@ -0,0 +1,125 @@ +--- +title: 'null' +slug: Web/JavaScript/Referencia/Objectes_globals/null +translation_of: Web/JavaScript/Reference/Global_Objects/null +--- +
+
+
{{jsSidebar("Objects")}}
+
+
+ +

Resum

+ +

El valor null és un literal de JavaScript que representa un valor nul o "buit", per exemple, quan no s'ha asignat cap valor previ. És un dels {{Glossary("Primitive", "valors primitius")}} de JavaScript.

+ +

Sintaxi

+ +
null 
+ +

Descripció

+ +

El valor null és un literal (i no una propietat de l'objecte global, com ho és undefined). A l'utilitzar les APIs, null s'obté sovint en comptes de l'objecte esperat quan no hi ha cap objecte relevant. Quan es vol comprovar si un valor és null o be undefined és important recordar les diferències entre els operadors d'igualtat (==) i d'identitat (===) (ja que amb el primer s'aplica una conversió de tipus).

+ +
// foo no existeix, no està definit i no s'ha inicialitzat mai
+> foo
+"ReferenceError: foo is not defined"
+
+// Es sap que foo existeix ara però no té tipus ni cap valor assignat:
+> var foo = null; foo
+"null"
+
+ +

Diferència entre null i undefined

+ +
typeof null        // objecte (degut a un bug a ECMAScript, hauria de ser null)
+typeof undefined   // undefined
+null === undefined // false
+null  == undefined // true
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-4.3.11', 'null value')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-null-value', 'null value')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Global_Objects/undefined", "undefined")}}
  • +
  • {{jsxref("Global_Objects/NaN", "NaN")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/epsilon/index.html b/files/ca/web/javascript/reference/global_objects/number/epsilon/index.html new file mode 100644 index 0000000000..5e3f602703 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/epsilon/index.html @@ -0,0 +1,102 @@ +--- +title: Number.EPSILON +slug: Web/JavaScript/Referencia/Objectes_globals/Number/EPSILON +translation_of: Web/JavaScript/Reference/Global_Objects/Number/EPSILON +--- +
{{JSRef("Global_Objects", "Number")}}
+ +

Resum

+ +

La propietat Number.EPSILON representa la diferència entre el nombre 1 i el valor més petit major que 1 que pot ser representat com un {{jsxref("Global_Objects/Number", "Number")}}.

+ +

Per tal d'accedir a la propietat no es fa necessari crear un objecte {{jsxref("Global_Objects/Number", "Number")}} ja que és una propietat estàtica i n'hi ha prou amb fer servir Number.EPSILON per a obtindre el valor.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

La propietat EPSILON té un valor aproximat de 2.2204460492503130808472633361816E-16, és a dir, 2-52.

+ +

Exemples

+ +

Exemple: Comprovant l'igualtat

+ +
x = 0.2;
+y = 0.3;
+equal = (Math.abs(x - y) < Number.EPSILON);
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-15.7.3.7', 'Number.EPSILON')}}{{Spec2('ES6')}}Definició inicial
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("25.0")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25.0")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al qual pertany.
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/index.html b/files/ca/web/javascript/reference/global_objects/number/index.html new file mode 100644 index 0000000000..5f4b7a0bb2 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/index.html @@ -0,0 +1,214 @@ +--- +title: Number +slug: Web/JavaScript/Referencia/Objectes_globals/Number +translation_of: Web/JavaScript/Reference/Global_Objects/Number +--- +
{{JSRef("Global_Objects", "Number")}}
+ +

Resum

+ +

L'objecte de JavaScript Number és un objecte embolcall que permet treballar amb valors numèrics. Un objecte de tipus Number és creat quan es crida el constructor Number().

+ +

Constructor

+ +
new Number(valor);
+ +

Paràmetres

+ +
+
valor
+
El valor numèric de l'objecte que es pretèn crear.
+
+ +

Descripció

+ +

Els usos pricipals de l'objecte Number són:

+ +
    +
  • Si l'argument dona al constructor no es pot convertir en un nombre aquest retorna {{jsxref("Global_Objects/NaN", "NaN")}}.
  • +
  • Number pot ser emprat per a realitzar conversions de tipus sense necesitat de crear un nou objecte.
  • +
+ +

Propietats

+ +
+
{{jsxref("Number.EPSILON")}} {{experimental_inline}}
+
L'interval més petit entre dos nombres que es pot representar.
+
{{jsxref("Number.MAX_SAFE_INTEGER")}} {{experimental_inline}}
+
El nombre sencer més gran que JavaScript pot representar de forma segura (253 - 1).
+
{{jsxref("Number.MAX_VALUE")}}
+
El nombre positiu més gran que pot ésser representat.
+
{{jsxref("Number.MIN_SAFE_INTEGER")}} {{experimental_inline}}
+
El nombre més petit que JavaScript pot representar de forma segura (-(253 - 1)).
+
{{jsxref("Number.MIN_VALUE")}}
+
El nombre positiu més petit que pot ésser representat. És a dir, el nombre positiu més proper a zero sense arribar a ser zero.
+
{{jsxref("Number.NaN")}}
+
El valor especial "not a number".
+
{{jsxref("Number.NEGATIVE_INFINITY")}}
+
El valor especial que representa l'infinit negatiu. És retornat quan es produeix un overflow.
+
{{jsxref("Number.POSITIVE_INFINITY")}}
+
El valor especial que representa l'infinit positiu. És retornat quan es produeix un overflow.
+
{{jsxref("Number.prototype")}}
+
Permet l'adició de propietats a l'objecte Number.
+
+ +
{{jsOverrides("Function", "properties", "MAX_VALUE", "MIN_VALUE", "NaN", "NEGATIVE_INFINITY", "POSITIVE_INFINITY", "protoype")}}
+ +

Mètodes

+ +
+
{{jsxref("Number.isNaN()")}} {{experimental_inline}}
+
Determina si el valor proporcionat és NaN.
+
{{jsxref("Number.isFinite()")}} {{experimental_inline}}
+
Determina si el valor que representa és un valor finit.
+
{{jsxref("Number.isInteger()")}} {{experimental_inline}}
+
Determina si el valor que representa és un nombre i si es tracta d'un nombre sencer.
+
{{jsxref("Number.isSafeInteger()")}} {{experimental_inline}}
+
Determina si el tipus del valor proporcionat així com el valor en sí mateix és un nombre sencer segur (nombre entre -(253 - 1) i 253 - 1).
+
{{jsxref("Number.toInteger()")}} {{obsolete_inline}}
+
Utilitzat per evaluar el valor passat i convertir-lo a sencer (o bé {{jsxref("Global_Objects/Infinity", "Infinity")}}), però s'ha eliminat.
+
{{jsxref("Number.parseFloat()")}} {{experimental_inline}}
+
Fa la mateixa funció que el mètode {{jsxref("Global_Objects/parseFloat", "parseFloat")}} de l'objecte global.
+
{{jsxref("Number.parseInt()")}} {{experimental_inline}}
+
Fa la mateixa funció que el mètode {{jsxref("Global_Objects/parseInt", "parseInt")}} de l'objecte global.
+
+ +
{{jsOverrides("Function", "Methods", "isNaN")}}
+ +

Instàncies de Number

+ +

Totes les instàncies de Number hereten de {{jsxref("Number.prototype")}}. L'objecte prototype del constructor Number pot ser modificat per a afectar a totes les instàncies de Number.

+ +

Mètodes

+ +
{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/prototype', 'Methods')}}
+ +

Exemples

+ +

Exemple: Utilitzar l'objecte Number per a assignar valors numèrics a variables

+ +

L'exemple que trobareu a continuació utilitza les propietats de l'objecte Number per a assignar valors a diferents variables numèriques:

+ +
var biggestNum = Number.MAX_VALUE;
+var smallestNum = Number.MIN_VALUE;
+var infiniteNum = Number.POSITIVE_INFINITY;
+var negInfiniteNum = Number.NEGATIVE_INFINITY;
+var notANum = Number.NaN;
+
+ +

Exemple: Rang de sencers de Number

+ +

El següent exemple mostra el valor sencer mínim i màxim que pot ésser representat per un objecte de tipus Number (per a més detalls, referiu-vos a l'standard EcmaScript, capítol 8.5 El tipus Number):

+ +
var biggestInt = 9007199254740992;
+var smallestInt = -9007199254740992;
+
+ +

A l'interpretar dades que han sigut serialitzades amb JSON, els valors que queden fora d'aquest rang poden esdevenir corruptes quan l'intèrpret de JSON els forci esdevenir de tipus Number. Una forma d'evitar aquesta limitació és utilitzar una {{jsxref("Global_Objects/String", "String")}} per representar el nombre.

+ +

Exemple: Utilitzar Number per a convertir un objecte de tipus Date

+ +

L'exemple que trobareu a continuació converteix un objecte de tipus {{jsxref("Global_Objects/Date", "Date")}} a un tipus numèric tot utilitzant Number com una funció:

+ +
var d = new Date('December 17, 1995 03:24:00');
+print(Number(d));
+
+ +

Aquest exemple mostrarà "819199440000".

+ +

Exemple: Convertir cadenes de caràcters numèriques a nombres

+ +
Number("123")     // 123
+Number("")        // 0
+Number("0x11")    // 17
+Number("0b11")    // 3
+Number("0o11")    // 9
+Number("foo")     // NaN
+Number("100a")    // NaN
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7', 'Number')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number-objects', 'Number')}}{{Spec2('ES6')}}Afegides nous mètodes i propietats: ({{jsxref("Number.EPSILON", "EPSILON")}}, {{jsxref("Number.isFinite", "isFinite")}}, {{jsxref("Number.isInteger", "isInteger")}}, {{jsxref("Number.isNaN", "isNaN")}}, {{jsxref("Number.parseFloat", "parseFloat")}}, {{jsxref("Number.parseInt", "parseInt")}})
+ +

Compatibilitat amb navegadores

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Global_Objects/NaN", "NaN")}}
  • +
  • L'objecte global {{jsxref("Global_Objects/Math", "Math")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/isfinite/index.html b/files/ca/web/javascript/reference/global_objects/number/isfinite/index.html new file mode 100644 index 0000000000..21d9493bf8 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/isfinite/index.html @@ -0,0 +1,118 @@ +--- +title: Number.isFinite() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/isFinite +translation_of: Web/JavaScript/Reference/Global_Objects/Number/isFinite +--- +
{{JSRef}}
+ +

El mètode Number.isFinite() determina si el valor que se li passa com a argument és un nombre finit o no.

+ +

Sintaxi

+ +
Number.isFinite(valor)
+ +

Paràmetres

+ +
+
valor
+
El valor que es comprovarà si és finit.
+
+ +

Descripció

+ +

En comparació amb la funció global {{jsxref("Global_Objects/isFinite", "isFinite()")}}, aquest mètode no converteix el paràmetres a un nombre forçosament. Això implica que només valors de tipus number, que també siguin finits, retornaran true.

+ +

Exemples

+ +
Number.isFinite(Infinity);  // false
+Number.isFinite(NaN);       // false
+Number.isFinite(-Infinity); // false
+
+Number.isFinite(0);         // true
+Number.isFinite(2e64);      // true
+
+Number.isFinite('0');       // false, seria true si s'utilitzés la
+                            // funció global isFinite('0')
+
+ +

Polyfill

+ +
Number.isFinite = Number.isFinite || function(value) {
+    return typeof value === "number" && isFinite(value);
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.isfinite', 'Number.isInteger')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("19")}}{{CompatGeckoDesktop("16")}}{{CompatNo}}{{CompatOpera("15")}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("16")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ +
    +
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al que pertany.
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/isinteger/index.html b/files/ca/web/javascript/reference/global_objects/number/isinteger/index.html new file mode 100644 index 0000000000..ee524e91c2 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/isinteger/index.html @@ -0,0 +1,118 @@ +--- +title: Number.isInteger() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/isInteger +translation_of: Web/JavaScript/Reference/Global_Objects/Number/isInteger +--- +
{{JSRef}}
+ +

El mètode Number.isInteger() determina si el valor que se li passa és un nombre sencer.

+ +

Sintaxi

+ +
Number.isInteger(valor)
+ +

Paràmetres

+ +
+
valor
+
El valor que serà comprovat si és sencer o no.
+
+ +

Descripció

+ +

Si el valor passat és un nombre sencer, la funció retornarà true, en cas contrari es retorna false. Si el valor és {{jsxref("Global_Objects/NaN", "NaN")}} o infinit, es retorna false.

+ +

Exemples

+ +
Number.isInteger(0.1);     // false
+Number.isInteger(1);       // true
+Number.isInteger(Math.PI); // false
+Number.isInteger(-100000); // true
+Number.isInteger(NaN);     // false
+Number.isInteger(0);       // true
+Number.isInteger("10");    // false
+
+ +

Polyfill

+ +
Number.isInteger = Number.isInteger || function(value) {
+    return typeof value === "number" &&
+           isFinite(value) &&
+           Math.floor(value) === value;
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.isinteger', 'Number.isInteger')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("16")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("16")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al que pertany.
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/isnan/index.html b/files/ca/web/javascript/reference/global_objects/number/isnan/index.html new file mode 100644 index 0000000000..f6ba247306 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/isnan/index.html @@ -0,0 +1,129 @@ +--- +title: Number.isNaN() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/isNaN +translation_of: Web/JavaScript/Reference/Global_Objects/Number/isNaN +--- +
{{JSRef}}
+ +

El mètode Number.isNaN() determina si el valor passat com a argument és {{jsxref("Global_Objects/NaN", "NaN")}}. És una versió més robusta de la funció global {{jsxref("Global_Objects/isNaN", "isNaN()")}}.

+ +

Sintaxi

+ +
Number.isNaN(valor)
+ +

Paràmetres

+ +
+
valor
+
El valor que es comprovarà si és {{jsxref("Global_Objects/NaN", "NaN")}}.
+
+ +

Descripció

+ +

Degut als dos operadors d'igualtat, {{jsxref("Operators/Comparison_Operators", "==", "#Equality")}} i {{jsxref("Operators/Comparison_Operators", "===", "#Identity")}}, retornen  false quan es comprova si {{jsxref("Global_Objects/NaN", "NaN")}} és {{jsxref("Global_Objects/NaN", "NaN")}}, la funció Number.isNaN() esdevé necesària. Aquesta situació és diferent a totes les altres posibles comparacions a JavaScript.

+ +

En comparació a la funció global {{jsxref("Global_Objects/isNaN", "isNaN()")}} function, Number.isNaN() no sofreix el problema de convertir forçosament el paràmetre donat a un nombre. Això implica que ara és segur passar valors que normalment serien convertits a {{jsxref("Global_Objects/NaN", "NaN")}} però en realitat no tenen el mateix valor que {{jsxref("Global_Objects/NaN", "NaN")}}. Això també implica que només valors de tipus number, que també siguin {{jsxref("Global_Objects/NaN", "NaN")}}, retornaran true.

+ +

Exemples

+ +
Number.isNaN(NaN);        // true
+Number.isNaN(Number.NaN); // true
+Number.isNaN(0 / 0)       // true
+
+// exemples que esdevindrien true amb la funció global isNaN()
+Number.isNaN("NaN");      // false
+Number.isNaN(undefined);  // false
+Number.isNaN({});         // false
+Number.isNaN("blabla");   // false
+
+// Tots els següents retornen false
+Number.isNaN(true);
+Number.isNaN(null);
+Number.isNaN(37);
+Number.isNaN("37");
+Number.isNaN("37.37");
+Number.isNaN("");
+Number.isNaN(" ");
+
+ +

Polyfill

+ +
Number.isNaN = Number.isNaN || function(value) {
+    return typeof value === "number" && value !== value;
+}
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.isnan', 'Number.isnan')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("25")}}{{CompatGeckoDesktop("15")}}{{CompatNo}}{{CompatVersionUnknown}}9
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatUnknown}}{{CompatGeckoMobile("15")}}{{CompatNo}}{{CompatNo}}iOS 9+
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Global_Objects/Number", "Number")}}
  • +
  • {{jsxref("Global_Objects/isNaN", "isNaN()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/issafeinteger/index.html b/files/ca/web/javascript/reference/global_objects/number/issafeinteger/index.html new file mode 100644 index 0000000000..7570e7289d --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/issafeinteger/index.html @@ -0,0 +1,117 @@ +--- +title: Number.isSafeInteger() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/isSafeInteger +translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger +--- +
{{JSRef}}
+ +

El mètode Number.isSafeInteger() determina si el valor proporcionat és un nombre sencer segur. Un nombre sencer segur és aquell que

+ +
    +
  • pot ser representat de forma exacta per un nombre de doble precisió IEEE-754, i
  • +
  • la seva representació IEEE-754 no pot ser el resultat de arrodonir cap altre nombre sencer per a encabir-lo a la representació IEEE-754.
  • +
+ +

Per exemple, 253 - 1 és un nombre sencer segur: pot ser representat de forma exacta i cap altre nombre sencer arrodonit coincideix amb ell sota cap mode d'arrodoniment IEEE-754. Per contra, 253 no és un nombre sencer segur: pot ser representat de manera exacta en IEEE-754, però el nombre sencer 253 + 1 no pot ser representat directament en IEEE-754 sino que s'arrodoniria a 253 mitjançant un arrodoniment al sencer més proper i un arrodoniment cap al zero.

+ +

Els nombres sencers segurs consisteixen en tots els nombres sencers des de -(253 - 1) inclòs fins a 253 - 1 inclòs.

+ +

Sintaxi

+ +
Number.isSafeInteger(valor)
+ +

Paràmetres

+ +
+
valor
+
El valor a ser testat com a nombre sencer segur.
+
+ +

Exemples

+ +
Number.isSafeInteger(3);                    // true
+Number.isSafeInteger(Math.pow(2, 53));      // false
+Number.isSafeInteger(Math.pow(2, 53) - 1);  // true
+Number.isSafeInteger(NaN);                  // false
+Number.isSafeInteger(Infinity);             // false
+Number.isSafeInteger('3');                  // false
+Number.isSafeInteger(3.1);                  // false
+Number.isSafeInteger(3.0);                  // true
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.issafeinteger', 'Number.isSafeInteger')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("32")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("32")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al que pertany.
  • +
  • {{jsxref("Number.MIN_SAFE_INTEGER")}}
  • +
  • {{jsxref("Number.MAX_SAFE_INTEGER")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/max_safe_integer/index.html b/files/ca/web/javascript/reference/global_objects/number/max_safe_integer/index.html new file mode 100644 index 0000000000..02483b41ac --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/max_safe_integer/index.html @@ -0,0 +1,100 @@ +--- +title: Number.MAX_SAFE_INTEGER +slug: Web/JavaScript/Referencia/Objectes_globals/Number/MAX_SAFE_INTEGER +translation_of: Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER +--- +
{{JSRef("Global_Objects", "Number")}}
+ +

Resum

+ +

La constant Number.MAX_SAFE_INTEGER representa el valor màxim que JavaScript pot representar de forma segura (253 - 1).

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

La constant MAX_SAFE_INTEGER te un valor de 9007199254740991. El raonament darrera d'aquest nombre és que JavaScript utilitza un format de nombres de coma flotant de doble precisió, tal com s'especifica al IEEE 754 i en conseqüència només pot representar de forma segura els nombres entre -(253 - 1) i 253 - 1.

+ +

Degut a que MAX_SAFE_INTEGER és una propietat estàtica de {{jsxref("Global_Objects/Number", "Number")}}, sempre s'accedeix de mitjançant Number.MAX_SAFE_INTEGER en comptes de com una propietat d'un objecte {{jsxref("Global_Objects/Number", "Number")}} instanciat.

+ +

Exemples

+ +
Number.MAX_SAFE_INTEGER // 9007199254740991
+Math.pow(2, 53) - 1     // 9007199254740991
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.max_safe_integer', 'Number.MAX_SAFE_INTEGER')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("34")}}{{CompatGeckoDesktop("31")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("32")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.MIN_SAFE_INTEGER")}}
  • +
  • {{jsxref("Number.isSafeInteger()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/max_value/index.html b/files/ca/web/javascript/reference/global_objects/number/max_value/index.html new file mode 100644 index 0000000000..453ad01c23 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/max_value/index.html @@ -0,0 +1,118 @@ +--- +title: Number.MAX_VALUE +slug: Web/JavaScript/Referencia/Objectes_globals/Number/MAX_VALUE +translation_of: Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE +--- +
+
{{JSRef("Global_Objects", "Number")}}
+
+ +

Resum

+ +

La propietat Number.MAX_VALUE representa el valor numèric màxim representable en JavaScript.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

La propietat MAX_VALUE té un valor aproximadament de 1.79E+308. Els valors més grans que MAX_VALUE són representats com a "Infinity".

+ +

Ja que MAX_VALUE és una propietat estàtica de {{jsxref("Global_Objects/Number", "Number")}}, sempre es fa servir com a Number.MAX_VALUE, en comptes d'una propietat de l'objecte {{jsxref("Global_Objects/Number", "Number")}} que s'ha creat.

+ +

Exemples

+ +

Exemple: Fer servir MAX_VALUE

+ +

El codi següent multiplica dos valors numèrics. Si el resultat és menor o igual a  MAX_VALUE, es crida la funció func1; del contrari, es crida la funció func2.

+ +
if (num1 * num2 <= Number.MAX_VALUE) {
+  func1();
+} else {
+  func2();
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.2', 'Number.MAX_VALUE')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.max_value', 'Number.MAX_VALUE')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Supor bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.MIN_VALUE")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/min_safe_integer/index.html b/files/ca/web/javascript/reference/global_objects/number/min_safe_integer/index.html new file mode 100644 index 0000000000..861ec666ec --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/min_safe_integer/index.html @@ -0,0 +1,100 @@ +--- +title: Number.MIN_SAFE_INTEGER +slug: Web/JavaScript/Referencia/Objectes_globals/Number/MIN_SAFE_INTEGER +translation_of: Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER +--- +
{{JSRef("Global_Objects", "Number")}}
+ +

Resum

+ +

La constant Number.MIN_SAFE_INTEGER representa el nombre sencer segur més petit a JavaScript (-(253 - 1)).

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

La constant MIN_SAFE_INTEGER te un valor de -9007199254740991. El raonament darrera d'aquest nombre és que JavaScript utilitza un format de nombres de coma flotant de doble precisió, tal com s'especifica al IEEE 754 i en conseqüència només pot representar de forma segura els nombres entre -(253 - 1) i 253 - 1.

+ +

Degut a que MIN_SAFE_INTEGER és una propietat estàtica de {{jsxref("Global_Objects/Number", "Number")}}, sempre s'accedeix de mitjançant Number.MIN_SAFE_INTEGER en comptes de com una propietat d'un objecte {{jsxref("Global_Objects/Number", "Number")}} instanciat.

+ +

Exemples

+ +
Number.MIN_SAFE_INTEGER // -9007199254740991
+-(Math.pow(2, 53) - 1)  // -9007199254740991
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.min_safe_integer', 'Number.MIN_SAFE_INTEGER')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("34")}}{{CompatGeckoDesktop("31")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("32")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.MAX_SAFE_INTEGER")}}
  • +
  • {{jsxref("Number.isSafeInteger()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/min_value/index.html b/files/ca/web/javascript/reference/global_objects/number/min_value/index.html new file mode 100644 index 0000000000..42af185360 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/min_value/index.html @@ -0,0 +1,118 @@ +--- +title: Number.MIN_VALUE +slug: Web/JavaScript/Referencia/Objectes_globals/Number/MIN_VALUE +translation_of: Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE +--- +
{{JSRef("Global_Objects", "Number")}}
+ +

Resum

+ +

La propietat Number.MIN_VALUE representa el valor numèric positiu més petit representable en JavaScript.

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

La propietat MIN_VALUE és el nombre més proper a 0, però no és el nombre més negatiu que es pot representar en JavaScript.

+ +

MIN_VALUE té un valor aproximat de 5e-324. Els valors més petits que MIN_VALUE ("underflow values") són convertits a 0.

+ +

Ja que MIN_VALUE és una propietat estàtica de {{jsxref("Global_Objects/Number", "Number")}}, sempre s'usa com a Number.MIN_VALUE, i no com una propietat de l'objecte {{jsxref("Global_Objects/Number", "Number")}} que heu creat.

+ +

Exemples

+ +

Exemple: Fer servir MIN_VALUE

+ +

El codi següent divideix dos valors numèrics. Si el valor és més gran o igual a MIN_VALUE, la funció func1 és crida; del contrari, es crida la funció func2.

+ +
if (num1 / num2 >= Number.MIN_VALUE) {
+  func1();
+} else {
+  func2();
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.3', 'Number.MIN_VALUE')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.min_value', 'Number.MIN_VALUE')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterístcaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.MAX_VALUE")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/nan/index.html b/files/ca/web/javascript/reference/global_objects/number/nan/index.html new file mode 100644 index 0000000000..7c6f3f1440 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/nan/index.html @@ -0,0 +1,100 @@ +--- +title: Number.NaN +slug: Web/JavaScript/Referencia/Objectes_globals/Number/NaN +translation_of: Web/JavaScript/Reference/Global_Objects/Number/NaN +--- +
{{JSRef("Global_Objects", "Number")}}
+ +

Resum

+ +

La propietat Number.NaN representa Not-A-Number (quelcom que no és un nombre). Equivalent a {{jsxref("Global_Objects/NaN", "NaN")}}.

+ +

No és necesari crear un objecte de tipus {{jsxref("Global_Objects/Number", "Number")}} per a accedir a aquesta propietat estàtica (utilitzeu Number.NaN).

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.4', 'Number.NaN')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.nan', 'Number.NaN')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • L'objecte global {{jsxref("Global_Objects/NaN", "NaN")}}.
  • +
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al qual pertany.
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/negative_infinity/index.html b/files/ca/web/javascript/reference/global_objects/number/negative_infinity/index.html new file mode 100644 index 0000000000..3fb4c1d150 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/negative_infinity/index.html @@ -0,0 +1,134 @@ +--- +title: Number.NEGATIVE_INFINITY +slug: Web/JavaScript/Referencia/Objectes_globals/Number/NEGATIVE_INFINITY +translation_of: Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY +--- +
{{JSRef("Global_Objects", "Number")}}
+ +

Resum

+ +

La propietat Number.NEGATIVE_INFINITY representa el valor infinit negatiu.

+ +

No fa falta crear un objecte {{jsxref("Global_Objects/Number", "Number")}} per accedir a aquesta propietat estàtica (feu servir Number.NEGATIVE_INFINITY).

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

El valor de Number.NEGATIVE_INFINITY és el mateix que el valor negatiu de la propietat de l'objecte global {{jsxref("Global_Objects/Infinity", "Infinity")}}.

+ +

Aquest valor es comporta de forma una mica diferent a l'infinit matemàtic:

+ +
    +
  • Qualsevol valor positiu, incloent {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}, multiplicat per NEGATIVE_INFINITY és NEGATIVE_INFINITY.
  • +
  • Qualsevol calor negatiu, incloent NEGATIVE_INFINITY, multiplicat per NEGATIVE_INFINITY és {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}.
  • +
  • Zero multiplicat per NEGATIVE_INFINITY és {{jsxref("Global_Objects/NaN", "NaN")}}.
  • +
  • {{jsxref("Global_Objects/NaN", "NaN")}} multiplicat per NEGATIVE_INFINITY és {{jsxref("Global_Objects/NaN", "NaN")}}.
  • +
  • NEGATIVE_INFINITY, dividit per qualsevol valor negatiu excepte NEGATIVE_INFINITY, és {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}.
  • +
  • NEGATIVE_INFINITY, dividit per qualsevol valor positiu excepte {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}, és NEGATIVE_INFINITY.
  • +
  • NEGATIVE_INFINITY, dividit tant per NEGATIVE_INFINITY  com per {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}, és {{jsxref("Global_Objects/NaN", "NaN")}}.
  • +
  • Qualsevol nombre dividit per NEGATIVE_INFINITY és zero.
  • +
+ +

Es pot fer serivir la propietat Number.NEGATIVE_INFINITY per indicar una condició d'error que retorna un nombre finit en cas d'èxit. Fixeu-vos, però, que {{jsxref("Global_Objects/isFinite", "isFinite")}} seria més apropiat en aquest cas.

+ +

Exemples

+ +

Exemple: Fer servir NEGATIVE_INFINITY

+ +

En l'exemple següent, a la variable smallNumber se li assigna un valor que és més petit que el valor mínim. Quan la delcaració {{jsxref("Statements/if...else", "if")}} s'executa, smallNumber té el valor -Infinity, així smallNumber s'estableix com a un valor més manegable abans de prosseguir.

+ +
var smallNumber = (-Number.MAX_VALUE) * 2;
+
+if (smallNumber == Number.NEGATIVE_INFINITY) {
+  smallNumber = returnFinite();
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.5', 'Number.NEGATIVE_INFINITY')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-number.negative_infinity', 'Number.NEGATIVE_INFINITY')}}{{Spec2('ES6')}}
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.POSITIVE_INFINITY")}}
  • +
  • {{jsxref("Number.isFinite()")}}
  • +
  • {{jsxref("Global_Objects/Infinity", "Infinity")}}
  • +
  • {{jsxref("Global_Objects/isFinite", "isFinite()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/parsefloat/index.html b/files/ca/web/javascript/reference/global_objects/number/parsefloat/index.html new file mode 100644 index 0000000000..cd3494b7ac --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/parsefloat/index.html @@ -0,0 +1,103 @@ +--- +title: Number.parseFloat() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/parseFloat +translation_of: Web/JavaScript/Reference/Global_Objects/Number/parseFloat +--- +
{{JSRef}}
+ +

El mètode Number.parseFloat() interpreta el string passat com a argument i retorna un nombre de punt flotant. Aquest mètode es comporta de la mateixa manera que la funció global {{jsxref("Global_Objects/parseFloat", "parseFloat()")}} i és part del ECMAScript 6 (el seu motiu d'existència és la modularització dels globals).

+ +

Sintaxi

+ +
Number.parseFloat(string)
+ +

Paràmetres

+ +
+
string
+
Un string que representa el valor a interpretar.
+
+ +

Descripció

+ +

Vegeu {{jsxref("Global_Objects/parseFloat", "parseFloat()")}} per a més detalls i exemples.

+ +

Polyfill

+ +
Number.parseFloat = parseFloat;
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.parsefloat', 'Number.parseFloat')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • L'objecte {{jsxref("Number")}} al que pertany.
  • +
  • La funció global {{jsxref("Global_Objects/parseFloat", "parseFloat()")}}.
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/parseint/index.html b/files/ca/web/javascript/reference/global_objects/number/parseint/index.html new file mode 100644 index 0000000000..2ef9597d11 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/parseint/index.html @@ -0,0 +1,102 @@ +--- +title: Number.parseInt() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/parseInt +translation_of: Web/JavaScript/Reference/Global_Objects/Number/parseInt +--- +
{{JSRef}}
+ +

El mètode Number.parseInt() interpreta un argument string i retorna un nombre sencer de la base especificada.

+ +

Sintaxi

+ +
Number.parseInt(string[, radix])
+ +

Paràmetres

+ +
{{page("ca/docs/Web/JavaScript/Reference/Global_Objects/parseInt", "Parameters")}}
+ +

Descripció

+ +

Aquest mètode és exactament la mateixa funció que la funció global {{jsxref("Global_Objects/parseInt", "parseInt()")}}:

+ +
Number.parseInt === parseInt; // true
+ +

i és part de l'ECMAScript 6 (el seu propòsit és la modularització de les globals). Vegeu jsxref("Global_Objects/parseInt", "parseInt()")}} per a més detalls i exemples.

+ +

Polyfill

+ +
Number.parseInt = parseInt;
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.parseint', 'Number.parseInt')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • L'objecte {{jsxref("Number")}} al que pertany.
  • +
  • La funció global {{jsxref("Global_Objects/parseInt", "parseInt()")}}.
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/positive_infinity/index.html b/files/ca/web/javascript/reference/global_objects/number/positive_infinity/index.html new file mode 100644 index 0000000000..234a779fd1 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/positive_infinity/index.html @@ -0,0 +1,137 @@ +--- +title: Number.POSITIVE_INFINITY +slug: Web/JavaScript/Referencia/Objectes_globals/Number/POSITIVE_INFINITY +translation_of: Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY +--- +
{{JSRef}}
+ +

La propietat Number.POSITIVE_INFINITY representa el valor infinit negatiu.

+ +

No fa falta crear un objecte {{jsxref("Global_Objects/Number", "Number")}} per accedir a aquesta propietat estàtica (feu servir Number.POSITIVE_INFINITY).

+ +
{{js_property_attributes(0, 0, 0)}}
+ +

Descripció

+ +

El valor de Number.POSITIVE_INFINITY és el mateix que el valor negatiu de la propietat de l'objecte global {{jsxref("Infinity")}}.

+ +

 

+ +

Aquest valor es comporta de forma una mica diferent a l'infinit matemàtic:

+ +

Qualsevol valor positiu, incloent POSITIVE_INFINITY, multiplicat per POSITIVE_INFINITY és POSITIVE_INFINITY.

+ +
    +
  • Qualsevol calor negatiu, incloent NEGATIVE_INFINITY, multiplicat per POSITIVE_INFINITY és {{jsxref("Number.NEGATIVE_INFINITY", "POSITIVE_INFINITY")}}.
  • +
  • Zero multiplicat per POSITIVE_INFINITY és {{jsxref("NaN")}}.
  • +
  • {{jsxref("Global_Objects/NaN", "NaN")}} multiplicat perPOSITIVE_INFINITY és {{jsxref("NaN")}}.
  • +
  • POSITIVE_INFINITY, dividit per quaulsevol valor negatiu execepte {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}}, és {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}}.
  • +
  • POSITIVE_INFINITY, dividit per un valor positiu a excepció de POSITIVE_INFINITY, és POSITIVE_INFINITY.
  • +
  • POSITIVE_INFINITY, dividit per {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}} o bé per POSITIVE_INFINITY, és {{jsxref("NaN")}}.
  • +
  • Quasevol nombre dividit per POSITIVE_INFINITY és Zero.
  • +
+ +

Es pot fer serivir la propietat Number.POSITIVE_INFINITY per indicar una condició d'error que retorna un nombre finit en cas d'èxit. Fixeu-vos, però, que {{jsxref("isFinite")}} seria més apropiat en aquest cas.

+ +

Exemples

+ +

Utilitzar POSITIVE_INFINITY

+ +

In the following example, the variable bigNumber is assigned a value that is larger than the maximum value. When the {{jsxref("Statements/if...else", "if")}} statement executes, bigNumber has the value Infinity, so bigNumber is set to a more manageable value before continuing.

+ +

A l'exemple següent, a la variable nombrePetit se li assigna un valor que és més gran que el valor màxim. Quan la declaració {{jsxref("Statements/if...else", "if")}} s'executa, nombrePetit té el valor Infinity, així nombrePetit s'estableix com a un valor més manegable abans de prosseguir.

+ +
var nombrePetit = Number.MAX_VALUE * 2;
+
+if (nombrePetit == Number.POSITIVE_INFINITY) {
+  nombrePetit= returnFinite();
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.6', 'Number.POSITIVE_INFINITY')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.positive_infinity', 'Number.POSITIVE_INFINITY')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.NEGATIVE_INFINITY")}}
  • +
  • {{jsxref("Number.isFinite()")}}
  • +
  • {{jsxref("Infinity")}}
  • +
  • {{jsxref("Global_Objects/isFinite", "isFinite()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/toexponential/index.html b/files/ca/web/javascript/reference/global_objects/number/toexponential/index.html new file mode 100644 index 0000000000..69ca3478ac --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/toexponential/index.html @@ -0,0 +1,136 @@ +--- +title: Number.prototype.toExponential() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/toExponential +translation_of: Web/JavaScript/Reference/Global_Objects/Number/toExponential +--- +
{{JSRef}}
+ +

El mètode toExponential() retorna un string que representa l'objecte de tipus Number en notació exponencial.

+ +

Sintaxi

+ +
numObj.toExponential([dígitsDecimals])
+ +

Paràmetres

+ +
+
dígitsDecimals
+
Opcional. Un nombre sencer que indica el nombre de dígits decimals que s'utilitzaran. Si no s'especifica s'utilitzaran per defecte tants dígits decimals com facin falta per a acomodar el nombre.
+
+ +

Valor retornat

+ +

Un string que representa l'objecte {{jsxref("Number")}} en notació exponencial amb un dígit a l'esquerra del punt decimal, i arrodonit a dígitsDecimals després del punt decimal. Si s'omet el paràmetre fractionDigits s'utilitzaran tants dígits decimals com facin falta per a acomodar el nombre.

+ +

Si s'utilitza el mètode toExponential() en un literal numèric i el literal numèric no té exponent ni punt decimal, deixeu un espai abans del punt que precedeix a la crida del mètode per a evitar que el punt s'interpreti com a punt decimal.

+ +

Si un nombre té més dígits dels que s'especifiquen al paràmetre dígitsDecimals el nombre s'arrodoneix al nombre més proper representable pel nombre de dígits dígitsDecimals. Vegeu la discussió sobre arrodoniment a la descripció del mètode {{jsxref("Number.prototype.toFixed", "toFixed()")}}, que també s'aplica al mètode toExponential().

+ +

Excepcions llençades

+ +
+
{{jsxref("RangeError")}}
+
Si el valor de dígitsDecimals és massa petit o massa gran. Els valors acceptats estan entre 0 i 20, ambdos inclusius, i no llençaran per tant l'excepció RangeError. Les implementacions poden opcionalment donar suport per a valors més grans.
+
{{jsxref("TypeError")}}
+
Si es crida aquest mètode i se li passa un paràmetre que no és de tipus Number.
+
+ +

Exemples

+ +

Utilitzar toExponential

+ +
var numObj = 77.1234;
+
+console.log(numObj.toExponential());  // escriu 7.71234e+1
+console.log(numObj.toExponential(4)); // escriu 7.7123e+1
+console.log(numObj.toExponential(2)); // escriu 7.71e+1
+console.log(77.1234.toExponential()); // escriu 7.71234e+1
+console.log(77 .toExponential());     // escriu 7.7e+1
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a 1.5.
{{SpecName('ES5.1', '#sec-15.7.4.6', 'Number.prototype.toExponential')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.toexponential', 'Number.prototype.toExponential')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.prototype.toFixed()")}}
  • +
  • {{jsxref("Number.prototype.toPrecision()")}}
  • +
  • {{jsxref("Number.prototype.toString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/tofixed/index.html b/files/ca/web/javascript/reference/global_objects/number/tofixed/index.html new file mode 100644 index 0000000000..8df53aafe3 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/tofixed/index.html @@ -0,0 +1,135 @@ +--- +title: Number.prototype.toFixed() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/toFixed +translation_of: Web/JavaScript/Reference/Global_Objects/Number/toFixed +--- +
{{JSRef}}
+ +

El mètode toFixed() formateja un nombre utilitzant notació de coma fixa.

+ +

Sintaxi

+ +
numObj.toFixed([dígits])
+ +

Paràmetres

+ +
+
dígits
+
Opcional. El nombre de dígits a utilitzar després del punt decimal; aquest paràmetre pot rebre valors entre 0 i 20, ambdós inclusius, i les implementacions poden opcionalment donar suport per a valors més grans. Si s'omet aquest argument s'utilitza un valor de 0 per defecte.
+
+ +

Valor retornat

+ +

Una representació de numObj en forma de string que no utilitza notació exponencial i té exactament dígits digits després del punt decimal. El nombre s'arrodoneix en cas que sigui necesari, així com la part fraccionaria s'omple amb zeros en cas necesari. Si numObj és major que 1e+21, aquest mètode retornarà un string en notació exponencial, proporcionat pel mètode {{jsxref("Number.prototype.toString()")}}.

+ +

Excepcions llençades

+ +
+
{{jsxref("RangeError")}}
+
Si el valor de dígits és massa petit o massa gran. Els valors acceptats estan entre 0 i 20, ambdos inclusius, i no llençaran per tant l'excepció {{jsxref("RangeError")}}. Les implementacions poden opcionalment donar suport per a valors més grans.
+
{{jsxref("TypeError")}}
+
Si es crida aquest mètode i se li passa un paràmetre que no és de tipus {{jsxref( "Number")}}.
+
+ +

Exemples

+ +

Utilitzar toFixed

+ +
var numObj = 12345.6789;
+
+numObj.toFixed();       // Retorna '12346': recalquem l'arrodoniment, no hi ha part decimal
+numObj.toFixed(1);      // Retorna '12345.7': recalquem l'arrodoniment
+numObj.toFixed(6);      // Retorna '12345.678900': recalquem els zeros afegits
+(1.23e+20).toFixed(2);  // Retorna '123000000000000000000.00'
+(1.23e-10).toFixed(2);  // Retorna '0.00'
+2.34.toFixed(1);        // Retorna '2.3'
+-2.34.toFixed(1);       // Retorna -2.3 (degut a la precedència d'operadors, nombres literals negatius no retornen un string...)
+(-2.34).toFixed(1);     // Retorna'-2.3' (...a no ser que s'utilitzin parèntesi)
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.5.
{{SpecName('ES5.1', '#sec-15.7.4.5', 'Number.prototype.toFixed')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.tofixed', 'Number.prototype.toFixed')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.prototype.toExponential()")}}
  • +
  • {{jsxref("Number.prototype.toPrecision()")}}
  • +
  • {{jsxref("Number.prototype.toString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/toprecision/index.html b/files/ca/web/javascript/reference/global_objects/number/toprecision/index.html new file mode 100644 index 0000000000..0af5875e7f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/toprecision/index.html @@ -0,0 +1,134 @@ +--- +title: Number.prototype.toPrecision() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/toPrecision +translation_of: Web/JavaScript/Reference/Global_Objects/Number/toPrecision +--- +
{{JSRef}}
+ +

El mètode toPrecision() retorna un string que representa l'objecte {{jsxref("Number")}} amb la precisió especificada.

+ +

Sintaxi

+ +
numObj.toPrecision([precisió])
+ +

Paràmetres

+ +
+
precisió
+
Opional. Un nombre sencer que indica el nombre de dígits significatius.
+
+ +

Valor retornat

+ +

Un string que representa un objecte {{jsxref("Number")}} en notació de punt fix o bé en notació exponencial, arrodonit a precisió dígits significatius. Vegeu la discussió sobre arrodoniment a la descripció del mètode {{jsxref("Number.prototype.toFixed()")}}, que també s'aplica a toPrecision().

+ +

Si s'omet l'argument precisió, es comporta com  {{jsxref("Number.prototype.toString()")}}. Si l'argument precisió no és un nombre sencer, aquest s'arrodoneix al nombre sencer més proper.

+ +

Excepcions llençades

+ +
+
{{jsxref("Global_Objects/RangeError", "RangeError")}}
+
Si el valor de precisió no està entre 1 i 100 (ambdós inclusius), es llença un RangeError. Les implementacions poden opcionalment donar suport per a valors més grans o petits. ECMA-262 tan sols requereix una precisió de fins a 21 dígits significatius.
+
+ +

Exemples

+ +

Utilitzar toPrecision

+ +
var numObj = 5.123456;
+
+console.log(numObj.toPrecision());    // escriu 5.123456
+console.log(numObj.toPrecision(5));   // escriu 5.1235
+console.log(numObj.toPrecision(2));   // escriu 5.1
+console.log(numObj.toPrecision(1));   // escriu 5
+
+// fixeu-vos que la notació exponencial pot retornar-se en algunes circumstàncies
+console.log((1234.5).toPrecision(2)); // escriu 1.2e+3
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a 1.5.
{{SpecName('ES5.1', '#sec-15.7.4.7', 'Number.prototype.toPrecision')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.toprecision', 'Number.prototype.toPrecision')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.prototype.toFixed()")}}
  • +
  • {{jsxref("Number.prototype.toExponential()")}}
  • +
  • {{jsxref("Number.prototype.toString()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/number/tostring/index.html b/files/ca/web/javascript/reference/global_objects/number/tostring/index.html new file mode 100644 index 0000000000..7381fc97ac --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/number/tostring/index.html @@ -0,0 +1,141 @@ +--- +title: Number.prototype.toString() +slug: Web/JavaScript/Referencia/Objectes_globals/Number/toString +translation_of: Web/JavaScript/Reference/Global_Objects/Number/toString +--- +
{{JSRef}}
+ +

El mètode toString() retorna un string que representa l'objecte {{jsxref("Number")}} especificat.

+ +

Sintaxi

+ +
objecteNum.toString([base])
+ +

Paràmetres

+ +
+
base
+
Opcional. Un nombre sencer entre 2 i 36 que indica la base a utilitzar a l'hora de representar valors numèrics.
+
+ +

Errors llençats

+ +
+
{{jsxref("RangeError")}}
+
Si toString() rep una base que no estigui entre 2 i 36, es llença un {{jsxref("RangeError")}}.
+
+ +

Descripció

+ +

L'objecte {{jsxref("Number")}} sobreescriu el mètode toString() de l'objecte {{jsxref("Object")}}; no hereta {{jsxref("Object.prototype.toString()")}}. Per a objectes {{jsxref( "Number")}}, el mètode toString() retorna una representació en forma de string de l'objecte, utilitzant la base especificada.

+ +

El mètode toString() interpreta el primer argument donat, i intenta retornar una representació en forma de string tot utilitzant la base proporcionada. Per a bases majors que 10, les lletres del alfabet indiquen numerals majors que 9. Per exemple, per a nombres hexadecimals (en base 16), s'utilitzen les lletres de la a a la f.

+ +

Si no s'especifica la base, s'utilitza 10 com a base.

+ +

Si objecteNum és negatiu, es conserva el signe. Això s'aplica fins i tot si la base és 2; el string retornat és la representació binària positiva de objecteNum precedida per un signe -, no s'utilitza el complement a dos de objecteNum.

+ +

Exemples

+ +

Utilitzar toString

+ +
var count = 10;
+
+console.log(count.toString());    // mostra '10'
+console.log((17).toString());     // mostra '17'
+
+var x = 6;
+
+console.log(x.toString(2));       // mostra '110'
+console.log((254).toString(16));  // mostra 'fe'
+
+console.log((-10).toString(2));   // mostra '-1010'
+console.log((-0xff).toString(2)); // mostra '-11111111'
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.4.2', 'Number.prototype.tostring')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.tostring', 'Number.prototype.tostring')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Number.prototype.toFixed()")}}
  • +
  • {{jsxref("Number.prototype.toExponential()")}}
  • +
  • {{jsxref("Number.prototype.toPrecision()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/object/prototype/index.html b/files/ca/web/javascript/reference/global_objects/object/prototype/index.html deleted file mode 100644 index 9451ccfefe..0000000000 --- a/files/ca/web/javascript/reference/global_objects/object/prototype/index.html +++ /dev/null @@ -1,215 +0,0 @@ ---- -title: Object.prototype -slug: Web/JavaScript/Reference/Global_Objects/Object/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/Object -translation_of_original: Web/JavaScript/Reference/Global_Objects/Object/prototype ---- -
{{JSRef}}
- -

La propietat Object.prototype representa el prototipus per a {{jsxref("Object")}}.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

A JavaScript, tots els objectes hereten de {{jsxref("Object")}}; tots els objectes hereten els mètodes i propietats de Object.prototype, tot i que es poden sobreescriure (excepte un Object amb prototipus null, és a dir, Object.create(null)). Per exemple, altres prototipus de constructors sobreescriuen la propietat constructor i ofereixen els seus propis mètodes {{jsxref("Object.prototype.toString()", "toString()")}}. Els canvis al prototipus Object es propaguen a tots els objectes a no ser que les propietats i mètodes que reben aquests canvis hagin sigut sobreescrites més avall a la cadena de prototipus.

- -

Propietats

- -
-
{{jsxref("Object.prototype.constructor")}}
-
Especifica la funció que ha creat el prototipus de l'objecte.
-
{{jsxref("Object.prototype.__proto__")}} {{non-standard_inline}}
-
Referencia l'objecte utilitzat com a prototipus quan aquest objecte va ser instanciat.
-
{{jsxref("Object.prototype.__noSuchMethod__")}} {{non-standard_inline}}
-
Permet definir una funció que serà executada quan es cridi com mètode un membre no definit.
-
{{jsxref("Object.prototype.__count__")}} {{obsolete_inline}}
-
Retornava el nombre de propietats enumerables que hi hagués a un objecte definit per l'usuari. S'ha eliminat.
-
{{jsxref("Object.prototype.__parent__")}} {{obsolete_inline}}
-
Referenciava el context d'un objecte. S'ha eliminat.
-
- -

Mètodes

- -
-
{{jsxref("Object.prototype.__defineGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
-
Associa una funció a una propietat que, quan s'accedeix, executa aquesta funció i retorna el seu valor.
-
{{jsxref("Object.prototype.__defineSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
-
Associa una funció a una propietat que, quan s'assigna, executa aquesta funció que modifica la propietat.
-
{{jsxref("Object.prototype.__lookupGetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
-
Retorna una funció associada a la propietat especificada pel mètode {{jsxref("Object.defineGetter", "__defineGetter__")}}.
-
{{jsxref("Object.prototype.__lookupSetter__()")}} {{non-standard_inline}} {{deprecated_inline}}
-
Retorna a funció associada a la propietat especificada pel mètode {{jsxref("Object.defineSetter", "__defineSetter__")}}.
-
{{jsxref("Object.prototype.hasOwnProperty()")}}
-
Retorna un booleà que indica si l'objecte conté la propietat especificada com una propietat pròpia d'ell mateix en comptes d'heretar-la a través de la cadena de prototipus.
-
{{jsxref("Object.prototype.isPrototypeOf()")}}
-
Retorna un booleà que indica si l'objecte espeicfifcat pertany a la cadena de prototipus de l'objecte sobre el que es crida aquest mètode.
-
{{jsxref("Object.prototype.propertyIsEnumerable()")}}
-
Retorna un booleà que indica si està activat l'atribut intern DontEnum de l'ECMAScript.
-
{{jsxref("Object.prototype.toSource()")}} {{non-standard_inline}}
-
Retorna un string que conté cofi font que defineix un literal d'objecte que representa l'objecte sobre el que s'executa aquest mètode; aquest valor pot utilitzar-se per a crear un nou objecte.
-
{{jsxref("Object.prototype.toLocaleString()")}}
-
Crida el mètode {{jsxref("Object.toString", "toString()")}}.
-
{{jsxref("Object.prototype.toString()")}}
-
Retorna una representació d'aquest objecte en forma de string.
-
{{jsxref("Object.prototype.unwatch()")}} {{non-standard_inline}}
-
Esborra un watchpoint d'una propietat de l'objecte.
-
{{jsxref("Object.prototype.valueOf()")}}
-
Retorna el valor primitiu de l'objecte especificat.
-
{{jsxref("Object.prototype.watch()")}} {{non-standard_inline}}
-
Afegeix un watchpoint a una propietat de l'objecte.
-
{{jsxref("Object.prototype.eval()")}} {{obsolete_inline}}
-
Evaluava un string de codi font JavaScript dins el context de l'objecte especificat. S'ha eliminat.
-
- -

Exemples

- -

Degut a que JavaScript no res semblant a subclasses d'objectes, la propietat prototype és una bona forma d'utilitzar algunes funcions que fan d'objectes com a "classe base". Per exemple:

- -
var Person = function() {
-  this.canTalk = true;
-};
-
-Person.prototype.greet = function() {
-  if (this.canTalk) {
-    console.log('Hi, I am ' + this.name);
-  }
-};
-
-var Employee = function(name, title) {
-  Person.call(this);
-  this.name = name;
-  this.title = title;
-};
-
-Employee.prototype = Object.create(Person.prototype);
-Employee.prototype.constructor = Employee;
-
-Employee.prototype.greet = function() {
-  if (this.canTalk) {
-    console.log('Hi, I am ' + this.name + ', the ' + this.title);
-  }
-};
-
-var Customer = function(name) {
-  Person.call(this);
-  this.name = name;
-};
-
-Customer.prototype = Object.create(Person.prototype);
-Customer.prototype.constructor = Customer;
-
-var Mime = function(name) {
-  Person.call(this);
-  this.name = name;
-  this.canTalk = false;
-};
-
-Mime.prototype = Object.create(Person.prototype);
-Mime.prototype.constructor = Mime;
-
-var bob = new Employee('Bob', 'Builder');
-var joe = new Customer('Joe');
-var rg = new Employee('Red Green', 'Handyman');
-var mike = new Customer('Mike');
-var mime = new Mime('Mime');
-
-bob.greet();
-// Hi, I am Bob, the Builder
-
-joe.greet();
-// Hi, I am Joe
-
-rg.greet();
-// Hi, I am Red Green, the Handyman
-
-mike.greet();
-// Hi, I am Mike
-
-mime.greet();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.2.3.1', 'Object.prototype')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-object.prototype', 'Object.prototype')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

 Vegeu també

- - diff --git a/files/ca/web/javascript/reference/global_objects/parsefloat/index.html b/files/ca/web/javascript/reference/global_objects/parsefloat/index.html new file mode 100644 index 0000000000..570fa6b63f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/parsefloat/index.html @@ -0,0 +1,166 @@ +--- +title: parseFloat() +slug: Web/JavaScript/Referencia/Objectes_globals/parseFloat +translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat +--- +
+
+
{{jsSidebar("Objects")}}
+
+
+ +

La funció parseFloat() interpreta un argument de tipus cadena i retorna un nombre decimal amb coma flotant

+ +

Sintaxi

+ +
parseFloat(cadena)
+ +

Paràmetres

+ +
+
cadena
+
Una cadena que representa el valor que es vol interpretar.
+
+ +

Descripció

+ +

parseFloat és una funció de nivell superior que no està associada a cap objecte.

+ +

parseFloat interpreta el seu argument, una cadena, i retorna un nombre decimal amb coma flotant. Si es topa amb un caràcter que no sigui un signe (+ o -), un numeral (0-9), un punt decimal, o un exponent, retorna el valor fins a aquell punt i ignora aquell caràcter i la resta de caràcters que el succeeixen. Es permeten espais inicials i finals.

+ +

Si el primer caràcter no es pot convertir en un nombre, parseFloat retorna NaN.

+ +

Per propòstis aritmètics, el valor de NaN no és un nombre en qualsevol radix. Es pot cridar la funció {{jsxref("isNaN")}} per determinar si el resultat del parseFloat és NaN. Si es passa NaN en operacions aritmètiques, el resultat de l'operació també serà NaN.

+ +

parseFloat també pot interpretar i retornar el valor Infinity. Es pot utilitzar la funció {{jsxref("isFinite")}} per determinar si el resultat és un nombre finit i (no Infinity, -Infinity, o NaN).

+ +

Exemples

+ +

parseFloat retorna un nombre

+ +

Tots els exemples següents retornen 3.14

+ +
parseFloat("3.14");
+parseFloat("314e-2");
+parseFloat("0.0314E+2");
+parseFloat("3.14more non-digit characters");
+
+ +

parseFloat retorna NaN

+ +

L'exemple següent retorna NaN

+ +
parseFloat("FF2");
+
+ +

Una interpretació més estricta

+ +

Sovint és útil tenir una forma més estricta d'interpretar els valors flotants, expressions regulars poden ajudar:

+ +
var filterFloat = function (value) {
+    if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
+      .test(value))
+      return Number(value);
+  return NaN;
+}
+
+console.log(filterFloat('421'));               // 421
+console.log(filterFloat('-421'));              // -421
+console.log(filterFloat('+421'));              // 421
+console.log(filterFloat('Infinity'));          // Infinity
+console.log(filterFloat('1.61803398875'));     // 1.61803398875
+console.log(filterFloat('421e+0'));            // NaN
+console.log(filterFloat('421hop'));            // NaN
+console.log(filterFloat('hop1.61803398875'));  // NaN
+
+
+ +

Vegeu que aquest codi és només a mode d'exemple, no accepta nombres vàlids com 1. o .5.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.1.2.3', 'parseFloat')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-parsefloat-string', 'parseFloat')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Global_Objects/parseInt", "parseInt()")}}
  • +
  • {{jsxref("Number.parseFloat()")}}
  • +
  • {{jsxref("Number.parseInt()")}}
  • +
  • {{jsxref("Global_Objects/isNaN", "isNaN()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/set/add/index.html b/files/ca/web/javascript/reference/global_objects/set/add/index.html new file mode 100644 index 0000000000..b93eaa3efb --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/set/add/index.html @@ -0,0 +1,119 @@ +--- +title: Set.prototype.add() +slug: Web/JavaScript/Referencia/Objectes_globals/Set/add +translation_of: Web/JavaScript/Reference/Global_Objects/Set/add +--- +
{{JSRef}}
+ +

El mètode add() afegeix un nou element al final de l'objecte Set amb el valor especificat pel paràmetre.

+ +

Sintax

+ +
mySet.add(valor);
+ +

Paràmetres

+ +
+
valor
+
Obligatori. El valor de l'element que s'afegirà a l'objecte Set.
+
+ +

Valor retornat

+ +

L'objecte Set.

+ +

Exemples

+ +

Utilitzar el mètode add

+ +
var mySet = new Set();
+
+mySet.add(1);
+mySet.add(5).add("some text"); // crida en cadena
+
+console.log(mySet);
+// Set [1, 5, "some text"]
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.add', 'Set.prototype.add')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Notes específiques per al Firefox

+ +
    +
  • En les versions anteriors al Firefox 33 {{geckoRelease("33")}}, Set.prototype.add retornava undefined i per tant no es podien realitzar crides encadenades. Aquest problem ha estat resolt ({{bug(1031632)}}). Aquest comportament també es pot trovar al Chrome/v8 (problema).
  • +
+ +

Vegeu també

+ +
    +
  • {{jsxref("Set")}}
  • +
  • {{jsxref("Set.prototype.delete()")}}
  • +
  • {{jsxref("Set.prototype.has()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/set/clear/index.html b/files/ca/web/javascript/reference/global_objects/set/clear/index.html new file mode 100644 index 0000000000..6ef179daaa --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/set/clear/index.html @@ -0,0 +1,105 @@ +--- +title: Set.prototype.clear() +slug: Web/JavaScript/Referencia/Objectes_globals/Set/clear +translation_of: Web/JavaScript/Reference/Global_Objects/Set/clear +--- +
{{JSRef}}
+ +

El mètode clear() esborra tots els elements emmagatzemats dins l'objecte Set.

+ +

Sintaxi

+ +
mySet.clear();
+ +

Exemples

+ +

Utilitzar el mètode clear

+ +
var mySet = new Set();
+mySet.add(1);
+mySet.add("foo");
+
+mySet.size;       // 2
+mySet.has("foo"); // true
+
+mySet.clear();
+
+mySet.size;       // 0
+mySet.has("bar")  // false
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.clear', 'Set.prototype.clear')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("19.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}25{{CompatGeckoMobile("19.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Set")}}
  • +
  • {{jsxref("Set.prototype.delete()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/set/delete/index.html b/files/ca/web/javascript/reference/global_objects/set/delete/index.html new file mode 100644 index 0000000000..ea66c1a723 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/set/delete/index.html @@ -0,0 +1,112 @@ +--- +title: Set.prototype.delete() +slug: Web/JavaScript/Referencia/Objectes_globals/Set/delete +translation_of: Web/JavaScript/Reference/Global_Objects/Set/delete +--- +
{{JSRef}}
+ +

El mètode delete() esborra l'element especificat emmagatzemat dins l'objecte Set.

+ +

Sintaxi

+ +
mySet.delete(valor);
+ +

Paràmetres

+ +
+
valor
+
Obligatori. El valor de l'element a eliminar.
+
+ +

Valor retornat

+ +

Retorna true si s'ha pogut eliminar l'element de l'objecte Set; en cas contrari retorna false.

+ +

Exemples

+ +

Utilitzar el mètode delete

+ +
var mySet = new Set();
+mySet.add("foo");
+
+mySet.delete("bar"); // Retorna false. No s'ha trobat l'element "bar".
+mySet.delete("foo"); // Retorna true.  S'ha pogut esborrar l'element "foo".
+
+mySet.has("foo");    // Retorna false. L'element "foo" ja no existeix dins el Set.
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.delete', 'Set.prototype.delete')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Set")}}
  • +
  • {{jsxref("Set.prototype.clear()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/set/entries/index.html b/files/ca/web/javascript/reference/global_objects/set/entries/index.html new file mode 100644 index 0000000000..848e53ba8d --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/set/entries/index.html @@ -0,0 +1,104 @@ +--- +title: Set.prototype.entries() +slug: Web/JavaScript/Referencia/Objectes_globals/Set/entries +translation_of: Web/JavaScript/Reference/Global_Objects/Set/entries +--- +
{{JSRef}}
+ +

El mètode entries() retorna un nou objecte Iterator que conté un array de [valor, valor] per a cada element emmagatzemat dins l'objecte Set, ordenats per ordre d'inserció. Els elements de l'objecte Set no disposen de claus, a diferència dels objectes Map. Tot i així, per a oferir una API similar a la de l'objecte Map cada entrada té el mateix valor tant com per a la clau com per al valor. És per això que es retorna un array [valor, valor].

+ +

Sintaxi

+ +
mySet.entries()
+ +

Examples

+ +

Using entries()

+ +
var mySet = new Set();
+mySet.add("foobar");
+mySet.add(1);
+mySet.add("baz");
+
+var setIter = mySet.entries();
+
+console.log(setIter.next().value); // ["foobar", "foobar"]
+console.log(setIter.next().value); // [1, 1]
+console.log(setIter.next().value); // ["baz", "baz"]
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.entries', 'Set.prototype.entries')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("24") }}{{CompatNo}}257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{ CompatGeckoMobile("24") }}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Set.prototype.keys()")}}
  • +
  • {{jsxref("Set.prototype.values()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/set/has/index.html b/files/ca/web/javascript/reference/global_objects/set/has/index.html new file mode 100644 index 0000000000..ca9027b8a4 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/set/has/index.html @@ -0,0 +1,114 @@ +--- +title: Set.prototype.has() +slug: Web/JavaScript/Referencia/Objectes_globals/Set/has +translation_of: Web/JavaScript/Reference/Global_Objects/Set/has +--- +
{{JSRef}}
+ +

El mètode has() retorna un booleà que indica si l'element amb el valor especificat existeix o no dins l'objecte Set.

+ +

Sintaxi

+ +
mySet.has(valor);
+ +

Paràmetres

+ +
+
valor
+
Obligatori. El valor a comprovar si pertany o no a l'objecte Set.
+
+ +

Valor retornat

+ +
+
Booleà
+
Retorna true si existex un element amb el valor especificat dins l'objecte Set; en cas contrari retorna false.
+
+ +

Exemples

+ +

Utilitzar el mètode has

+ +
var mySet = new Set();
+mySet.add("foo");
+
+mySet.has("foo");  // retorna true
+mySet.has("bar");  // retorna false
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.has', 'Set.prototype.has')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Set")}}
  • +
  • {{jsxref("Set.prototype.add()")}}
  • +
  • {{jsxref("Set.prototype.delete()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/set/index.html b/files/ca/web/javascript/reference/global_objects/set/index.html new file mode 100644 index 0000000000..993d296324 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/set/index.html @@ -0,0 +1,380 @@ +--- +title: Set +slug: Web/JavaScript/Referencia/Objectes_globals/Set +translation_of: Web/JavaScript/Reference/Global_Objects/Set +--- +
{{JSRef}}
+ +

L'objecte Set permet emmagatzemar valors únics de qualsevol tipus, ja siguin {{Glossary("Primitive", "valors primitius")}} o bé referències a objectes.

+ +

Sintaxi

+ +
new Set([iterable]);
+ +

Paràmetres

+ +
+
iterable
+
Si rep un objecte iterable, tots els seus elements seran afegits al nou Set. null serà tractat com a undefined.
+
+ +

Descripció

+ +

Els objectes Set són coleccions de valors, els seus elements poden ser iterats en ordre d'inserció. Un valor només pot aparèixer un cop dins el Set; és únic dins la col·lecció del Set.

+ +

Igualtat de valors

+ +

Degut a que cada valor dins el Set ha de ser únic, la igualtat dels valors serà comprovada i aquesta no es basa en el mateix algoritme que l'emprat per l'operador ===. Concreatement, per a Sets, +0 (que és estrictament igual a -0) i -0 són valors diferents. Tot i així, aquest comportament s'ha canviat a la última especificació de l'ECMAScript 6. A partir de Gecko 29.0 {{geckoRelease("29")}} ({{bug("952870")}}) i una recent versió nightly del Chrome, +0 i -0 són tractats com al mateix valor en objectes Set. Així mateix, NaN i undefined també poden ser emmagatzemats dins un Set. NaN és considerat igual a NaN (tot i que NaN !== NaN).

+ +

Propietats

+ +
+
Set.length
+
El valor de la propietat length és 0.
+
{{jsxref("Set.@@species", "get Set[@@species]")}}
+
La funció constructora que s'ha utilitzat per a crear objectes derivats.
+
{{jsxref("Set.prototype")}}
+
Representa el prototipus per al constructor Set. Permet afegir propietats a tots els objectes Set.
+
+ +

Instàncies de Set

+ +

Totes les instàncies de Set hereten de {{jsxref("Set.prototype")}}.

+ +

Propietats

+ +

{{page('ca/Web/JavaScript/Reference/Global_Objects/Set/prototype','Propietats')}}

+ +

Mètodes

+ +

{{page('ca/Web/JavaScript/Reference/Global_Objects/Set/prototype','Mètodes')}}

+ +

Exemples

+ +

Utilitzar l'objecte Set

+ +
var mySet = new Set();
+
+mySet.add(1);
+mySet.add(5);
+mySet.add("algun text");
+
+mySet.has(1); // true
+mySet.has(3); // false, 3 no ha estat afegit al set
+mySet.has(5);              // true
+mySet.has(Math.sqrt(25));  // true
+mySet.has("Some Text".toLowerCase()); // true
+
+mySet.size; // 3
+
+mySet.delete(5); // esborra 5 del set
+mySet.has(5);    // false, 5 ha sigut esborrat
+
+mySet.size; // 2, acabem d'esborrar un valor
+
+ +

Iterarar Sets

+ +
// iterar els elements d'un set
+// imprimeix els elements en l'ordre: 1, "algun text"
+for (let item of mySet) console.log(item);
+
+// imprimeix els elements en l'ordre: 1, "algun text"
+for (let item of mySet.keys()) console.log(item);
+
+// imprimeix els elements en l'ordre: 1, "algun text"
+for (let item of mySet.values()) console.log(item);
+
+// imprimeix els elements en l'ordre: 1, "algun text"
+//(key i value són iguals en aquest exemple)
+for (let [key, value] of mySet.entries()) console.log(key);
+
+// converteix el set en un Array (mitjançant Array comprehensions)
+var myArr = [v for (v of mySet)]; // [1, "algun text"]
+// Alternativa (mitjançant Array.from)
+var myArr = Array.from(mySet); // [1, "algun text"]
+
+// el codi següent també funcionarà si s'executa dins un document HTML
+mySet.add(document.body);
+mySet.has(document.querySelector("body")); // true
+
+// conversió entre Set i Array
+mySet2 = new Set([1,2,3,4]);
+mySet2.size; // 4
+[...mySet2]; // [1,2,3,4]
+
+// la intersecció es pot simular via
+var intersection = new Set([x for (x of set1) if (set2.has(x))]);
+
+// Iteració de les entrades del set mitjançant un forEach
+mySet.forEach(function(value) {
+  console.log(value);
+});
+
+// 1
+// 2
+// 3
+// 4
+ +

Relació amb objectes Array

+ +
var myArray = ["valor1", "valor2", "valor3"];
+
+// Utilitzem el constructor normal del Set per a transformar un Array en un Set
+var mySet = new Set(myArray);
+
+mySet.has("valor1"); // retorna true
+
+// Utilitzem l'operador spread per a transformar un Set en un Array.
+console.log(uneval([...mySet])); // Mostrarà exactament el mateix Array que myArray
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set-objects', 'Set')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic +

{{ CompatChrome(38) }} [1]

+
{{ CompatGeckoDesktop("13") }}{{ CompatIE("11") }}257.1
Argument al constructor: new Set(iterable){{ CompatChrome(38) }}{{ CompatGeckoDesktop("13") }}{{CompatNo}}25{{CompatNo}}
iterable{{ CompatChrome(38) }}{{ CompatGeckoDesktop("17") }}{{CompatNo}}257.1
Set.clear(){{ CompatChrome(38) }}{{CompatGeckoDesktop("19")}}{{ CompatIE("11") }}257.1
Set.keys(), Set.values(), Set.entries(){{ CompatChrome(38) }}{{CompatGeckoDesktop("24")}}{{CompatNo}}257.1
Set.forEach(){{ CompatChrome(38) }}{{CompatGeckoDesktop("25")}}{{ CompatIE("11") }}257.1
Igualtat de valors per a -0 i 0{{ CompatChrome(38) }}{{CompatGeckoDesktop("29")}}{{CompatNo}}25{{CompatNo}}
Argument del constructor: new Set(null){{CompatVersionUnknown}}{{CompatGeckoDesktop("37")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Monkey-patched add() al Constructor{{CompatVersionUnknown}}{{CompatGeckoDesktop("37")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Set[@@species]{{CompatUnknown}}{{CompatGeckoDesktop("41")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Set() sense new llença excepció{{CompatUnknown}}{{CompatGeckoDesktop("42")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome(38)}} [1]{{ CompatGeckoMobile("13") }}{{CompatNo}}{{CompatNo}}8
Argument al constructor: new Set(iterable){{CompatNo}}{{CompatChrome(38)}}{{ CompatGeckoMobile("13") }}{{CompatNo}}{{CompatNo}}{{CompatNo}}
iterable{{CompatNo}}{{CompatNo}}{{ CompatGeckoMobile("17") }}{{CompatNo}}{{CompatNo}}8
Set.clear(){{CompatNo}}{{ CompatChrome(38) }}{{CompatGeckoMobile("19")}}{{CompatNo}}{{CompatNo}}8
Set.keys(), Set.values(), Set.entries(){{CompatNo}}{{ CompatChrome(38) }}{{CompatGeckoMobile("24")}}{{CompatNo}}{{CompatNo}}8
Set.forEach(){{CompatNo}}{{ CompatChrome(38) }}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
Igualtat de valors per a -0 i 0{{CompatNo}}{{ CompatChrome(38) }}{{CompatGeckoMobile("29")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
Argument del constructor: new Set(null){{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Monkey-patched add() al Constructor{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Set[@@species]{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("41")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Set() sense new llença excepció{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("42")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

[1] La característica estava disponible sota una preferència a partir de Chorem 31. Al chrome://flags, activeu l'entrada “Activa JavaScript Experimental”.

+ +

Vegeu també

+ +
    +
  • {{jsxref("Map")}}
  • +
  • {{jsxref("WeakMap")}}
  • +
  • {{jsxref("WeakSet")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/set/values/index.html b/files/ca/web/javascript/reference/global_objects/set/values/index.html new file mode 100644 index 0000000000..307fa78113 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/set/values/index.html @@ -0,0 +1,106 @@ +--- +title: Set.prototype.values() +slug: Web/JavaScript/Referencia/Objectes_globals/Set/values +translation_of: Web/JavaScript/Reference/Global_Objects/Set/values +--- +
{{JSRef}}
+ +

El mètode values() retorna un nou objecte Iterator que conté els valors per a cada element de l'objecte Set en ordre d'inserció.

+ +

El mètode keys() és un mètode sinònim d'aquest mètode (per a mantindre la similitud amb els objecte {{jsxref("Map")}}); es comporta exactament de la mateixa forma i retorna els valors dels elements de l'objecte Set.

+ +

Sintaxi

+ +
mySet.values();
+mySet.keys();
+
+ +

Exemples

+ +

Utilitzar values()

+ +
var mySet = new Set();
+mySet.add("foo");
+mySet.add("bar");
+mySet.add("baz");
+
+var setIter = mySet.values();
+
+console.log(setIter.next().value); // "foo"
+console.log(setIter.next().value); // "bar"
+console.log(setIter.next().value); // "baz"
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.values', 'Set.prototype.values')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("24")}}{{CompatNo}}257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{ CompatGeckoMobile("24") }}{{ CompatNo}}{{ CompatNo}}8
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Set.prototype.entries()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/anchor/index.html b/files/ca/web/javascript/reference/global_objects/string/anchor/index.html new file mode 100644 index 0000000000..15bd4db97b --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/anchor/index.html @@ -0,0 +1,118 @@ +--- +title: String.prototype.anchor() +slug: Web/JavaScript/Referencia/Objectes_globals/String/anchor +translation_of: Web/JavaScript/Reference/Global_Objects/String/anchor +--- +
{{JSRef}}
+ +

El mètode anchor() un element àncora HTML {{HTMLElement("a")}} que s'utilitza com a HTML un objectiu hypertext.

+ +

Sintaxi

+ +
str.anchor(nom)
+ +

Paràmetres

+ +
+
nom
+
Una cadena que representa l'atribut name attribute of the a tag to be created.
+
+ +

Descripció

+ +

Utilitzar el mètode anchor() per crear i mostrar una àncora en un document mitjançant programació.

+ +

En la sintaxi, la cadena de text representa el text literal que es vol mostrar a l'usuari. La cadena paràmetre name representa l'atribut name de l'element {{HTMLElement("a")}}.

+ +

Les àncores creades amb el mètode anchor() es tornen elements de l'array {{domxref("document.anchors")}}.

+ +

Exemples

+ +

Utilitzar anchor()

+ +
var myString = 'Taula de continguts';
+
+document.body.innerHTML = myString.anchor('contents_anchor');
+
+ +

Mostrarà el següent HTML:

+ +
<a name="contents_anchor">Taula de continguts</a>
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.anchor', 'String.prototype.anchor')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per característiques addiccionals d'ECMAScript per a navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}} [1]{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome pdr AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}} [1]{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

[1] Des de la versió Gecko 17, les " (cometes) són substituides pel caràcter de referència HTML &quot; en cadenes subministrades pel paràmetre name.

+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.link()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/big/index.html b/files/ca/web/javascript/reference/global_objects/string/big/index.html new file mode 100644 index 0000000000..a3b8815f10 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/big/index.html @@ -0,0 +1,114 @@ +--- +title: String.prototype.big() +slug: Web/JavaScript/Referencia/Objectes_globals/String/big +translation_of: Web/JavaScript/Reference/Global_Objects/String/big +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode big() crea un element HTML {{HTMLElement("big")}} que causa que la cadena es mostri en una font de mida gran.

+ +
+

Nota d'ús: L'element <big> s'ha eliminat de l'HTML5 i no s'hauria de fer servir més. S'aconsella als desenvolupadors web utilitzar les propietats de CSS.

+
+ +

Sintaxi

+ +
str.big()
+ +

Descripció

+ +

El mètode big() incrusta una cadena dins del tag <big>: "<big>str</big>".

+ +

Exemples

+ +

Utilitzar big()

+ +

L'exemple següent utilitza mètodes string per canviar la mida d'una cadena:

+ +
var worldString = 'Hello, world';
+
+console.log(worldString.small());     // <small>Hello, world</small>
+console.log(worldString.big());       // <big>Hello, world</big>
+console.log(worldString.fontsize(7)); // <fontsize=7>Hello, world</fontsize>
+
+ +

Amb l'objecte {{domxref("HTMLElement.style", "element.style")}} es pot obtenir l'atribut style de l'element i manipular-lo més genèricament, per exemple:

+ +
document.getElementById('yourElemId').style.fontSize = '2em';
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.big', 'String.prototype.big')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per característiques addicionals ECMAScript per navegadors web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.fontsize()")}}
  • +
  • {{jsxref("String.prototype.small()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/blink/index.html b/files/ca/web/javascript/reference/global_objects/string/blink/index.html new file mode 100644 index 0000000000..2378325897 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/blink/index.html @@ -0,0 +1,110 @@ +--- +title: String.prototype.blink() +slug: Web/JavaScript/Referencia/Objectes_globals/String/blink +translation_of: Web/JavaScript/Reference/Global_Objects/String/blink +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode blink() crea un elment HTML {{HTMLElement("blink")}} que fa mostrar una cadena de forma intermitent.

+ +
+

Advertència: El text que es mostra de forma intermitent és mal vist per varis estàndards d'accessibilitat. L'element  <blink> no és estàndard i és obsolet!

+
+ +

Sintaxi

+ +
str.blink()
+ +

Descripció

+ +

El mètode blink() incrusta una cadena dins l'etiqueta <blink>: "<blink>cad</blink>".

+ +

Exemples

+ +

Utilitzar blink()

+ +

L'exemple següent utilitza mètodes string per canviar el format d'una cadena:

+ +
var worldString = 'Hello, world';
+
+console.log(worldString.blink());   // <blink>Hello, world</blink>
+console.log(worldString.bold());    // <b>Hello, world</b>
+console.log(worldString.italics()); // <i>Hello, world</i>
+console.log(worldString.strike());  // <strike>Hello, world</strike>
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.blink', 'String.prototype.blink')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per característiques addiccionals d'ECMAScrip per Navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.bold()")}}
  • +
  • {{jsxref("String.prototype.italics()")}}
  • +
  • {{jsxref("String.prototype.strike()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/bold/index.html b/files/ca/web/javascript/reference/global_objects/string/bold/index.html new file mode 100644 index 0000000000..502810bb45 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/bold/index.html @@ -0,0 +1,106 @@ +--- +title: String.prototype.bold() +slug: Web/JavaScript/Referencia/Objectes_globals/String/bold +translation_of: Web/JavaScript/Reference/Global_Objects/String/bold +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode bold() crea un element HTML {{HTMLElement("b")}} que causa que una cadena es mostri amb negreta.

+ +

Sintaxi

+ +
str.bold()
+ +

Descripció

+ +

El mètode bold() incrusta una cadena en l'etiqueta <b>: "<b>cad</b>".

+ +

Exemples

+ +

Utilitzar bold()

+ +

L'exemple següent utilitza mètodes string per canviar el format d'una cadena:

+ +
var worldString = 'Hello, world';
+
+console.log(worldString.blink());   // <blink>Hello, world</blink>
+console.log(worldString.bold());    // <b>Hello, world</b>
+console.log(worldString.italics()); // <i>Hello, world</i>
+console.log(worldString.strike());  // <strike>Hello, world</strike>
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.bold', 'String.prototype.bold')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques addiccionals ECMAScript per navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.blink()")}}
  • +
  • {{jsxref("String.prototype.italics()")}}
  • +
  • {{jsxref("String.prototype.strike()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/charat/index.html b/files/ca/web/javascript/reference/global_objects/string/charat/index.html new file mode 100644 index 0000000000..55a84ab7d0 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/charat/index.html @@ -0,0 +1,283 @@ +--- +title: String.prototype.charAt() +slug: Web/JavaScript/Referencia/Objectes_globals/String/charAt +translation_of: Web/JavaScript/Reference/Global_Objects/String/charAt +--- +
{{JSRef}}
+ +

El mètode charAt() retorna el caràcter especificat d'una cadena.

+ +

Sintaxi

+ +
str.charAt(posicio)
+ +

Paràmetres

+ +
+
posicio
+
Un nombre sencer entre 0 i la longitud de la cadena menys 1.
+
+ +

Descripció

+ +

Els caràcters d'una cadena reben un nombre per la seva posició d'esquerra a dreta. La posició del primer caràcter és el 0 i la posició de l'últim caràcter d'una cadena anomenada stringName és stringName.length - 1. Si la posicio proporcionada està fora del rang vàlid JavaScript retornarà una cadena buida.

+ +

Exemples

+ +

Mostrar caràcters de diferents posicions d'una cadena

+ +

L'exemple següent mostra alguns caràcters a diferents posicions de la cadena "Brave new world":

+ +
var anyString = 'Brave new world';
+
+console.log("El caràcter a la posició 0   és '" + anyString.charAt(0)   + "'");
+console.log("El caràcter a la posició 1   és '" + anyString.charAt(1)   + "'");
+console.log("El caràcter a la posició 2   és '" + anyString.charAt(2)   + "'");
+console.log("El caràcter a la posició 3   és '" + anyString.charAt(3)   + "'");
+console.log("El caràcter a la posició 4   és '" + anyString.charAt(4)   + "'");
+console.log("El caràcter a la posició 999 és '" + anyString.charAt(999) + "'");
+
+ +

Les línies anteriors mostren la sortida següent:

+ +
El caràcter a la posició 0   és 'B'
+El caràcter a la posició 1   és 'r'
+El caràcter a la posició 2   és 'a'
+El caràcter a la posició 3   és 'v'
+El caràcter a la posició 4   és 'e'
+El caràcter a la posició 999 és ''
+
+ +

Obtenir caràcters sencers

+ +

El codi següent garanteix obtenir un caràcter sencer, fins i tot quan la cadena contingui caràcters que no formen part del pla bàsic multilingüístic.

+ +
var str = 'A \uD87E\uDC04 Z'; // We could also use a non-BMP character directly
+for (var i = 0, chr; i < str.length; i++) {
+  if ((chr = getWholeChar(str, i)) === false) {
+    continue;
+  }
+  // Adapt this line at the top of each loop, passing in the whole string and
+  // the current iteration and returning a variable to represent the
+  // individual character
+
+  console.log(chr);
+}
+
+function getWholeChar(str, i) {
+  var code = str.charCodeAt(i);
+
+  if (Number.isNaN(code)) {
+    return ''; // Position not found
+  }
+  if (code < 0xD800 || code > 0xDFFF) {
+    return str.charAt(i);
+  }
+
+  // High surrogate (could change last hex to 0xDB7F to treat high private
+  // surrogates as single characters)
+  if (0xD800 <= code && code <= 0xDBFF) {
+    if (str.length <= (i + 1)) {
+      throw 'High surrogate without following low surrogate';
+    }
+    var next = str.charCodeAt(i + 1);
+      if (0xDC00 > next || next > 0xDFFF) {
+        throw 'High surrogate without following low surrogate';
+      }
+      return str.charAt(i) + str.charAt(i + 1);
+  }
+  // Low surrogate (0xDC00 <= code && code <= 0xDFFF)
+  if (i === 0) {
+    throw 'Low surrogate without preceding high surrogate';
+  }
+  var prev = str.charCodeAt(i - 1);
+
+  // (could change last hex to 0xDB7F to treat high private
+  // surrogates as single characters)
+  if (0xD800 > prev || prev > 0xDBFF) {
+    throw 'Low surrogate without preceding high surrogate';
+  }
+  // We can pass over low surrogates now as the second component
+  // in a pair which we have already processed
+  return false;
+}
+
+ +

En l'entorn de l'ECMAScript 2016, que soporta assignació desestructurada, es pot utilitzar el codi següent com a versió alternativa més flexibleenvironment which allows destructured assignment, the following is a more succinct and somewhat more flexible alternative in that it does incrementing for an incrementing variable automatically (if the character warrants it in being a surrogate pair).

+ +
var str = 'A\uD87E\uDC04Z'; // We could also use a non-BMP character directly
+for (var i = 0, chr; i < str.length; i++) {
+  [chr, i] = getWholeCharAndI(str, i);
+  // Adapt this line at the top of each loop, passing in the whole string and
+  // the current iteration and returning an array with the individual character
+  // and 'i' value (only changed if a surrogate pair)
+
+  console.log(chr);
+}
+
+function getWholeCharAndI(str, i) {
+  var code = str.charCodeAt(i);
+
+  if (Number.isNaN(code)) {
+    return ''; // Position not found
+  }
+  if (code < 0xD800 || code > 0xDFFF) {
+    return [str.charAt(i), i]; // Normal character, keeping 'i' the same
+  }
+
+  // High surrogate (could change last hex to 0xDB7F to treat high private
+  // surrogates as single characters)
+  if (0xD800 <= code && code <= 0xDBFF) {
+    if (str.length <= (i + 1)) {
+      throw 'High surrogate without following low surrogate';
+    }
+    var next = str.charCodeAt(i + 1);
+      if (0xDC00 > next || next > 0xDFFF) {
+        throw 'High surrogate without following low surrogate';
+      }
+      return [str.charAt(i) + str.charAt(i + 1), i + 1];
+  }
+  // Low surrogate (0xDC00 <= code && code <= 0xDFFF)
+  if (i === 0) {
+    throw 'Low surrogate without preceding high surrogate';
+  }
+  var prev = str.charCodeAt(i - 1);
+
+  // (could change last hex to 0xDB7F to treat high private surrogates
+  // as single characters)
+  if (0xD800 > prev || prev > 0xDBFF) {
+    throw 'Low surrogate without preceding high surrogate';
+  }
+  // Return the next character instead (and increment)
+  return [str.charAt(i + 1), i + 1];
+}
+
+ +

Fixing charAt() to support non-Basic-Multilingual-Plane (BMP) characters

+ +

While the example above may be more frequently useful for those wishing to support non-BMP characters (since it does not require the caller to know where any non-BMP character might appear), in the event that one does wish, in choosing a character by index, to treat the surrogate pairs within a string as the single characters they represent, one can use the following:

+ +
function fixedCharAt(str, idx) {
+  var ret = '';
+  str += '';
+  var end = str.length;
+
+  var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
+  while ((surrogatePairs.exec(str)) != null) {
+    var li = surrogatePairs.lastIndex;
+    if (li - 2 < idx) {
+      idx++;
+    } else {
+      break;
+    }
+  }
+
+  if (idx >= end || idx < 0) {
+    return '';
+  }
+
+  ret += str.charAt(idx);
+
+  if (/[\uD800-\uDBFF]/.test(ret) && /[\uDC00-\uDFFF]/.test(str.charAt(idx + 1))) {
+    // Go one further, since one of the "characters" is part of a surrogate pair
+    ret += str.charAt(idx + 1);
+  }
+  return ret;
+}
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES1')}}{{Spec2('ES1')}}Initial definition.
{{SpecName('ES5.1', '#sec-15.5.4.4', 'String.prototype.charAt')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.charat', 'String.prototype.charAt')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-string.prototype.charat', 'String.prototype.charAt')}}{{Spec2('ESDraft')}} 
+ +

Browser compatibility

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

See also

+ +
    +
  • {{jsxref("String.prototype.indexOf()")}}
  • +
  • {{jsxref("String.prototype.lastIndexOf()")}}
  • +
  • {{jsxref("String.prototype.charCodeAt()")}}
  • +
  • {{jsxref("String.prototype.codePointAt()")}}
  • +
  • {{jsxref("String.prototype.split()")}}
  • +
  • {{jsxref("String.fromCodePoint()")}}
  • +
  • JavaScript has a Unicode problem – Mathias Bynens
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/concat/index.html b/files/ca/web/javascript/reference/global_objects/string/concat/index.html new file mode 100644 index 0000000000..87cdda3c5e --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/concat/index.html @@ -0,0 +1,125 @@ +--- +title: String.prototype.concat() +slug: Web/JavaScript/Referencia/Objectes_globals/String/concat +translation_of: Web/JavaScript/Reference/Global_Objects/String/concat +--- +
{{JSRef}}
+ +

El mètode concat() combina el text de dos o més strings i retorna un nou string.

+ +

Sintaxi

+ +
str.concat(string2, string3[, ..., stringN])
+ +

Paràmetres

+ +
+
string2...stringN
+
Strings que seran concatenats a aquest string.
+
+ +

Descripció

+ +

La funció concat() combina el text d'un o més strings i retorna un nou string. Canvis al text d'un string no afecten l'altre string.

+ +

Exemples

+ +

Utilitzar concat()

+ +

L'exemple següent combina strings en un nou string.

+ +
var hola = 'Hola, ';
+console.log(hola.concat('Kevin', ' tingueu un bon dia.'));
+
+/* Hola, Kevin tingueu un bon dia. */
+
+ +

Rendiment

+ +

Es recomana altament utilitzar els {{jsxref("Operators/Assignment_Operators", "operadors d'assignació", "", 1)}} (+, +=) en comptes del mètode concat(). Vegeu aquest test de rendiment.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.6', 'String.prototype.concat')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.concat', 'String.prototype.concat')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Array.prototype.concat()")}}
  • +
  • {{jsxref("Operators/Assignment_Operators", "Operadors d'asssignació", "", 1)}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/endswith/index.html b/files/ca/web/javascript/reference/global_objects/string/endswith/index.html new file mode 100644 index 0000000000..83a1201549 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/endswith/index.html @@ -0,0 +1,133 @@ +--- +title: String.prototype.endsWith() +slug: Web/JavaScript/Referencia/Objectes_globals/String/endsWith +translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith +--- +
{{JSRef}}
+ +

El mètode endsWith() method determina si un string acaba amb els caràcters d'un altre string, retornant true o false depenent d'això.

+ +

Sintaxi

+ +
str.endsWith(stringAcercar[, posició])
+ +

Paràmetres

+ +
+
stringAcercar
+
Els caràcters a cercar al final d'aquest string.
+
posició
+
Opcional. Cerca dins aquest string considerant posició com la última posició del string; per defecte rep el valor del tamany total del string.
+
 
+
 
+
+ +

Descripció

+ +

Aquest mètode us permet determinar si un string acaba en un altre string.

+ +

Exemples

+ +

Utilitzar endsWith()

+ +
var str = 'To be, or not to be, that is the question.';
+
+console.log(str.endsWith('question.')); // true
+console.log(str.endsWith('to be'));     // false
+console.log(str.endsWith('to be', 19)); // true
+
+ +

Polyfill

+ +

Aquest mètode va ser afegit a l'especificació ECMAScript i pot no estar disponible encara a totes les implementacions de JavaScript. No obstant, la funció següent emula el comportament de String.prototype.endsWith():

+ +
if (!String.prototype.endsWith) {
+  String.prototype.endsWith = function(searchString, position) {
+      var subjectString = this.toString();
+      if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {
+        position = subjectString.length;
+      }
+      position -= searchString.length;
+      var lastIndex = subjectString.indexOf(searchString, position);
+      return lastIndex !== -1 && lastIndex === position;
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.endswith', 'String.prototype.endsWith')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("41")}}{{CompatGeckoDesktop("17")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome("36")}}{{CompatGeckoMobile("17")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.startsWith()")}} {{experimental_inline}}
  • +
  • {{jsxref("String.prototype.contains()")}} {{experimental_inline}}
  • +
  • {{jsxref("String.prototype.indexOf()")}}
  • +
  • {{jsxref("String.prototype.lastIndexOf()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/fixed/index.html b/files/ca/web/javascript/reference/global_objects/string/fixed/index.html new file mode 100644 index 0000000000..069ab4243f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/fixed/index.html @@ -0,0 +1,103 @@ +--- +title: String.prototype.fixed() +slug: Web/JavaScript/Referencia/Objectes_globals/String/fixed +translation_of: Web/JavaScript/Reference/Global_Objects/String/fixed +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode fixed() crea un element HTML {{HTMLElement("tt")}} que fa que una cadena es mostri en una font fixed-pitch.

+ +

Sintaxi

+ +
str.fixed()
+ +

Descripció

+ +

El mètode fixed() incrusta una cadena en una etiqueta <tt>: "<tt>cad</tt>".

+ +

Exemples

+ +

Utilitzar fixed()

+ +

L'exemple següent utilitza el mètode fixed per canviar el format d'una cadena:

+ +
var worldString = 'Hello, world';
+console.log(worldString.fixed()); // "<tt>Hello, world</tt>"
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.fixed', 'String.prototype.fixed')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques addiccionals d'ECMAScript per Navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.bold()")}}
  • +
  • {{jsxref("String.prototype.italics()")}}
  • +
  • {{jsxref("String.prototype.strike()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/fontcolor/index.html b/files/ca/web/javascript/reference/global_objects/string/fontcolor/index.html new file mode 100644 index 0000000000..be52cd576b --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/fontcolor/index.html @@ -0,0 +1,122 @@ +--- +title: String.prototype.fontcolor() +slug: Web/JavaScript/Referencia/Objectes_globals/String/fontcolor +translation_of: Web/JavaScript/Reference/Global_Objects/String/fontcolor +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode fontcolor() crea un element HTML {{HTMLElement("font")}} que fa que una cadena es mostri amb el color font especificat.

+ +
+

Nota d'ús: L'element <font> s'ha eleminitat d'HTML5 i no s'ha de fer servir més. Els desenvolupadors web haurien d'utilitzar les propietats de CSS per aquesta finalitat.

+
+ +

Sintaxi

+ +
str.fontcolor(color)
+ +

Paràmetres

+ +
+
color
+
Una cadena que expressa el color com a un triplet RGB hexadecimal o com una cadena literal. Les cadenes literals de noms de colors es troben enllistades en la referència de colors de CSS.
+
+ +

Descripció

+ +

Si expresseu el color com un triplet RGB hexadecimal, heu de fer servir el format rrggbb. Per example, els valors RGB hexadecimals pel color salmó són vermell=FA, verd=80, i blau=72, de forma que el triplet RGB pel color salmó és "FA8072".

+ +

Exemples

+ +

Utilitzar fontcolor()

+ +

L'exemple següent utilitza el mètode fontcolor() per canviar el color d'una cadena mitjançant la creació d'una cadena amb l'etiqueta HTML <font>.

+ +
var worldString = 'Hola, món';
+
+console.log(worldString.fontcolor('red') +  ' és vermell en aquesta línia');
+// '<font color="red">Hola, món</font> 's vermell en aquesta línia'
+
+console.log(worldString.fontcolor('FF00') + ' és vermell en hexadecimal en aquesta línia');
+// '<font color="FF00">Hola, món</font> és vermell en hexadecimal en aquesta línia'
+
+ +

Amb l'objecte {{domxref("HTMLElement.style", "element.style")}} es pot obtenir l'atribut style de l'element i manipular-lo més genèricament, per exemple:

+ +
document.getElementById('yourElemId').style.color = 'red';
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.fontcolor', 'String.prototype.fontcolor')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques addiccionals d'ECMAScript per Navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.fontsize()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/fontsize/index.html b/files/ca/web/javascript/reference/global_objects/string/fontsize/index.html new file mode 100644 index 0000000000..9f30d124aa --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/fontsize/index.html @@ -0,0 +1,121 @@ +--- +title: String.prototype.fontsize() +slug: Web/JavaScript/Referencia/Objectes_globals/String/fontsize +translation_of: Web/JavaScript/Reference/Global_Objects/String/fontsize +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode fontsize() crea un element HTML {{HTMLElement("font")}} que causa que una cadena es mostri en el tamany font especificat.

+ +
+

Nota d'ús: L'element <font> s'ha eliminat de l'HTML5 i no s'ha de fer servir més. Els desenvolupadors web haurien de fer servir les propietats de CSS per aquesta finalitat.

+
+ +

Sintaxi

+ +
str.fontsize(mida)
+ +

Paràmetres

+ +
+
mida
+
Un nombre sencer entre 1 i 7, una cadena que representi un nombre sencer amb signe entre 1 i 7.
+
+ +

Descripció

+ +

Quan s'especifica la mida com a un nombre sencer, s'estableix la mida de la str a un de les 7 mides definides. Quan s'especifica la mida com una cadena com pot ser "-2", s'adjusta el tamany font de str en relació ambel tamany establert en l'etiqueta {{HTMLElement("basefont")}}.

+ +

Exemples

+ +

Utilitzar fontsize()

+ +

El següent exemple utilitza mètodes string per canviar la mida de la cadena:

+ +
var worldString = 'Hola, món';
+
+console.log(worldString.small());     // <small>Hola, món</small>
+console.log(worldString.big());       // <big>Hola, món</big>
+console.log(worldString.fontsize(7)); // <font size="7">Hola, món</fontsize>
+
+ +

Amb l'objecte {{domxref("HTMLElement.style", "element.style")}} es pot obtenir el atribut style de l'element i manipular-lo més genèricament, per exemple:

+ +
document.getElementById('yourElemId').style.fontSize = '0.7em';
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.fontsize', 'String.prototype.fontsize')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques Addiccionals d'ECMAScript per Navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.big()")}}
  • +
  • {{jsxref("String.prototype.small()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/fromcharcode/index.html b/files/ca/web/javascript/reference/global_objects/string/fromcharcode/index.html new file mode 100644 index 0000000000..f4e2308bf9 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/fromcharcode/index.html @@ -0,0 +1,126 @@ +--- +title: String.fromCharCode() +slug: Web/JavaScript/Referencia/Objectes_globals/String/fromCharCode +translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCharCode +--- +
{{JSRef}}
+ +

El mètode estàtic String.fromCharCode() retorna un string creat a partir de la seqüència de valors Unicode especificada.

+ +

Sintaxi

+ +
String.fromCharCode(num1[, ...[, numN]])
+ +

Paràmetres

+ +
+
num1, ..., numN
+
Una seqüència de nombres que són valors Unicode.
+
+ +

Descripció

+ +

Aquest mètode retorna un string i no un objecte de tipus {{jsxref("String")}}.

+ +

Com que fromCharCode() és un mètode estàtic de {{jsxref("String")}}, sempre s'utilitza com String.fromCharCode() en comptes de com un mètode d'un objecte {{jsxref("String")}} creat.

+ +

Exemples

+ +

Utilitzar fromCharCode()

+ +

L'exemple següent retorna el string "ABC".

+ +
String.fromCharCode(65, 66, 67);  // "ABC"
+
+ +

Fer que funcioni amb valors més grans

+ +

Tot i que la majoria dels valors Unicode es poden representar amb un nombre de 16 bits (tal i com s'esperava mentre s'estava estandaritzant el JavaScript) i es pot emprar fromCharCode() per a retornar un sol caràcter per als valors més comuns (com ara valors UCS-2, que són un subconjunt de l'UTF-16 amb els caràcters més comuns), per a poder manegar TOTS els valors legals Unicode (els quals requereixen fins a 21 bits),  l'ús de només fromCharCode() no és adequat ja que els caràcters de valor més alt utilitzen dos nombres "substituts" (de menor valor) per a formar un sol caràcter. Es pot emprar {{jsxref("String.fromCodePoint()")}} (que forma part de l'esborrant de l'ECMAScript 6) per a retornar el parell de nombres citat i, d'aquesta forma, representar de manera adequada aquests caràcters de valor més alt.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacionsEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.3.2', 'StringfromCharCode')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.fromcharcodes', 'String.fromCharCode')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.fromCodePoint()")}}
  • +
  • {{jsxref("String.prototype.charAt()")}}
  • +
  • {{jsxref("String.prototype.charCodeAt()")}}
  • +
  • {{jsxref("String.prototype.codePointAt()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/index.html b/files/ca/web/javascript/reference/global_objects/string/index.html new file mode 100644 index 0000000000..136820a54d --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/index.html @@ -0,0 +1,340 @@ +--- +title: String +slug: Web/JavaScript/Referencia/Objectes_globals/String +translation_of: Web/JavaScript/Reference/Global_Objects/String +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Resum

+ +

L'objecte global String és un constructor per a strings, també conegudes com a cadenes de caràcters.

+ +

Sintaxi

+ +

Els literals de tipus Stringpoden tenir les següents formes:

+ +
'string text'
+"string text"
+"中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்"
+
+ +

A més dels caràcters imprimibles normals, es poden codificar caràcters especials mitjançant la notació d'escapament:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CodiSortida
\0el caràcter NUL
\'cometa simple
\"cometa doble
\\barra invertida
\nlínia nova
\rretorn de carro
\vbarra vertical
\ttabulador
\besborrar
\fform feed
\uXXXXcaràcter amb codificació unicode
\xXXcaràcter amb codificació Latin-1
+ +

O bé utilitzant l'objecte global String de forma directa:

+ +
String(quelcom)
+new String(quelcom)
+
+ +

Paràmetres

+ +
+
quelcom
+
Qualsevol cosa que serà convertida a string.
+
+ +

Descripció

+ +

Les Strings són útils per a emmagatzemar dades que poden ser representades en forma de texte. Algunes de les operacions més emprades en strings són per a obtindre la seva llargada {{jsxref("String.length", "length")}}, per a concatenar-les mitjançant els operadors de strings + i +=, per a comprovar l'existència o localització de substrings amb el mètode {{jsxref("String.prototype.indexOf()", "indexOf()")}}, o bé per a extreure substrings amb el mètode {{jsxref("String.prototype.substring()", "substring()")}}.

+ +

Accés als caràcters

+ +

Hi ha dues formes d'accedir a un caràcter individual emmagatzemat dins un string. El primer és el mètode {{jsxref("String.prototype.charAt()", "charAt()")}}:

+ +
return 'cat'.charAt(1); // retorna "a"
+
+ +

L'altra forma (introduida a ECMAScript 5) és fer anar l'string com si fós un objecte de tipus array, on els caràcters individuals es corresponen a un índex numèric:

+ +
return 'cat'[1]; // retorna "a"
+
+ +

Utilitzar la notació de claus per a esborrar o bé assignar un valor a un caràcter no funcionarà. Les propietats involucrades no són de tipus no-escriptura i no són configurables. (Vegeu {{jsxref("Object.defineProperty()")}} per a més informació).

+ +

Comparar strings

+ +

Els desenvolupadors de C disposen de la funció strcmp() per a comparar strings. A JavaScript senzillament es poden utilitzar els operadors major-que i menor-que

+ +
var a = 'a';
+var b = 'b';
+if (a < b) { // true
+  print(a + ' és menor que ' + b);
+} else if (a > b) {
+  print(a + ' és major que ' + b);
+} else {
+  print(a + ' i ' + b + ' són iguals.');
+}
+
+ +

Es pot obtindre un resultat similar mitjançant el mètode {{jsxref("String.prototype.localeCompare()", "localeCompare()")}}, heredat per les instàncies de String.

+ +

Distinció entre les primitives string i els objectes String

+ +

Cal recalcar que JavaScript distingeix entre objectes de tipus String i valors primitius de tipus string (El mateix succeeix amb {{jsxref("Global_Objects/Boolean", "Boolean")}} i {{jsxref("Global_Objects/Number", "Numbers")}}

+ +

Els literals de tipus string (englobats en cometes simples o dobles) així com strings retornats per crides a l'objecte String en un contexte no constructor (és a dir, sense utilitzar la paraula clau {{jsxref("Operators/new", "new")}}) són strings primitives. JavaScript automàticament converteix primitives a objectes String, de forma que és posible utilitzar mètodes de l'objecte String en strings primitives. En els contextes on s'ha d'invocar un mètode en una primitiva string o es demana la una propietat, JavaScript automàticament embolcallarà la primitiva string amb un objecte String i cridarà el mètode o la propietat corresponent.

+ +
var s_prim = 'foo';
+var s_obj = new String(s_prim);
+
+console.log(typeof s_prim); // Escriu "string"
+console.log(typeof s_obj);  // Escriu "object"
+
+ +

Les primitives string i els objectes String també donen resultats diferents a l'utilitzar {{jsxref("Global_Objects/eval", "eval()")}}. Les primitives passades a eval són considerades codi font; els objectes String es tracten com qualsevol altre objecte, és a dir, retornan l'objecte. Per exemple:

+ +
var s1 = '2 + 2';             // crea una primitiva string
+var s2 = new String('2 + 2'); // crea un objecte String
+console.log(eval(s1));        // escriu el nombre 4
+console.log(eval(s2));        // escriu la string "2 + 2"
+
+ +

És per aquestes raons que el codi pot produïr errors quan trobi objectes String però s'esperès una primitiva string, tot i que de forma general els autors no s'han de preocupar per la distinció.

+ +

Un objecte String sempre es pot convertir en la seva representació primitiva mitjançant el mètode {{jsxref("String.prototype.valueOf()", "valueOf()")}}.

+ +
console.log(eval(s2.valueOf())); // escriu el nombre 4
+
+ +
Nota: Per a una altra posible enfocament quant a string a JavaScript llegiu l'article sobre StringView — una representació de strings basada en arrays de tipatge explícit similar a C.
+ +

Propietats

+ +
+
{{jsxref("String.prototype")}}
+
Permet afegir propietats a un objecte String.
+
+ +
{{jsOverrides("Function", "Properties", "prototype")}}
+ +

Mètodes

+ +
+
{{jsxref("String.fromCharCode()")}}
+
Retorna un string creat a partir de la seqüència de valors Unicode proporcionada.
+
{{jsxref("String.fromCodePoint()")}} {{experimental_inline}}
+
Retorna un string creat a partir de la seqüència de code points proporcionada.
+
{{jsxref("String.raw()")}} {{experimental_inline}}
+
Retorna un string creat a partir de l'string proporcionat sense tindre en compte la codificació.
+
+ +
{{jsOverrides("Function", "Methods", "fromCharCode", "fromCodePoint", "raw")}}
+ +

Mètodes genèrics de String

+ +

Els mètodes de les instàncies de String també estan disponibles a Firefox a partir del JavaScript 1.6 (tot i que no formen part de l'standard ECMAScript) a l'objecte String, així es poden aplicar els mètodes de String a qualsevol objecte:

+ +
var num = 15;
+console.log(String.replace(num, /5/, '2'));
+
+ +

{{jsxref("Global_Objects/Array", "Generics", "#Array_generic_methods", 1)}} també estàn disponibles als mètodes de {{jsxref("Global_Objects/Array", "Array")}}.

+ +

A continuació es mostra un shim per a donar suport als navegadors que no ho suporten:

+ +
/*globals define*/
+// Assumes all supplied String instance methods already present
+// (one may use shims for these if not available)
+(function() {
+  'use strict';
+
+  var i,
+    // We could also build the array of methods with the following, but the
+    //   getOwnPropertyNames() method is non-shimable:
+    // Object.getOwnPropertyNames(String).filter(function(methodName) {
+    //   return typeof String[methodName] === 'function';
+    // });
+    methods = [
+      'quote', 'substring', 'toLowerCase', 'toUpperCase', 'charAt',
+      'charCodeAt', 'indexOf', 'lastIndexOf', 'startsWith', 'endsWith',
+      'trim', 'trimLeft', 'trimRight', 'toLocaleLowerCase',
+      'toLocaleUpperCase', 'localeCompare', 'match', 'search',
+      'replace', 'split', 'substr', 'concat', 'slice'
+    ],
+    methodCount = methods.length,
+    assignStringGeneric = function(methodName) {
+      var method = String.prototype[methodName];
+      String[methodName] = function(arg1) {
+        return method.apply(arg1, Array.prototype.slice.call(arguments, 1));
+      };
+    };
+
+  for (i = 0; i < methodCount; i++) {
+    assignStringGeneric(methods[i]);
+  }
+}());
+
+ +

Instàncies de String

+ +

Propietats

+ +
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'Properties')}}
+ +

Mètodes

+ +

Mètodes no relacionats amb HTML

+ +
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'Methods_unrelated_to_HTML')}}
+ +

Mètodes d'embolcall de HTML

+ +
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'HTML_wrapper_methods')}}
+ +

Exemples

+ +

Exemple: Conversió de strings

+ +

És posible utilitzar String com a una alternativa "més segura" de {{jsxref("String.prototype.toString()","toString()")}}, ja que tot i que normalment també crida el mètode toString() subjacent, també funciona per a {{jsxref("Global_Objects/null", "null")}} i {{jsxref("Global_Objects/undefined", "undefined")}}. Per exemple:

+ +
var outputStrings = [];
+for (var i = 0, n = inputValues.length; i < n; ++i) {
+  outputStrings.push(String(inputValues[i]));
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
ECMAScript 1a EdicióStandardDefinició inicial.
{{SpecName('ES5.1', '#sec-15.5', 'String')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string-objects', 'String')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("0.2")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/global_objects/string/indexof/index.html b/files/ca/web/javascript/reference/global_objects/string/indexof/index.html new file mode 100644 index 0000000000..9b08b04ded --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/indexof/index.html @@ -0,0 +1,190 @@ +--- +title: String.prototype.indexOf() +slug: Web/JavaScript/Referencia/Objectes_globals/String/indexOf +translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf +--- +
{{JSRef}}
+ +

El mètode indexOf() retorna la primera posició dins el {{jsxref("String")}} des del que es crida a la qual es troba el valor proporcionat. Retorna -1 si no es troba el valor donat.

+ +

Sintaxi

+ +
str.indexOf(valorACercar[, posicioInicial])
+ +

Paràmetres

+ +
+
valorACercar
+
Un string que representa el valor a cercar.
+
posicioInicial {{optional_inline}}
+
La posició a partir de la qual es cercarà dins la cadena. Pot ser qualsevol nombre sencer. El valor per defecte és 0, indicant que es cercarà a tota la cadena. Si posicioInicial < 0 es cercarà a tota la cadena. Si posicioInicial >= str.length, no es cercarà a la cadena i es retornarà -1 automàticament. Si valorACercar és una cadena buida es retornarà str.length.
+
+ +

Descripció

+ +

Els caràcters de la cadena s'indexen d'esquerra a dreta. La posició del primer caràcter és 0, i la posició de l'últim caràcter d'una cadena amb nom stringName és  stringName.length - 1.

+ +
'Blue Whale'.indexOf('Blue');     // returns  0
+'Blue Whale'.indexOf('Blute');    // returns -1
+'Blue Whale'.indexOf('Whale', 0); // returns  5
+'Blue Whale'.indexOf('Whale', 5); // returns  5
+'Blue Whale'.indexOf('', 9);      // returns  9
+'Blue Whale'.indexOf('', 10);     // returns 10
+'Blue Whale'.indexOf('', 11);     // returns 10
+
+ +

Distinció entre majúscules i minúscules

+ +

El mètode indexOf() distingeix entre majúscules i minúscules. Per exemple, l'expressió següent retorna -1:

+ +
'Blue Whale'.indexOf('blue'); // retorna -1
+
+ +

Comprovar troballes

+ +

Cal destacar que '0' no s'evalua a true i que '-1' no s'evalua a false. Tenim llavors que al comprovar si una cadena específica existeix dins una altra, la forma correcta de comprovar-ho seria:

+ +
'Blue Whale'.indexOf('Blue') !== -1; // true
+'Blue Whale'.indexOf('Bloe') !== -1; // false
+
+ +

Exemples

+ +

Utilitzar indexOf() i lastIndexOf()

+ +

L'exemple següent utilitza indexOf() i {{jsxref("String.prototype.lastIndexOf()", "lastIndexOf()")}} per a trobar valors dins la cadena "Brave new world".

+ +
var anyString = 'Brave new world';
+
+console.log('La posicó de la primera w des del principi és ' + anyString.indexOf('w'));
+// mostra 8
+console.log('La posició de la primera w des del final és ' + anyString.lastIndexOf('w'));
+// mostra 10
+
+console.log('La posicó de "new" des del principi és ' + anyString.indexOf('new'));
+// mostra 6
+console.log('La posició de "new" des del final és ' + anyString.lastIndexOf('new'));
+// mostra 6
+
+ +

indexOf() i distinció entre majúscules i minúscules

+ +

L'exemple següent definteix dos variables de tipus cadena. The following example defines two string variables. The variables contain the same string except that the second string contains uppercase letters. The first {{domxref("console.log()")}} method displays 19. But because the indexOf() method is case sensitive, the string "cheddar" is not found in myCapString, so the second console.log() method displays -1.

+ +
var myString    = 'brie, pepper jack, cheddar';
+var myCapString = 'Brie, Pepper Jack, Cheddar';
+
+console.log('myString.indexOf("cheddar") is ' + myString.indexOf('cheddar'));
+// logs 19
+console.log('myCapString.indexOf("cheddar") is ' + myCapString.indexOf('cheddar'));
+// logs -1
+
+ +

Using indexOf() to count occurrences of a letter in a string

+ +

The following example sets count to the number of occurrences of the letter e in the string str:

+ +
var str = 'To be, or not to be, that is the question.';
+var count = 0;
+var pos = str.indexOf('e');
+
+while (pos !== -1) {
+  count++;
+  pos = str.indexOf('e', pos + 1);
+}
+
+console.log(count); // displays 4
+
+ +

Specifications

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES1')}}{{Spec2('ES1')}}Initial definition.
{{SpecName('ES5.1', '#sec-15.5.4.7', 'String.prototype.indexOf')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.indexof', 'String.prototype.indexOf')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-string.prototype.indexof', 'String.prototype.indexOf')}}{{Spec2('ESDraft')}} 
+ +

Browser compatibility

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

See also

+ +
    +
  • {{jsxref("String.prototype.charAt()")}}
  • +
  • {{jsxref("String.prototype.lastIndexOf()")}}
  • +
  • {{jsxref("String.prototype.split()")}}
  • +
  • {{jsxref("Array.prototype.indexOf()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/italics/index.html b/files/ca/web/javascript/reference/global_objects/string/italics/index.html new file mode 100644 index 0000000000..f38a8f9579 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/italics/index.html @@ -0,0 +1,104 @@ +--- +title: String.prototype.italics() +slug: Web/JavaScript/Referencia/Objectes_globals/String/italics +translation_of: Web/JavaScript/Reference/Global_Objects/String/italics +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode italics() crea un element HTML {{HTMLElement("i")}} que converteix una cadena en format itàlic.

+ +

Sintaxi

+ +
str.italics()
+ +

Descripció

+ +

El mètode italics() incrusta una cadena en una etiqueta <i>: "<i>str</i>".

+ +

Exemples

+ +

Utilitzar italics()

+ +

L'exemple següent utilitza mètodes string per canviar el format de la cadena:

+ +
var worldString = 'Hola, món'; console.log(worldString.blink());  // Hello, world
+console.log(worldString.bold());  // Hola, món
+console.log(worldString.italics()); //Hola, món
+console.log(worldString.strike());  // Hola, món
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.italics', 'String.prototype.italics')}}{{Spec2('ES6')}}Definició inicial. Implemtat en JavaScript 1.0. Definit en l'Annex B (normative) per Caracerístiques Adiccionals d'ECMAScript per navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.blink()")}}
  • +
  • {{jsxref("String.prototype.bold()")}}
  • +
  • {{jsxref("String.prototype.strike()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/length/index.html b/files/ca/web/javascript/reference/global_objects/string/length/index.html new file mode 100644 index 0000000000..63a3114d2d --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/length/index.html @@ -0,0 +1,121 @@ +--- +title: String.length +slug: Web/JavaScript/Referencia/Objectes_globals/String/length +translation_of: Web/JavaScript/Reference/Global_Objects/String/length +--- +
{{JSRef("Global_Objects", "String")}}
+ +

Resum

+ +

La propietat length representa la longitud d'una cadena de caràcters.

+ +

Sintaxi

+ +
str.length
+ +

Descripció

+ +

Aquesta propietat retorna el nombre d'unitats de codi en un string. {{interwiki("wikipedia", "UTF-16")}}, el format de string utilitzar a JavaScript, utilitza un únic codi de 16 bits per a representar els caràcters més comuns, però necessita dos unitats de codi per a caràcters menys comuns, així que és possible que el valor retornat per length no encaixi amb el nombre de caràcters reals a la cadena de caràcters.

+ +

Per a una cadena buida, length és 0.

+ +

La propietat estàtica String.length retorna el valor 1.

+ +

Exemples

+ +

Exemple: Ús bàsic

+ +
var x = 'Mozilla';
+var empty = '';
+
+console.log('Mozilla té ' + x.length + ' unitats de codi');
+/* "Mozilla té 7 unitats de codi" */
+
+console.log('La string buida té una longitud de ' + empty.length);
+/* "La string buida té una longitud de 0" */
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacionsEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.5.1', 'String.prototype.length')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-properties-of-string-instances-length', 'String.prototype.length')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/global_objects/string/link/index.html b/files/ca/web/javascript/reference/global_objects/string/link/index.html new file mode 100644 index 0000000000..efe1385ddc --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/link/index.html @@ -0,0 +1,119 @@ +--- +title: String.prototype.link() +slug: Web/JavaScript/Referencia/Objectes_globals/String/link +translation_of: Web/JavaScript/Reference/Global_Objects/String/link +--- +
{{JSRef}}
+ +

El mètode link() crea un element HTML {{HTMLElement("a")}} que causa que una cadena es mostri com un enllaç hipertext a una altra URL.

+ +

Sintaxi

+ +
str.link(url)
+ +

Paràmetres

+ +
+
url
+
Una cadena que especifica l'atribut href de l'etiqueta <a>: hauria de ser una URL vàlida (relativa o absoluta), amb qualsevols caràcters escapats & com &amp;, i qualsevol caràcter "  escapat com &quot;.
+
+ +

Descripció

+ +

Use the link() method to create an HTML snippet for a hypertext link. The returned string can then be added to the document via {{domxref("document.write()")}} or {{domxref("element.innerHTML")}}.

+ +

Links created with the link() method become elements in the links array of the document object. See {{domxref("document.links")}}.

+ +

Exemples

+ +

Utilitzar link()

+ +

L'exemple següent mostra la paraula "MDN" com a un enllaç hypertext lque retorna a l'usuari a la xarxa de Mozilla Developer.

+ +
var hotText = 'MDN';
+var URL = 'https://developer.mozilla.org/';
+
+console.log('Click to return to ' + hotText.link(URL));
+// Click to return to <a href="https://developer.mozilla.org/">MDN</a>
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.link', 'String.prototype.link')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques Addiccionals d'ECMAScript per Navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Notes específiques Gecko

+ +
    +
  • Starting Gecko 17.0 {{geckoRelease("17")}} the " (quotation mark) is now automatically replaced by its HTML reference character &quot; in the url parameter.
  • +
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.anchor()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/normalize/index.html b/files/ca/web/javascript/reference/global_objects/string/normalize/index.html new file mode 100644 index 0000000000..7a6bcef500 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/normalize/index.html @@ -0,0 +1,154 @@ +--- +title: String.prototype.normalize() +slug: Web/JavaScript/Referencia/Objectes_globals/String/normalize +translation_of: Web/JavaScript/Reference/Global_Objects/String/normalize +--- +
{{JSRef}}
+ +

El mètode normalize() retorna la Forma Normalitzada en Unicode d'un string donat (si el valor passat no és un string, es convertirà a string primer).

+ +

Sintaxi

+ +
str.normalize([forma])
+ +

Paràmetres

+ +
+
forma
+
Una de les opcions "NFC", "NFD", "NFKC", o "NFKD", que determina quina Forma de Normalització Unicode es farà anar. Si s'omet o es passa {{jsxref("undefined")}} com a paràmetre, s'utilitzarà "NFC" per defecte. +
    +
  • NFC — Normalization Form Canonical Composition.
  • +
  • NFD — Normalization Form Canonical Decomposition.
  • +
  • NFKC — Normalization Form Compatibility Composition.
  • +
  • NFKD — Normalization Form Compatibility Decomposition.
  • +
+
+
+ +

Errors llençats

+ +
+
{{jsxref("RangeError")}}
+
Es llença un {{jsxref("RangeError")}} si forma no és un dels valors especificats adalt.
+
+ +

Descripció

+ +

El mètode normalize() retorna la Forma Normalitzada Unicode d'un string. No afecta el propi valor del string passat sino que en retorna un de nou.

+ +

Exemples

+ +

Utilitzar normalize()

+ +
// String inicial
+
+// U+1E9B: LLETRA S PETITA DEL LLATÍ AMB UN PUNT A SOBRE
+// U+0323: COMBINACIÓ AMB EL PUNT A SOTA
+var str = '\u1E9B\u0323';
+
+
+// Canonically-composed form (NFC)
+
+// U+1E9B: LLETRA S PETITA DEL LLATÍ AMB UN PUNT A SOBRE
+// U+0323: COMBINACIÓ AMB EL PUNT A SOTA
+str.normalize('NFC'); // '\u1E9B\u0323'
+str.normalize();      // el mateix que a sobre
+
+
+// Canonically-decomposed form (NFD)
+
+// U+017F: LLETRA S PETITA DEL LLATÍ AMB UN PUNT A SOBRE
+// U+0323: COMBINACIÓ AMB EL PUNT A SOTA
+// U+0307: COMBINACIÓ AMB EL PUNT A SOBRE
+str.normalize('NFD'); // '\u017F\u0323\u0307'
+
+
+// Compatibly-composed (NFKC)
+
+// U+1E69: LLETRA S PETITA DEL LLATÍ AMB UN PUNT A SOBRE
+str.normalize('NFKC'); // '\u1E69'
+
+
+// Compatibly-decomposed (NFKD)
+
+// U+0073: LLETRA S PETITA DEL LLATÍ
+// U+0323: COMBINACIÓ AMB EL PUNT A SOTA
+// U+0307: COMBINACIÓ AMB EL PUNT A SOBRE
+str.normalize('NFKD'); // '\u0073\u0323\u0307'
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.normalize', 'String.prototype.normalize')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("34")}}{{CompatGeckoDesktop("31")}}{{CompatIE("11")}}{{CompatVersionUnknown}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome("34")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/global_objects/string/small/index.html b/files/ca/web/javascript/reference/global_objects/string/small/index.html new file mode 100644 index 0000000000..761797bdda --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/small/index.html @@ -0,0 +1,110 @@ +--- +title: String.prototype.small() +slug: Web/JavaScript/Referencia/Objectes_globals/String/small +translation_of: Web/JavaScript/Reference/Global_Objects/String/small +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode small() crea un element HTML {{HTMLElement("small")}} que causa que una cadena es mostri amb una font petita.

+ +

Sintaxi

+ +
str.small()
+ +

Descripció

+ +

El mètode small() incrusta una adena en una etiqueta <small>: "<small>str</small>".

+ +

Exemples

+ +

Utilitzar small()

+ +

L'exemple següent utilitza mètodes string per canviar la mida d'una cadena:

+ +
var worldString = 'Hola, món';
+
+console.log(worldString.small());     // <small>Hola, món</small>
+console.log(worldString.big());       // <big>Hola, món</big>
+console.log(worldString.fontsize(7)); // <font size="7">Hola, món</fontsize>
+
+ +

Amb l'objecte {{domxref("HTMLElement.style", "element.style")}} es pot obtenir l'atribut style  d'un element i manipular-lo més genèricament. Per exemple:

+ +
document.getElementById('yourElemId').style.fontSize = '0.7em';
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.small', 'String.prototype.small')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques Addiccionals d'ECMAScript per Navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.fontsize()")}}
  • +
  • {{jsxref("String.prototype.big()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/startswith/index.html b/files/ca/web/javascript/reference/global_objects/string/startswith/index.html new file mode 100644 index 0000000000..ca25398d51 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/startswith/index.html @@ -0,0 +1,128 @@ +--- +title: String.prototype.startsWith() +slug: Web/JavaScript/Referencia/Objectes_globals/String/startsWith +translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith +--- +
{{JSRef}}
+ +

El mètode startsWith() determina si un string comença amb els caràcters d'un altre string, retornant true o false depenent d'això.

+ +

Sintaxi

+ +
str.startsWith(stringAcercar[, posició])
+ +

Paràmetres

+ +
+
stringAcercar
+
Els caràcters a cercar al començament d'aquest string.
+
posició
+
Opcional. La posició dins el string a la qual es començarà a cercar per a trobar stringAcercar; per defecte és 0.
+
+ +

Descripció

+ +

Aquest mètode us permet determinar si un string comença amb un altre string.

+ +

Exemples

+ +

Utilitzar startsWith()

+ +
var str = 'To be, or not to be, that is the question.';
+
+console.log(str.startsWith('To be'));         // true
+console.log(str.startsWith('not to be'));     // false
+console.log(str.startsWith('not to be', 10)); // true
+
+ +

Polyfill

+ +

Aquest mètode va ser afegit a l'especificació ECMAScript i pot no estar disponible encara a totes les implementacions de JavaScript. No obstant, la funció següent emula el comportament de String.prototype.startsWith():

+ +
if (!String.prototype.startsWith) {
+  String.prototype.startsWith = function(searchString, position) {
+    position = position || 0;
+    return this.indexOf(searchString, position) === position;
+  };
+}
+
+ +

Trobareu una funció Polyfill més robusta i optimitzada al GitHub de Mathias Bynens.

+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.startswith', 'String.prototype.startsWith')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("41")}}{{CompatGeckoDesktop("17")}}{{CompatNo}}{{CompatChrome("41")}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome("36")}}{{CompatGeckoMobile("17")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.endsWith()")}} {{experimental_inline}}
  • +
  • {{jsxref("String.prototype.includes()")}} {{experimental_inline}}
  • +
  • {{jsxref("String.prototype.indexOf()")}}
  • +
  • {{jsxref("String.prototype.lastIndexOf()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/sub/index.html b/files/ca/web/javascript/reference/global_objects/string/sub/index.html new file mode 100644 index 0000000000..0b512d038e --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/sub/index.html @@ -0,0 +1,109 @@ +--- +title: String.prototype.sub() +slug: Web/JavaScript/Referencia/Objectes_globals/String/sub +translation_of: Web/JavaScript/Reference/Global_Objects/String/sub +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode sub() crea un element HTML {{HTMLElement("sub")}} que fa que una cadena es mostri com a subíndex.

+ +

Sintaxi

+ +
str.sub()
+ +

Descripció

+ +

El mètode sub() incrusta una cadena a una etiqueta <sub>: "<sub>str</sub>".

+ +

Exemples

+ +

Utilitzar els mètodes sub() i sup()

+ +

El codi següent utiltza els mètodes sub() i {{jsxref("String.prototype.sup()", "sup()")}} per donar format a una cadena:

+ +
var superText="superíndex";
+var subText="subíndex";
+
+console.log("Així es com es veu un " + superText.sup());
+// Així es com es veu un <sup>superíndex</sup>.
+
+console.log("Així es com es veu un " + subText.sub());
+// Així es com es veu un <sub>subíndex</sub>.
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.sub', 'String.prototype.sub')}}{{Spec2('ES6')}} +

Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per a Característiques Addicicionals d'ECMAScript per Navegadors Web.

+
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.sup()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/substr/index.html b/files/ca/web/javascript/reference/global_objects/string/substr/index.html new file mode 100644 index 0000000000..5fdb1f03b4 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/substr/index.html @@ -0,0 +1,156 @@ +--- +title: String.prototype.substr() +slug: Web/JavaScript/Referencia/Objectes_globals/String/substr +translation_of: Web/JavaScript/Reference/Global_Objects/String/substr +--- +
{{JSRef}}
+ +

El mètode substr() retorna els caràcters d'una cadena començant per la posició especificada fins al nombre especificat de caràcters.

+ +

Sintaxi

+ +
str.substr(començament[, llargària])
+ +

Paràmetres

+ +
+
començament
+
Lloc des d'on es comença a extraure els caràcters. Si es dóna un nombre negatiu, se'l tracta com strLength + començament on strLength és la llargària de al cadena (per exemple, si començament és -3 se'l tracta com strLength - 3.)
+
llargària
+
Opcional. El nombre de caràcter per extraure.
+
+ +

Descripció

+ +

començament is a character index. L'índex del primer caràcter és 0, i l'índex de l'últim caràcter és 1 menys que la llargària de la cadena. substr() comença extraient caràcters a començament i recull els caràcters llargària (llevat que primer s'arribi al final de la cadena, en aquest cas en retornaria menys).

+ +

Si començament és positivu i més gran o igual que la llargària de la cadena, substr() retornarà una cadena buida.

+ +

SI començament és negatiu, substr() l'utilitza com un índex de caràcter des del final de la cadena. Si començament és negatiu i  abs(comença,ent) és més gran que la llargària de la cadena, substr() utilitza 0 com a índex d'inici. Nota: El maneig de valors negatius de l'argument començament no està suportat per Microsoft JScript.

+ +

Si llargària és 0 o negatiu, substr() retorna una cadena buida. Si llargària s'omet, substr() extreu els caràcter fins al final de la cadena.

+ +

Exemples

+ +

Utilitzar substr()

+ +
var str = 'abcdefghij';
+
+console.log('(1, 2): '   + str.substr(1, 2));   // '(1, 2): bc'
+console.log('(-3, 2): '  + str.substr(-3, 2));  // '(-3, 2): hi'
+console.log('(-3): '     + str.substr(-3));     // '(-3): hij'
+console.log('(1): '      + str.substr(1));      // '(1): bcdefghij'
+console.log('(-20, 2): ' + str.substr(-20, 2)); // '(-20, 2): ab'
+console.log('(20, 2): '  + str.substr(20, 2));  // '(20, 2): '
+
+ +

Polyfill

+ +

Microsoft's JScript no suporta valors negatius per l'índex d'inici. Si desitjes utilitzar aquesta característica, pots utilitzar el codi de compatibilitat següent per evitar aquest error:

+ +
// només s'executa quan la funció substr() està trencada
+if ('ab'.substr(-1) != 'b') {
+  /**
+   *  Obtenir la subcadena d'una cadena
+   *  @param  {integer}  start   on comença la subcadena
+   *  @param  {integer}  length  quants caràcters s'han de retornar
+   *  @return {string}
+   */
+  String.prototype.substr = function(substr) {
+    return function(start, length) {
+      // crida el mètode original
+      return substr.call(this,
+      	// Si ens dóna un començament negatiu, calcular quant es des de l'inici de la cadena
+        // adjustar el paràmetre start per valor negatiu
+        start < 0 ? this.length + start : start,
+        length)
+    }
+  }(String.prototype.substr);
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definit en l'Annex B de Compatibilitat (informative). Implementat en JavaScript 1.0.
{{SpecName('ES5.1', '#sec-B.2.3', 'String.prototype.substr')}}{{Spec2('ES5.1')}}Definit en l'Annex B de Compatibilitat (informative)
{{SpecName('ES6', '#sec-string.prototype.substr', 'String.prototype.substr')}}{{Spec2('ES6')}}Definit en l'Annex B (normative) per Característiques addiccionals d'ECMAScript per Navegadors Web
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.slice()")}}
  • +
  • {{jsxref("String.prototype.substring()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/sup/index.html b/files/ca/web/javascript/reference/global_objects/string/sup/index.html new file mode 100644 index 0000000000..24b46c88ce --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/sup/index.html @@ -0,0 +1,107 @@ +--- +title: String.prototype.sup() +slug: Web/JavaScript/Referencia/Objectes_globals/String/sup +translation_of: Web/JavaScript/Reference/Global_Objects/String/sup +--- +
{{JSRef}} {{deprecated_header}}
+ +

El mètode sup() crea un element HTML {{HTMLElement("sup")}} que causa que la cadena es mostri com un superíndex.

+ +

Sintaxi

+ +
str.sup()
+ +

Descripció

+ +

El mètode sup() incrusta una cadena en l'etiqueta <sup>:"<sup>str</sup>".

+ +

Exemples

+ +

Utilitzar els mètodes sub() i sup()

+ +

L'exemple següent utilitza els mètodes {{jsxref("String.prototype.sub()", "sub()")}} i sup() per formatejar la cadena:

+ +
var superText = 'superíndex';
+var subText = 'subíndex';
+
+console.log('This is what a ' + superText.sup());
+// "Així es com es veu un <sup>superíndex</sup>."
+
+console.log('This is what a ' + subText.sub());
+// "Així es com es veu un <sub>subíndex</sub>."
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.sup', 'String.prototype.sup')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per a Característiques Addicicionals d'ECMAScript per Navegadors Web.
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.sub()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/tolocalelowercase/index.html b/files/ca/web/javascript/reference/global_objects/string/tolocalelowercase/index.html new file mode 100644 index 0000000000..c138197bc1 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/tolocalelowercase/index.html @@ -0,0 +1,110 @@ +--- +title: String.prototype.toLocaleLowerCase() +slug: Web/JavaScript/Referencia/Objectes_globals/String/toLocaleLowerCase +translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase +--- +
{{JSRef}}
+ +

El mètode toLocaleLowerCase() retorna el valor del string que fa la crida convertit a minúscules , tot seguint les directrius locals específiques de conversió a minúscules.

+ +

Sintaxi

+ +
str.toLocaleLowerCase()
+ +

Descripció

+ +

El mètode toLocaleLowerCase() retorna el valor del string que fa la crida convertit a minúscules , tot seguint les directrius locals específiques de conversió a minúscules.El mètode toLocaleLowerCase() retorna el valor del string que fa la crida convertit a minúscules , tot seguint les directrius locals específiques de conversió a minúscules. En la majoria dels casos, la crida a aquest mètode produirà un resultat similar a la del mètode {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}, però per a algunes localitzacions, com ara el Turc, en les quals el pas de majúscules a minúscules o de minúscules a majúscules no segueix les assignacions per defecte del Unicode, el resultat pot diferir.

+ +

Exemples

+ +

Utilitzar toLocaleLowerCase()

+ +
console.log('ALFABET'.toLocaleLowerCase()); // 'alfabet'
+
+ +

Especifications

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.17', 'String.prototype.toLocaleLowerCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tolocalelowercase', 'String.prototype.toLocaleLowerCase')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.toLocaleUpperCase()")}}
  • +
  • {{jsxref("String.prototype.toLowerCase()")}}
  • +
  • {{jsxref("String.prototype.toUpperCase()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html b/files/ca/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html new file mode 100644 index 0000000000..8f7b2aa716 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html @@ -0,0 +1,110 @@ +--- +title: String.prototype.toLocaleUpperCase() +slug: Web/JavaScript/Referencia/Objectes_globals/String/toLocaleUpperCase +translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase +--- +
{{JSRef}}
+ +

El mètode toLocaleUpperCase() retorna el valor del string que fa la crida convertit a majúscules, tot seguint les directrius locals específiques de conversió a majúscules.

+ +

Sintaxi

+ +
str.toLocaleUpperCase()
+ +

Descripció

+ +

El mètode toLocaleUpperCase() retorna el valor del string que fa la crida convertit a majúscules, tot seguint les directrius locals específiques de conversió a majúscules. toLocaleUpperCase() no afecta el valor del string que fa la crida sino que en retorna un de nou. En la majoria dels casos, la crida a aquest mètode produirà un resultat similar a la del mètode {{jsxref("String.prototype.toUpperCase()", "toUpperCase()")}}, però per a algunes localitzacions, com ara el Turc, en les quals el pas de majúscules a minúscules o de minúscules a majúscules no segueix les assignacions per defecte del Unicode, el resultat pot diferir.

+ +

Exemples

+ +

Utilitzar toLocaleUpperCase()

+ +
console.log('alfabet'.toLocaleUpperCase()); // 'ALFABET'
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.19', 'String.prototype.toLocaleUpperCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tolocaleuppercase', 'String.prototype.toLocaleUpperCase')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.toLocaleLowerCase()")}}
  • +
  • {{jsxref("String.prototype.toLowerCase()")}}
  • +
  • {{jsxref("String.prototype.toUpperCase()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/tolowercase/index.html b/files/ca/web/javascript/reference/global_objects/string/tolowercase/index.html new file mode 100644 index 0000000000..7147d0ea0d --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/tolowercase/index.html @@ -0,0 +1,111 @@ +--- +title: String.prototype.toLowerCase() +slug: Web/JavaScript/Referencia/Objectes_globals/String/toLowerCase +translation_of: Web/JavaScript/Reference/Global_Objects/String/toLowerCase +--- +
{{JSRef}}
+ +

El mètode toLowerCase() retorna  el valor del string que fa la crida convertit a majúscules.
+  

+ +

Sintaxi

+ +
str.toLowerCase()
+ +

Descripció

+ +

El mètode toLowerCase() retorna  el valor del string que fa la crida convertit a majúscules. toLowerCase() no afecta el valor del string que fa la crida sino que en retorna un de nou.

+ +

Exemples

+ +

Utilitzar toLowerCase()

+ +
console.log('ALFABET'.toLowerCase()); // 'alfabet'
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacionsEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.4.16', 'String.prototype.toLowerCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tolowercase', 'String.prototype.toLowerCase')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.toLocaleLowerCase()")}}
  • +
  • {{jsxref("String.prototype.toLocaleUpperCase()")}}
  • +
  • {{jsxref("String.prototype.toUpperCase()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/tostring/index.html b/files/ca/web/javascript/reference/global_objects/string/tostring/index.html new file mode 100644 index 0000000000..11f2555a2f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/tostring/index.html @@ -0,0 +1,113 @@ +--- +title: String.prototype.toString() +slug: Web/JavaScript/Referencia/Objectes_globals/String/toString +translation_of: Web/JavaScript/Reference/Global_Objects/String/toString +--- +
{{JSRef}}
+ +

El mètode toString() retorna un string que representa l'objecte especificat.

+ +

Sintaxi

+ +
str.toString()
+ +

Descripció

+ +

L'objecte {{jsxref("String")}} sobreescriu el mètode toString() de l'objecte {{jsxref("Object")}}; no hereta {{jsxref("Object.prototype.toString()")}}. Per a objectes {{jsxref("String")}}, el mètode toString() retorna un string que representa l'objecte i és el mateix que el que el retornat pel mètode {{jsxref("String.prototype.valueOf()")}}.

+ +

Exemples

+ +

Utilitzar toString()

+ +

L'exemple següent mostra el valor d'un objecte {{jsxref("String")}}:

+ +
var x = new String('Hello world');
+
+console.log(x.toString()); // mostra 'Hello world'
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.5.4.2', 'String.prototype.toString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tostring', 'String.prototype.toString')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Object.prototype.toSource()")}}
  • +
  • {{jsxref("String.prototype.valueOf()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/touppercase/index.html b/files/ca/web/javascript/reference/global_objects/string/touppercase/index.html new file mode 100644 index 0000000000..2a3b4fe56a --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/touppercase/index.html @@ -0,0 +1,110 @@ +--- +title: String.prototype.toUpperCase() +slug: Web/JavaScript/Referencia/Objectes_globals/String/toUpperCase +translation_of: Web/JavaScript/Reference/Global_Objects/String/toUpperCase +--- +
{{JSRef}}
+ +

El mètode toUpperCase() retorna  el valor del string que fa la crida convertit a majúscules.

+ +

Sintaxi

+ +
str.toUpperCase()
+ +

Descripció

+ +

El mètode toUpperCase() retorna  el valor del string que fa la crida convertit a majúscules. toUpperCase() no afecta el valor del string que fa la crida sino que en retorna un de nou.

+ +

Exemples

+ +

Utilitzar toUpperCase()

+ +
console.log('alfabet'.toUpperCase()); // 'ALFABET'
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.4.18', 'String.prototype.toUpperCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.touppercase', 'String.prototype.toUpperCase')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.toLocaleLowerCase()")}}
  • +
  • {{jsxref("String.prototype.toLocaleUpperCase()")}}
  • +
  • {{jsxref("String.prototype.toLowerCase()")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/trim/index.html b/files/ca/web/javascript/reference/global_objects/string/trim/index.html new file mode 100644 index 0000000000..2dd955ea62 --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/trim/index.html @@ -0,0 +1,123 @@ +--- +title: String.prototype.trim() +slug: Web/JavaScript/Referencia/Objectes_globals/String/Trim +translation_of: Web/JavaScript/Reference/Global_Objects/String/Trim +--- +
{{JSRef}}
+ +

El mètode trim() elimina els espais en blanc tant a l'inici com al final del string. En aquest contexte, s'entèn com a espais en blanc tots les caràcters que no imprimeixin res (espai, tabulador, espai sense salt de línia, etcètera) així com tots els caràcters terminadors de línia (LF, CR, etc.).

+ +

Sintaxi

+ +
str.trim()
+ +

Descripció

+ +

El mètode trim() retorna un string sense espais en blanc tant a l'inici com al final. trim() no afecta el valor del string ja que en retorna un de nou.

+ +

Exemples

+ +

Utilitzar trim()

+ +

L'exemple següent mostra el string 'foo':

+ +
var orig = '   foo  ';
+console.log(orig.trim()); // 'foo'
+
+// Un altre exemple de .trim() eliminant espais en blanc només d'un cantó.
+
+var orig = 'foo    ';
+console.log(orig.trim()); // 'foo'
+
+ +

Polyfill

+ +

Executar el codi que es mostra a continuació abans d'executar cap altre codi crearà la funció trim() si aquesta no està disponible de forma nativa.

+ +
if (!String.prototype.trim) {
+  String.prototype.trim = function () {
+    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
+  };
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.5.4.20', 'String.prototype.trim')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.8.1.
{{SpecName('ES6', '#sec-string.prototype.trim', 'String.prototype.trim')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatIE("9")}}{{CompatOpera("10.5")}}{{CompatSafari("5")}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.trimLeft()")}} {{non-standard_inline}}
  • +
  • {{jsxref("String.prototype.trimRight()")}} {{non-standard_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/trimend/index.html b/files/ca/web/javascript/reference/global_objects/string/trimend/index.html new file mode 100644 index 0000000000..41ab89e3ca --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/trimend/index.html @@ -0,0 +1,94 @@ +--- +title: String.prototype.trimRight() +slug: Web/JavaScript/Referencia/Objectes_globals/String/TrimRight +translation_of: Web/JavaScript/Reference/Global_Objects/String/trimEnd +--- +
{{JSRef}} {{non-standard_header}}
+ +

El mètode trimRight() elimina els espais en blanc al final d'un string.

+ +

Sintaxi

+ +
str.trimRight()
+ +

Descripció

+ +

El mètode trimRight() retorna el string sense espais en blanc al final del mateix. trimRight() no afecta el valor del string sino que en retorna un de nou.

+ +

Exemples

+ +

Utilitzar trimRight()

+ +

L'exemple següent mostra el string ' foo':

+ +
var str = '   foo  ';
+
+console.log(str.length); // 8
+
+str = str.trimRight();
+console.log(str.length); // 5
+console.log(str);        // '   foo'
+
+ +

Especificacions

+ +

No forma part de cap standard. Implementat a JavaScript 1.8.1.

+ +

Browser compatibility

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.trim()")}}
  • +
  • {{jsxref("String.prototype.trimLeft()")}} {{non-standard_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/string/trimstart/index.html b/files/ca/web/javascript/reference/global_objects/string/trimstart/index.html new file mode 100644 index 0000000000..f16a5b89fa --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/string/trimstart/index.html @@ -0,0 +1,94 @@ +--- +title: String.prototype.trimLeft() +slug: Web/JavaScript/Referencia/Objectes_globals/String/TrimLeft +translation_of: Web/JavaScript/Reference/Global_Objects/String/trimStart +--- +
{{JSRef}} {{non-standard_header}}
+ +

El mètode trimLeft() elimina els espais en blanc a l'esquerra del string.

+ +

Sintaxi

+ +
str.trimLeft()
+ +

Descripció

+ +

El mètode trimLeft() retorna un string on els espais en blanc del començament s'han eliminat. trimLeft() no afecta al valor mateix del string sino que en retorna un de nou.

+ +

Exemples

+ +

Utilitzar trimLeft()

+ +

L'exemple següent mostra el string 'foo ':

+ +
var str = '   foo  ';
+
+console.log(str.length); // 8
+
+str = str.trimLeft();
+console.log(str.length); // 5
+console.log(str);        // 'foo  '
+
+ +

Especificacions

+ +

No és part de cap standard. Implementat a JavaScript 1.8.1.

+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("String.prototype.trim()")}}
  • +
  • {{jsxref("String.prototype.trimRight()")}} {{non-standard_inline}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/syntaxerror/index.html b/files/ca/web/javascript/reference/global_objects/syntaxerror/index.html new file mode 100644 index 0000000000..2ad16e006f --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/syntaxerror/index.html @@ -0,0 +1,166 @@ +--- +title: SyntaxError +slug: Web/JavaScript/Referencia/Objectes_globals/SyntaxError +translation_of: Web/JavaScript/Reference/Global_Objects/SyntaxError +--- +
{{JSRef}}
+ +

L'objecte SyntaxError representa un error quan s'intenta interpretar un codi sintàcticament no vàlid.

+ +

Descripció

+ +

Es llança un SyntaxError quan el motor JavaScript es troba amb tokens o un token que no s'adequa a la sintaxi del llenguatge quan s'interpreta el codi.

+ +

Sintaxi

+ +
new SyntaxError([missatge[, nomFitxer[, numeroLinia]]])
+ +

Paràmetres

+ +
+
missatge
+
Opcional. Descripció llegible per humans de l'error
+
nomFitxer {{non-standard_inline}}
+
Opcional. El nom del fitxer que conté el codi que causa l'excepció
+
numeroLinia {{non-standard_inline}}
+
Opcional. El número de linia del codi que causa l'excepció
+
+ +

Propietats

+ +
+
{{jsxref("SyntaxError.prototype")}}
+
Permet l'addició de propietats a un objecte SyntaxError.
+
+ +

Mètodes

+ +

El SyntaxError global no conté cap mètode en si mateix, tanmateix, sí que hereta alguns mètodes a través de la cadena prototipus.

+ +

instànces de SyntaxError

+ +

Propietats

+ +
{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype', 'Properties')}}
+ +

Mètodes

+ +
{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype', 'Methods')}}
+ +

Exemples

+ +

Capturar un SyntaxError

+ +
try {
+  eval('hoo bar');
+} catch (e) {
+  console.log(e instanceof SyntaxError); // true
+  console.log(e.message);                // "missing ; before statement"
+  console.log(e.name);                   // "SyntaxError"
+  console.log(e.fileName);               // "Scratchpad/1"
+  console.log(e.lineNumber);             // 1
+  console.log(e.columnNumber);           // 4
+  console.log(e.stack);                  // "@Scratchpad/1:2:3\n"
+}
+
+ +

Crear un SyntaxError

+ +
try {
+  throw new SyntaxError('Hello', 'someFile.js', 10);
+} catch (e) {
+  console.log(e instanceof SyntaxError); // true
+  console.log(e.message);                // "Hello"
+  console.log(e.name);                   // "SyntaxError"
+  console.log(e.fileName);               // "someFile.js"
+  console.log(e.lineNumber);             // 10
+  console.log(e.columnNumber);           // 0
+  console.log(e.stack);                  // "@Scratchpad/2:11:9\n"
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.11.6.4', 'SyntaxError')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Error")}}
  • +
  • {{jsxref("SyntaxError.prototype")}}
  • +
diff --git a/files/ca/web/javascript/reference/global_objects/undefined/index.html b/files/ca/web/javascript/reference/global_objects/undefined/index.html new file mode 100644 index 0000000000..3dd30fbefe --- /dev/null +++ b/files/ca/web/javascript/reference/global_objects/undefined/index.html @@ -0,0 +1,174 @@ +--- +title: undefined +slug: Web/JavaScript/Referencia/Objectes_globals/undefined +translation_of: Web/JavaScript/Reference/Global_Objects/undefined +--- +
+
+
{{jsSidebar("Objects")}}
+
+
+ +

Resum

+ +

El valor de la propietat global undefined representa el valor undefined. És un dels {{Glossary("Primitive", "tipus primitius")}} de JavaScript.

+ +

{{js_property_attributes(0,0,0)}}

+ +

Sintaxi

+ +
undefined
+ +

Descripció

+ +

undefined és una propietat de l'objecte global, és a dir, és una variable dins l'àmbit global.

+ +

Als navegadors moderns (JavaScript 1.8.5 / Firefox 4+), undefined és una propietat no configurable i que no pot ser escrita, tal com denota la especificació ECMAScript 5. Encara que no sigui el cas, és convenient evitar sobreescriure el seu valor.

+ +

Una variable a la que no s'ha assignat cap valor  és de tipus undefined. Un mètode o sentència retornarà undefined si la variable que s'evalua no te assignat cap valor. Una funció retornarà undefined si no es {{jsxref("Statements/return", "retorna")}} un valor explícitament.

+ +

Degut a que undefined no és una {{jsxref("Reserved_Words", "paraula reservada")}} es pot emprar com a identificador (nom de variable) a qualsvol àmbit que no sigui el global.

+ +
// mostra "foo string"
+(function(){ var undefined = 'foo'; console.log(undefined, typeof undefined); })();
+
+// mostra "foo string"
+(function(undefined){ console.log(undefined, typeof undefined); })('foo');
+
+ +

Exemples

+ +

Igualtat estricta i undefined

+ +

Es pot emprar undefined en combinació amb els operadors de igualtat i no-igualtat per determinar si una variable té assignat un valor.

+ +
var x;
+if (x === undefined) {
+   // sentències que s'executaran
+}
+else {
+   // sentències que no s'executaran
+}
+
+ +
Nota: En aquest cas s'ha de fer servir l'operador d'igualtat estricta (===) en comptes de l'operador standard d'igualtat (==) ja que x == undefined també comprova si x és null, mentre que l'operador d'igualtat estricta no ho fa. null no és equivalent a undefined. Per més detalls vegeu {{jsxref("Operators/Comparison_Operators", "comparació d'operadors")}}.
+ +

L'operador Typeof i undefined

+ +

De forma alternativa, es pot emprar {{jsxref("Operators/typeof", "typeof")}}:

+ +
var x;
+if (typeof x === 'undefined') {
+   // sentències que s'executaran
+}
+
+ +

Una raó per utilitzar {{jsxref("Operators/typeof", "typeof")}} és que no provoca un error si la variable no ha estat definida prèviament.

+ +
// x no ha estat prèviament definida
+if (typeof x === 'undefined') { // s'evalua a true sense errors
+   // sentències que s'executaran
+}
+
+if(x === undefined){ // llença ReferenceError
+
+}
+
+ +

De totes formes és recomanable evitar l'ús d'aquest tipus de tècniques. JavaScript és un llenguatge amb àmbits estàtics, de manera que per saber si una variable ha estat definida prèviament n'hi ha prou amb comprovar si ha estat definida dins l'àmbit immediat. L'única excepció és l'àmbit global. Aquest, però, està vinculat a l'objecte global, per la qual cosa comprovar si una variable existeix dins l'àmbit global és equivalent a comprovar l'existència d'una propietat dins l'objecte global (emprant l'operador {{jsxref("Operators/in", "in")}}, per exemple).

+ +

L'operador Void i undefined

+ +

L'operador {{jsxref("Operators/void", "void")}} és una altra alternativa.

+ +
var x;
+if (x === void 0) {
+   // sentències que s'executaran
+}
+
+// y no ha estat definida prèviament
+if (y === void 0) {
+   // llença ReferenceError (en oposició a `typeof`)
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1st Edition.StandardDefinició inicial. Impementat a JavaScript 1.3
{{SpecName('ES5.1', '#sec-15.1.1.3', 'undefined')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-undefined', 'undefined')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

 

diff --git a/files/ca/web/javascript/reference/global_objects/weakmap/prototype/index.html b/files/ca/web/javascript/reference/global_objects/weakmap/prototype/index.html deleted file mode 100644 index 40c3e72ff6..0000000000 --- a/files/ca/web/javascript/reference/global_objects/weakmap/prototype/index.html +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: WeakMap.prototype -slug: Web/JavaScript/Reference/Global_Objects/WeakMap/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/WeakMap -translation_of_original: Web/JavaScript/Reference/Global_Objects/WeakMap/prototype ---- -
{{JSRef}}
- -

La propietat WeakMap.prototype representa el prototip pel constructor {{jsxref("WeakMap")}}.

- -
{{js_property_attributes(0,0,0)}}
- -

Descripció

- -

Les instantànies {{jsxref("WeakMap")}} hereten de {{jsxref("WeakMap.prototype")}}. Es pot utilitzar l'objecte prototip del constructor per afegir propietats o mètodes a totes les instàncies WeakMap.

- -

WeakMap.prototype és en si mateix només un objecte ordinari:

- -
Object.prototype.toString.call(WeakMap.prototype); // "[object Object]"
- -

Propietats

- -
-
WeakMap.prototype.constructor
-
Retorna la funció que ha creat un prototip de la instància. Aquesta és la funció {{jsxref("WeakMap")}} per defecte.
-
- -

Mètodes

- -
-
{{jsxref("WeakMap.delete", "WeakMap.prototype.delete(key)")}}
-
Elimina qualsevol valor associat a key. WeakMap.prototype.has(key) retornarà false després d'això.
-
{{jsxref("WeakMap.get", "WeakMap.prototype.get(key)")}}
-
Retorna el valor associat a key, o undefined si no n'hi ha cap.
-
{{jsxref("WeakMap.has", "WeakMap.prototype.has(key)")}}
-
Retorna un booleà afirmant si un valor s'ha associat o no a la key en l'objecte WeakMap.
-
{{jsxref("WeakMap.set", "WeakMap.prototype.set(key, value)")}}
-
Estableix el valor per la key en l'objecte WeakMap. Retorna l'objecte WeakMap.
-
{{jsxref("WeakMap.prototype.clear()")}} {{obsolete_inline}}
-
Elimina totes les parelles clau/valor de l'objecte WeakMap. Vegeu que es posible implementar un objecte WeakMap-like que tingui un mètode .clear() per mitjà d'encapsular un objecte WeakMap que no ho tingui (vegeu un exemple a la pàgina {{jsxref("WeakMap")}})
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-weakmap.prototype', 'WeakMap.prototype')}}{{Spec2('ES6')}}Definició inicial
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic36{{CompatGeckoDesktop("6.0")}}11237.1
Objecte ordinari{{CompatUnknown}}{{CompatGeckoDesktop("40")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("6.0")}}{{CompatNo}}{{CompatNo}}8
Objecte ordinari{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("40")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map.prototype")}}
  • -
diff --git a/files/ca/web/javascript/reference/global_objects/weakset/prototype/index.html b/files/ca/web/javascript/reference/global_objects/weakset/prototype/index.html deleted file mode 100644 index 4e86935904..0000000000 --- a/files/ca/web/javascript/reference/global_objects/weakset/prototype/index.html +++ /dev/null @@ -1,132 +0,0 @@ ---- -title: WeakSet.prototype -slug: Web/JavaScript/Reference/Global_Objects/WeakSet/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/WeakSet -translation_of_original: Web/JavaScript/Reference/Global_Objects/WeakSet/prototype ---- -
{{JSRef}}
- -

La propietat WeakSet.prototype representa el prototip pel constructor {{jsxref("WeakSet")}}.

- -
{{js_property_attributes(0,0,0)}}
- -

Descripció

- -

Les instàncies {{jsxref("WeakSet")}} hereten de {{jsxref("WeakSet.prototype")}}. Es pot utilitzar l'objecte prototip del constructor per afegir propietats o mètodes a totes les instàncies WeakSet.

- -

WeakSet.prototype és en si mateix només un objecte ordinari

- -
Object.prototype.toString.call(WeakSet.prototype); // "[object Object]"
- -

Propietats

- -
-
WeakSet.prototype.constructor
-
Retorna la funció que ha creat un prototip de la instància. Aquesta és la funció {{jsxref("WeakSet")}} per defecte.
-
- -

Mètodes

- -
-
{{jsxref("WeakSet.add", "WeakSet.prototype.add(value)")}}
-
Afegeix un nou element amb el valor donat a l'objecte WeakSet.
-
{{jsxref("WeakSet.delete", "WeakSet.prototype.delete(value)")}}
-
Elimina l'element associat al value. WeakSet.prototype.has(value) retornarà després false.
-
{{jsxref("WeakSet.has", "WeakSet.prototype.has(value)")}}
-
Retorna un booleà afirmant si un element és o no present amb el valor donat en l'objecte WeakSet.
-
{{jsxref("WeakSet.prototype.clear()")}} {{obsolete_inline}}
-
Elimina tots els elements de l'objecte WeakSet.
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-weakset.prototype', 'WeakSet.prototype')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic36{{ CompatGeckoDesktop(34) }}{{CompatNo}}23{{CompatNo}}
Objecte ordinari{{CompatUnknown}}{{CompatGeckoDesktop("40")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChrome per AndroidAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{ CompatGeckoMobile(34) }}{{CompatNo}}{{CompatNo}}{{CompatNo}}
Objecte ordinari{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("40")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Set.prototype")}}
  • -
  • {{jsxref("WeakMap.prototype")}}
  • -
diff --git a/files/ca/web/javascript/reference/index.html b/files/ca/web/javascript/reference/index.html new file mode 100644 index 0000000000..f524504ab2 --- /dev/null +++ b/files/ca/web/javascript/reference/index.html @@ -0,0 +1,46 @@ +--- +title: Glossari de JavaScript +slug: Web/JavaScript/Referencia +translation_of: Web/JavaScript/Reference +--- +
{{JsSidebar}}
+ +

Aquesta part de la secció de JavaScript a l'MDN serveix com a glossari de informació sobre el llenguatge JavaScript. Podeu llegir més sobre aquest glossari.

+ +

Objectes Globals

+ +

Aquest capítol documenta tots els objectes standard de JavaScript, així com els seus mètodes i propietats.

+ +

{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects', 'Objectes standard (per categoria)')}}

+ +

Sentències

+ +

Aquest capítol documenta totes les sentències i declaracions disponibles a JavaScript.

+ +

{{page('/ca/docs/Web/JavaScript/Reference/Statements', 'Instruccions i declaracions disponibles (per categoria)')}}

+ +

Expressions i operadors

+ +

Aquest capítol documenta totes les expressions i els operadors soportats per JavaScript.

+ +
{{page('/ca/docs/Web/JavaScript/Reference/Operators', 'Expressions i operadors (per categoria)')}}
+ +

Funcions

+ +

Aquest capítol documenta com treballar amb funcions de JavaScript.

+ + + +

Pàgines de glossari adicionals

+ + diff --git a/files/ca/web/javascript/reference/operators/comma_operator/index.html b/files/ca/web/javascript/reference/operators/comma_operator/index.html new file mode 100644 index 0000000000..f6a62d2bc8 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/comma_operator/index.html @@ -0,0 +1,129 @@ +--- +title: Operador Coma +slug: Web/JavaScript/Referencia/Operadors/Operador_Coma +translation_of: Web/JavaScript/Reference/Operators/Comma_Operator +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

L'operador coma avalua cadascun dels seus operands (d'esquerra a dreta) i retorna el valor de l´últim operand.

+ +

Sintaxi

+ +
expr1, expr2, expr3...
+ +

Paràmetres

+ +
+
expr1, expr2, expr3...
+
Qualsevol expressions.
+
+ +

Descripció

+ +

Es pot fer servir l'operador coma quan es vulgui incloure múltiples expressions en una localització que requereix una sola expressió. L'ús més freqüent que es fa d'aquest operador es per subministrar múltiples paràmetres en una for loop.

+ +

Exemple

+ +

Si a és un array de 2 dimesnions amb 10 elements on a side, el codi següent usa l'operador coma per incrementar dos variables al mateix temps. Vegeu que la coma en la sentència var no  és l'operador coma, ja que no existeix dins d'una expressió. Més aviat, és un caràcter especial en les sentències var que combina múltiples d'ells en un. Pràcticament, la coma es comporta quasi igual que l'operador coma. El codi imprimeix els valors dels elements de la diagonal de l'array:

+ +
for (var i = 0, j = 9; i <= 9; i++, j--)
+  document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);
+ +

Processar i després retornar

+ +

Un altre exemple sobre l'ús que es pot fer sobre l'operador coma és processar abansd e retornar. Com s'indica, només l'últim element serà retornat, però tots els altres també seràn avaluats. Així doncs, es podria fer:

+ +
function myFunc () {
+  var x = 0;
+
+  return (x += 1, x); // the same of return ++x;
+}
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
ECMAScript 1st Edition.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-11.14', 'Comma operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-comma-operator', 'Comma operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic3.0
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/conditional_operator/index.html b/files/ca/web/javascript/reference/operators/conditional_operator/index.html new file mode 100644 index 0000000000..15265c62b3 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/conditional_operator/index.html @@ -0,0 +1,170 @@ +--- +title: Operador Condicional (ternari) +slug: Web/JavaScript/Referencia/Operadors/Conditional_Operator +translation_of: Web/JavaScript/Reference/Operators/Conditional_Operator +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

L'operador condicional (ternari) és l'únic operador de JavaScript que opera amb tres operands. Aquest operador és freqüentment usat com una simplificació de la sentència if.

+ +

Sintaxi

+ +
condition ? expr1 : expr2 
+ +

Paràmetres

+ +
+
condition
+
Una expressió que avalua true o false.
+
+ +
+
expr1, expr2
+
Expressions amb valors de qualsevol tipus.
+
+ +

Descripció

+ +

Si condition és true, l'operador retorna el valor de expr1; de ser el contrari, retorna el valor de expr2. Per exemple, per mostrar diferents missatges basats en el valor de la variable isMember, es podria fer servir aquesta sentència:

+ +
"The fee is " + (isMember ? "$2.00" : "$10.00")
+
+ +

També es pot assignar variables depenent del resultat ternari:

+ +
var elvisLives = Math.PI > 4 ? "Yep" : "Nope";
+ +

És possible realitzar avaluacions ternàries múltiples (nota: L'operador condicional operator s'associa per la dreta):

+ +
var firstCheck = false,
+    secondCheck = false,
+    access = firstCheck ? "Access denied" : secondCheck ? "Access denied" : "Access granted";
+
+console.log( access ); // logs "Access granted"
+ +

També es pot usar avaluacions ternàries en espais lliures per tal de fer diferents operacions:

+ +
var stop = false, age = 16;
+
+age > 18 ? location.assign("continue.html") : stop = true;
+
+ +

També es pot fer més d'una sola operació per cas, separant-les amb una coma:

+ +
var stop = false, age = 23;
+
+age > 18 ? (
+    alert("OK, you can go."),
+    location.assign("continue.html")
+) : (
+    stop = true,
+    alert("Sorry, you are much too young!")
+);
+
+ +

I per últim, també es pot fer més d'una operació durant l'assignació d'un valor. En aquest cas, el últim valor del parèntesis serparat per una coma serà el valor assignat.

+ +
var age = 16;
+
+var url = age > 18 ? (
+    alert("OK, you can go."),
+    // alert returns "undefined", but it will be ignored because
+    // isn't the last comma-separated value of the parenthesis
+    "continue.html" // the value to be assigned if age > 18
+) : (
+    alert("You are much too young!"),
+    alert("Sorry :-("),
+    // etc. etc.
+    "stop.html" // the value to be assigned if !(age > 18)
+);
+
+location.assign(url); // "stop.html"
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició deECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-11.12', 'The conditional operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-conditional-operator', 'Conditional Operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/function/index.html b/files/ca/web/javascript/reference/operators/function/index.html new file mode 100644 index 0000000000..0908f591b6 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/function/index.html @@ -0,0 +1,146 @@ +--- +title: function expression +slug: Web/JavaScript/Referencia/Operadors/function +translation_of: Web/JavaScript/Reference/Operators/function +--- +
{{jsSidebar("Operators")}}
+ +

La paraula clau function es pot utilitzar per definir una funció dins d'una expressió.

+ +

Sintaxi

+ +
function [nom]([paràm1[, paràm2[, ..., paràmN]]]) {
+   sentències
+}
+ +

Paràmetres

+ +
+
nom
+
El nom de la funció. Es pot ometre, i en aquest cas la funció seria anònima. El nom és només local pel cos de la funció.
+
paràmN
+
El nom d'un argument que es passa a la funció.
+
sentències
+
Les sentències que constitueixen el cos de la funció.
+
+ +

Descripció

+ +

Una expressió d'una funció és molt semblant i té gairebé la mateixa sintaxi que una sentència d'una funció (function sentència d'una funció per més detalls). La principal diferència entre l'expressió d'una funció i una sentèndia d'una expressió és el nom de la functió, el qual es pot ometre en expressions de funcions per tal de crear funcions anònimes. Una expressió d'una funció es pot utilitzar com a un IIFE (Immediately Invoked Function Expression) que s'executa un cop s'ha definit. Vegeu també el capítol sobre funcions per més informació.

+ +

Exemples

+ +

L'exemple següent defineix una funció sense nom i l'assigna a x. La funció retorna el quadrat del seu argument:

+ +
var x = function(y) {
+   return y * y;
+};
+
+ +

Expressió d'una funció amb nom

+ +

Si vols fer referència a la funció actual dins del cos de la funció, necessitaràs crear una expressió d'una funció amb nom. Aquest nom és llavors només local pel cos de la funció (àmbit). AIxò també evita utilitzar la propietat no estàndard arguments.callee.

+ +
var math = {
+  'factorial': function factorial(n) {
+    if (n <= 1)
+      return 1;
+    return n * factorial(n - 1);
+  }
+};
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ESDraft', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ESDraft')}} 
{{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-13', 'Function definition')}}{{Spec2('ES5.1')}} 
{{SpecName('ES3', '#sec-13', 'Function definition')}}{{Spec2('ES3')}}Definició inicial. Implementat en JavaScript 1.5.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Functions_and_function_scope", "Functions and function scope")}}
  • +
  • {{jsxref("Function")}}
  • +
  • {{jsxref("Statements/function", "function statement")}}
  • +
  • {{jsxref("Statements/function*", "function* statement")}}
  • +
  • {{jsxref("Operators/function*", "function* expression")}}
  • +
  • {{jsxref("GeneratorFunction")}}
  • +
diff --git a/files/ca/web/javascript/reference/operators/grouping/index.html b/files/ca/web/javascript/reference/operators/grouping/index.html new file mode 100644 index 0000000000..45e8566806 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/grouping/index.html @@ -0,0 +1,128 @@ +--- +title: Operador d'agrupament +slug: Web/JavaScript/Referencia/Operadors/Grouping +translation_of: Web/JavaScript/Reference/Operators/Grouping +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

L'operador d'agrupament ( ) controla la precedència de l'avaluació en expresions.

+ +

Sintaxi

+ +
 ( )
+ +

Descripció

+ +

L'operador agrupament consisteix en un parell de parèntesis que embolcallen una expressió o una sub-expressió per anular la precedència d'operadors normal de forma que expressions amb un nivell més baix de precedència poden ser avaluades abans d'una expressió amb més prioritat.

+ +

Exemples

+ +

Primer predomina la multiplicació i la divisió, després la suma i la resta per tal d'avaluar primer la suma.

+ +
var a = 1;
+var b = 2;
+var c = 3;
+
+// default precedence
+a + b * c     // 7
+// evaluated by default like this
+a + (b * c)   // 7
+
+// now overriding precedence
+// addition before multiplication
+(a + b) * c   // 9
+
+// which is equivalent to
+a * c + b * c // 9
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-11.1.6', 'The Grouping Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-grouping-operator', 'The Grouping Operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/index.html b/files/ca/web/javascript/reference/operators/index.html new file mode 100644 index 0000000000..4a70edc4fb --- /dev/null +++ b/files/ca/web/javascript/reference/operators/index.html @@ -0,0 +1,282 @@ +--- +title: Expressions and operators +slug: Web/JavaScript/Referencia/Operadors +tags: + - JavaScript + - NeedsTranslation + - Operators + - TopicStub +translation_of: Web/JavaScript/Reference/Operators +--- +
{{jsSidebar("Operators")}}
+ +

Aquest capítol documenta totls els operadors, expressions i paraules clau del llenguatge JavaScript.

+ +

Expressions i operadors per categoria

+ +

Per a un llistat en order alfabetic vegeu el menú de l'esquerra.

+ +

Expressions primàries

+ +

Paraules clau bàsiques i expressions generals en JavaScript.

+ +
+
{{jsxref("Operadors/this", "this")}}
+
La paraula clau this fa referència al contexte d'execució de la funció actual.
+
{{jsxref("Operadors/function", "function")}}
+
La paraula clau function defineix una expressió de funció.
+
{{experimental_inline()}} {{jsxref("Operadors/function*", "function*")}}
+
La paraula clau function* defineix una expressió de funció generadora.
+
{{experimental_inline()}} {{jsxref("Operadors/yield", "yield")}}
+
Pausa i resumeix una funció generadora.
+
{{experimental_inline()}} {{jsxref("Operadors/yield*", "yield*")}}
+
Delega a una altra funció generadora o objecte iterable.
+
{{jsxref("Global_Objects/Array", "[]")}}
+
Sintaxi d'inicialització o literal d'arrays.
+
{{jsxref("Operators/Object_initializer", "{}")}}
+
Sintaxi d'inicialitzador o literal d'objectes.
+
{{jsxref("Global_Objects/RegExp", "/ab+c/i")}}
+
Sintaxi de literals formats per expressions regulars.
+
{{experimental_inline()}} {{jsxref("Operadors/Array_comprehensions", "[for (x of y) x]")}}
+
Comprensió d'arrays.
+
{{experimental_inline()}} {{jsxref("Operadors/Generator_comprehensions", "(for (x of y) y)")}}
+
Comprensió de generators.
+
{{jsxref("Operadors/Grouping", "( )")}}
+
Operador d'agrupament.
+
+ +

Expressions de banda esquerra

+ +

Els valors de l'esquerra són la destinació d'una assignació.

+ +
+
{{jsxref("Operadors/Property_accessors", "Property accessors", "", 1)}}
+
Els operadors membres proporcionen accés a una propietat o mètode d'un objecte
+ (object.property i object["property"]).
+
{{jsxref("Operadors/new", "new")}}
+
L'operador new crea una instància d'un constructor.
+
{{experimental_inline()}} {{jsxref("Operadors/super", "super")}}
+
La paraula clau super crida el constructor de l'objecte pare.
+
{{experimental_inline()}} {{jsxref("Operadors/Spread_operator", "...obj")}}
+
L'operador d'extensió permet que una expressió s'expandeixi en llocs on s'esperen mútiples argurments (per a crides de funcions) o elements (per a literals d'arrays).
+
+ +

Increment i decrement

+ +

Operadors de increment o decrement en forma de prefix/sufix.

+ +
+
{{jsxref("Operadors/Arithmetic_Operators", "A++", "#Increment")}}
+
Operador sufix d'increment.
+
{{jsxref("Operadors/Arithmetic_Operators", "A--", "#Decrement")}}
+
Operador sufix de decrement.
+
{{jsxref("Operadors/Arithmetic_Operators", "++A", "#Increment")}}
+
Operador prefix d'increment.
+
{{jsxref("Operadors/Arithmetic_Operators", "--A", "#Decrement")}}
+
Operador prefix de decrement.
+
+ +

Operadors unaris

+ +

Un operador unari és un operador que només accepta un operand.

+ +
+
{{jsxref("Operadors/delete", "delete")}}
+
L'operador delete esborra una propietat d'un objecte.
+
{{jsxref("Operadors/void", "void")}}
+
L'operador void evalua una expressió i descarta el que retorni.
+
{{jsxref("Operadors/typeof", "typeof")}}
+
L'operador typeof determina el tipus d'un objecte donat.
+
{{jsxref("Operadors/Arithmetic_Operators", "+", "#Unary_plus")}}
+
L'operador unari més converteix l'operand donat al tipus Number.
+
{{jsxref("Operadors/Arithmetic_Operators", "-", "#Unary_negation")}}
+
L'operador unari negació converteix l'operand donat al tipus Number i llavors el nega.
+
{{jsxref("Operadors/Bitwise_Operators", "~", "#Bitwise_NOT")}}
+
Operador binari NOT.
+
{{jsxref("Operadors/Logical_Operators", "!", "#Logical_NOT")}}
+
Operador lògic NOT.
+
+ +

Operadors aritmètics

+ +

Els operadors aritmètics accepten valors numèrics (ja siguin literals o variables) com a operands i retornen un únic valor numèric.

+ +
+
{{jsxref("Operadors/Arithmetic_Operators", "+", "#Addition")}}
+
Operador de suma.
+
{{jsxref("Operadors/Arithmetic_Operators", "-", "#Subtraction")}}
+
Operador de resta.
+
{{jsxref("Operadors/Arithmetic_Operators", "/", "#Division")}}
+
Operador de divisió.
+
{{jsxref("Operadors/Arithmetic_Operators", "*", "#Multiplication")}}
+
Operador de multiplicació.
+
{{jsxref("Operadors/Arithmetic_Operators", "%", "#Remainder")}}
+
Operador de mòdul.
+
+ +

Operadors relacionals

+ +

Els operadors relacionals compara els operands donats i retorna un valor de tipus Boolean value basat en si la relació és certa o no.

+ +
+
{{jsxref("Operadors/in", "in")}}
+
L'operador in determina si un objecte té la propietat donada.
+
{{jsxref("Operadors/instanceof", "instanceof")}}
+
L'operador instanceof determina si un objecte és una instància d'un altre objecte.
+
{{jsxref("Operadors/Comparison_Operators", "<", "#Less_than_operator")}}
+
Operador menor que.
+
{{jsxref("Operadors/Comparison_Operators", ">", "#Greater_than_operator")}}
+
Operador major que.
+
{{jsxref("Operadors/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}
+
Operador menor o igual que.
+
{{jsxref("Operadors/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}
+
Operador major o igual que.
+
+ +

Operadors d'igualtat

+ +

El resultat d'evaluar un operador d'igualtat és sempre de tipus Boolean i el resultat es basa en si la comparació és certa.

+ +
+
{{jsxref("Operadors/Comparison_Operators", "==", "#Equality")}}
+
Operador d'igulatat.
+
{{jsxref("Operadors/Comparison_Operators", "!=", "#Inequality")}}
+
Operador de no igualtat.
+
{{jsxref("Operadors/Comparison_Operators", "===", "#Identity")}}
+
Operador identitat.
+
{{jsxref("Operadors/Comparison_Operators", "!==", "#Nonidentity")}}
+
Operador de no identitat.
+
+ +

Operadors de desplaçament de bits

+ +

Operacions que desplacen tots els bits d'un operand.

+ +
+
{{jsxref("Operadors/Bitwise_Operators", "<<", "#Left_shift")}}
+
Operador de desplaçament de bits a l'esquerra.
+
{{jsxref("Operadors/Bitwise_Operators", ">>", "#Right_shift")}}
+
Operador de desplaçament de bits a la dreta.
+
{{jsxref("Operadors/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}
+
Operador de desplaçament a la dreta sense signe.
+
+ +

Operadors binaris

+ +

Els operadors binaris tracten els seus operands com un conjunt de 32 bits (uns i zeros) i retornen valors numèrics standards de JavaScript.

+ +
+
{{jsxref("Operadors/Bitwise_Operators", "&", "#Bitwise_AND")}}
+
AND binari.
+
{{jsxref("Operadors/Bitwise_Operators", "|", "#Bitwise_OR")}}
+
OR binari.
+
{{jsxref("Operadors/Bitwise_Operators", "^", "#Bitwise_XOR")}}
+
XOR binari.
+
+ +

Operadors lògics

+ +

Els operadors lògics típicament s'utilitzen amb valors booleans (és a dir, logics) i retornen un valor booleà.

+ +
+
{{jsxref("Operadors/Logical_Operators", "&&", "#Logical_AND")}}
+
AND lògic.
+
{{jsxref("Operadors/Logical_Operators", "||", "#Logical_OR")}}
+
OR lògic.
+
+ +

Operador condicional (ternari)

+ +
+
{{jsxref("Operadors/Conditional_Operator", "(condition ? ifTrue : ifFalse)")}}
+
+

L'operador condicional retorna un dels dos valors basat en l'evaluació lògica de la condició.

+
+
+ +

Operadors d'assignació

+ +

Els operadors d'assignació asignen un valor a l'operand de l'esquerra basant-se en l'evaluació de l'operand de la dreta.

+ +
+
{{jsxref("Operadors/Assignment_Operators", "=", "#Assignment")}}
+
Operador d'assignació.
+
{{jsxref("Operadors/Assignment_Operators", "*=", "#Multiplication_assignment")}}
+
Assignació de la multiplicació.
+
{{jsxref("Operadors/Assignment_Operators", "/=", "#Division_assignment")}}
+
Assignació de la divisó.
+
{{jsxref("Operadors/Assignment_Operators", "%=", "#Remainder_assignment")}}
+
Assignació del mòdul.
+
{{jsxref("Operadors/Assignment_Operators", "+=", "#Addition_assignment")}}
+
Assignació de la suma.
+
{{jsxref("Operadors/Assignment_Operators", "-=", "#Subtraction_assignment")}}
+
Assignació de la resta.
+
{{jsxref("Operadors/Assignment_Operators", "<<=", "#Left_shift_assignment")}}
+
Assignació del desplaçament a l'esquerra.
+
{{jsxref("Operadors/Assignment_Operators", ">>=", "#Right_shift_assignment")}}
+
Assignació del desplaçament a la dreta.
+
{{jsxref("Operadors/Assignment_Operators", ">>>=", "#Unsigned_right_shift_assignment")}}
+
Assignació del desplaçament a la dreta sense signe.
+
{{jsxref("Operadors/Assignment_Operators", "&=", "#Bitwise_AND_assignment")}}
+
Assignació de l'AND binari.
+
{{jsxref("Operadors/Assignment_Operators", "^=", "#Bitwise_XOR_assignment")}}
+
Assignació del XOR binari.
+
{{jsxref("Operadors/Assignment_Operators", "|=", "#Bitwise_OR_assignment")}}
+
Assignació de l'OR binari.
+
{{experimental_inline()}} {{jsxref("Operadors/Destructuring_assignment", "[a, b] = [1, 2]")}}
+ {{experimental_inline()}} {{jsxref("Operadors/Destructuring_assignment", "{a, b} = {a:1, b:2}")}}
+
+

L'assignació de desestructuració permet assignar les propietats d'un array o objecte a variables utilitzant una sintaxi que recorda la de literals d'arrays o objectes.

+
+
+ +

Operador coma

+ +
+
{{jsxref("Operadors/Comma_Operator", ",")}}
+
L'operador coma permet que múltiples expressions siguin evaluades en una sola sentència i retorna el resultat de l'última expressió.
+
+ +

Característiques no standard

+ +
+
{{non-standard_inline}} {{jsxref("Operadors/Legacy_generator_function", "Legacy generator function", "", 1)}}
+
La paraula clau function es pot emprar per a definir una funció generadora obsoleta dins una expressió. Per a crear una funció generadora obsoleta el cos de la funció ha de contindre al menys una expressió {{jsxref("Operators/yield", "yield")}}.
+
{{non-standard_inline}} {{jsxref("Operadors/Expression_closures", "Expression closures", "", 1)}}
+
La sintaxi d'expressions closure és una abreviació per a escriure funcions simples.
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-11', 'Expressions')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'Llenguatge ECMAScript: Expressions')}}{{Spec2('ES6')}} +

Nou: L'operador d'extensió, l'assignació de desestructuració, la paraula clau super, la comprensió d'arrays i la comprensió de generadors

+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/super/index.html b/files/ca/web/javascript/reference/operators/super/index.html new file mode 100644 index 0000000000..c19e58cba1 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/super/index.html @@ -0,0 +1,119 @@ +--- +title: super +slug: Web/JavaScript/Referencia/Operadors/super +translation_of: Web/JavaScript/Reference/Operators/super +--- +
{{jsSidebar("Operators")}}
+ +

Resum

+ +

La paraula clau super s'utilitza per cridar funcions del pare de l'objecte.

+ +

Sintaxi

+ +
super([arguments]); // crida el constructor del pare.
+super.functionOnParent([arguments]);
+
+ +

Descripció

+ +

Quan s'utilitza en un constructor, la paraula clau super apareix sola i s'ha d'utilitzar abans de la paraula clau this. Aquesta paraula clau també es pot utilitzar per cridar funcions en un objecte pare.

+ +

Exemple

+ +

Aquest fragment de codi es pren de la mostra de classes  mostra de classes (demostració en viu).

+ +
class Square extends Polygon {
+  constructor(length) {
+    // Aquí es crida el constructor del pare de la classe amb les longituds
+    // proveïdes per l'alçada i l'amplada del polígon
+    super(length, length);
+    // Nota: En classes derivades, s'ha de cridar super() abans de poder
+    // utilitzar 'this'. Obviar això causarà un error de referència.
+    this.name = 'Square';
+  }
+
+  get area() {
+    return this.height * this.width;
+  }
+
+  set area(value) {
+    this.area = value;
+  }
+}
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-super-keyword', 'super')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(42.0)}}{{CompatNo}}
+ {{bug(1066239)}}
{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
Safari Mobile + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera Mobile
Suport bàsic{{CompatUnknown}}{{CompatChrome(42.0)}}{{CompatNo}}
+ {{bug(1066239)}}
{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/typeof/index.html b/files/ca/web/javascript/reference/operators/typeof/index.html new file mode 100644 index 0000000000..a7407e79ce --- /dev/null +++ b/files/ca/web/javascript/reference/operators/typeof/index.html @@ -0,0 +1,240 @@ +--- +title: typeof +slug: Web/JavaScript/Referencia/Operadors/typeof +translation_of: Web/JavaScript/Reference/Operators/typeof +--- +
+
{{jsSidebar("Operators")}}
+
+ +

Resum

+ +

L'operador typeof retorna una cadena de caràcters que representa el tipus de l'operand, que en cap cas és evaluat.

+ +

Sintaxi

+ +

L'operador typeof va seguit del seu operand:

+ +
typeof operand
+ +

Paràmetres

+ +

operand és una expressió que representa l'objecte o {{Glossary("Primitive", "primitive")}} del qual es retornarà el tipus.

+ +

Descripció

+ +

La taula següent resumeix els possibles valor de typeof. Per més informació sobre tipus i tipus primitius, vegeu també la pàgina de JavaScript data structure.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TipusResultat
Undefined"undefined"
Null"object" (vegeu a sota)
Boolean"boolean"
Number"number"
String"string"
Symbol (nou a l'ECMAScript 6)"symbol"
Host object (proporcionat per l'entorn JS)Depenent de l'implementació
Objecte Funció (implements [[Call]] in ECMA-262 terms)"function"
Qualsevol altre objecte"object"
+ +

Exemples

+ +

Casos normals

+ +
// Numbers
+typeof 37 === 'number';
+typeof 3.14 === 'number';
+typeof Math.LN2 === 'number';
+typeof Infinity === 'number';
+typeof NaN === 'number'; // A pesar de ser un "Not-A-Number"
+typeof Number(1) === 'number'; // però no l'utilitzeu mai així!
+
+
+// Strings
+typeof "" === 'string';
+typeof "bla" === 'string';
+typeof (typeof 1) === 'string'; // typeof sempre retorna una string
+typeof String("abc") === 'string'; // però no l'utilitzeu mai així!
+
+
+// Booleans
+typeof true === 'boolean';
+typeof false === 'boolean';
+typeof Boolean(true) === 'boolean'; // però no l'utilitzeu mai així!
+
+
+// Symbols
+typeof Symbol() === 'symbol'
+typeof Symbol('foo') === 'symbol'
+typeof Symbol.iterator === 'symbol'
+
+
+// Undefined
+typeof undefined === 'undefined';
+typeof blabla === 'undefined'; // una variable no definida
+
+
+// Objects
+typeof {a:1} === 'object';
+
+// utilitzeu Array.isArray o bé Object.prototype.toString.call
+// per a diferenciar objectes normals d'arrays
+typeof [1, 2, 4] === 'object';
+
+typeof new Date() === 'object';
+
+
+// Els següents exemples són confusos, no els utilitzeu!
+typeof new Boolean(true) === 'object';
+typeof new Number(1) === 'object';
+typeof new String("abc") === 'object';
+
+
+// Funcions
+typeof function(){} === 'function';
+typeof Math.sin === 'function';
+
+ +

null

+ +
// Això es manté així des de l'inici de JavaScript
+typeof null === 'object';
+
+ +

A la primera implementació de JavaScript, els valors de JavaScript es representaven com a una etiqueta de tipus i un valor. L'etiqueta de tipus per objectes era 0. null era representat amb el punter NULL (0x00 a la majoria de plataformes). D'aquesta manera null tenia 0 com a etiqueta de tipus, i això és el que determina que typeof retorni 'object' per a null. (referència)

+ +

Es va proposar una esmena per a canviar aquest comportament per l'ECMAScript (via una opt-in), però aquesta va ser rebutjada. El resultat hagués estat typeof null === 'null'.

+ +

Expressions regulars

+ +

Expressions regulars que poden ser cridades van ser un afegit no standard en alguns navegadors web.

+ +
typeof /s/ === 'function'; // Chrome 1-12 No cumpleix l'standard ECMAScript 5.1
+typeof /s/ === 'object';   // Firefox 5+  D'acord amb ECMAScript 5.1
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
1a edició ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.1
{{SpecName('ES5.1', '#sec-11.4.3', 'The typeof Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-typeof-operator', 'The typeof Operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Els objects host a Internet Explorer són objectes en comptes de funcions

+ +

A IE 6, 7, i 8 molts dels host objects són objectes i no funcions. Per exemple:

+ +
typeof alert === 'object'
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/void/index.html b/files/ca/web/javascript/reference/operators/void/index.html new file mode 100644 index 0000000000..ddf98ebfd9 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/void/index.html @@ -0,0 +1,138 @@ +--- +title: L'operador void +slug: Web/JavaScript/Referencia/Operadors/void +translation_of: Web/JavaScript/Reference/Operators/void +--- +
{{jsSidebar("Operators")}}
+ +

Resum

+ +

L'operador void evalua l'expressió donada i retorna undefined.

+ +

Sintaxi

+ +
void expressió
+ +

Descripció

+ +

Aquest operador permet inserir expressions que produeixen efectes secundaris en llocs on es vol una expressió que s'evalui a undefined.

+ +

L'operador void tot sovint s'utilitza simplement per a obtenir el valor primitiu undefined, normalment usant "void(0)" (que és equivalent a "void 0"). En aquests casos es pot utilitzar la variable global undefined en comptes de l'operador void (asumint que no ha sigut assignada a un valor no standard).

+ +

Expressions de funció invocades de forma immediata

+ +

A l'utilitzar una expressió de funció invocada de forma immediata, es pot usar void per a forçar que la paraula clau function sigui tractada com a una expressió en comptes d'una declaració.

+ +
void function iife() {
+    var bar = function () {};
+    var baz = function () {};
+    var foo = function () {
+        bar();
+        baz();
+     };
+    var biz = function () {};
+
+    foo();
+    biz();
+}();
+
+ +

URIs de JavaScript

+ +

Quan un navegador segueix una URI de l'estil javascript: , aquest evalua el codi que hi ha a la URI i llavors reemplaça el contingut de la pàgina amb el valor retornat, a no ser que el valor retornat sigui undefined. L'operador void pot ser emprat en aquest case per a retornar undefined. Per exemple:

+ +
<a href="javascript:void(0);">
+  Cliqueu aquí per a no fer res
+</a>
+
+<a href="javascript:void(document.body.style.backgroundColor='green');">
+  Clique aquí per a un fons de color verd
+</a>
+
+ +

Tingueu en compte, però, que el pseudo protocol javascript: no és recomanat ja que existeixen alternatives, com ara manegadors d'events no obtrusius.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat al JavaScript 1.1
{{SpecName('ES5.1', '#sec-11.4.2', 'The void Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-void-operator', 'The void Operator')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/operators/yield/index.html b/files/ca/web/javascript/reference/operators/yield/index.html new file mode 100644 index 0000000000..d01f641767 --- /dev/null +++ b/files/ca/web/javascript/reference/operators/yield/index.html @@ -0,0 +1,152 @@ +--- +title: yield +slug: Web/JavaScript/Referencia/Operadors/yield +translation_of: Web/JavaScript/Reference/Operators/yield +--- +
{{jsSidebar("Operators")}}
+ +

Resum

+ +

La paraula clau yield s'utilitza per a pausar i reprendre una funció generadora ({{jsxref("Statements/function*", "function*")}} o bé una funció generadora obsoleta).

+ +

Sintaxi

+ +
 yield [[expressió]];
+ +
+
expressió
+
La expresssió a retornar. Si s'omet es retorna undefined.
+
+ +

Descripció

+ +

La paraula clau yield causa que l'execució d'una funció generadora es pausi i retorni el valor de l'expressió que la segueix. La paraula clau yield es pot entendre com una versió de la paraula clau return per a generadors.

+ +

La paraula clau yield retorna en realitat un objecte de tipus IteratorResult amb dues propietats: value i done. La propietat value és el resultat d'evaluar l'expresssió que segueix yield mentre que la propietat done és de tipus booleà i indica si la funció generadora ha completat la seva execució o no.

+ +

Un cop pausada mitjançant una expressió yield, l'execució de codi del generador no es reprendrà a no ser que s'invoqui externament mitjançant la crida a la funció next() del generador. Això permet un control directe de l'execució del generador i valors de retorn incrementals.

+ +

Exemples

+ +

El següent codi és un exemple de la declaració d'una funció generadora al llarg d'una funció d'ajut.

+ +
function* foo(){
+  var index = 0;
+  while (index <= 2) // quan index arriba a 3,
+                     // la propietat done del yield serà true
+                     // i el seu valor serà undefined;
+    yield index++;
+}
+ +

Un cop la funció generadora és definida es pot utilitzar tot construïnt un iterador tal i com es mostra a continuació:

+ +
var iterator = foo();
+console.log(iterator.next()); // { value:0, done:false }
+console.log(iterator.next()); // { value:1, done:false }
+console.log(iterator.next()); // { value:2, done:false }
+console.log(iterator.next()); // { value:undefined, done:true }
+ +

Especificacions

+ + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#', 'Yield')}}{{Spec2('ES6')}}Definició inicial
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Suport bàsic39{{CompatGeckoDesktop("26.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Objecte IteratorResult en comptes de throwing{{CompatUnknown}}{{CompatGeckoDesktop("29.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsicyes (when?){{CompatGeckoMobile("26.0")}}{{CompatUnknown}}{{ CompatUnknown}}{{CompatUnknown}}
Objecte IteratorResult en comptes de throwing{{CompatUnknown}}{{CompatGeckoMobile("29.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
+
+ +

Notes específiques per a Firefox

+ +
    +
  • A partir de Gecko 29 {{geckoRelease(29)}} la funció generadora, un cop completada, no llença un {{jsxref("TypeError")}} "generator has already finished" sino que retorna un objecte de tipus IteratorResult com per exemple { value: undefined, done: true } ({{bug(958951)}}).
  • +
  • A partir de Gecko 33 {{geckoRelease(33)}} l'anàlisi de l'expressió que segueix al yield s'ha actualitzat per a satisfer l'especificació de ES6 ({{bug(981599)}}): +
      +
    • L'expressió que segueix la paraula clau yield és opcional i si s'omet ja no es llença SyntaxError: function* foo() { yield; }
    • +
    +
  • +
+ +

Vegeu tambè

+ +
    +
  • El protocol dels iteradors
  • +
  • {{jsxref("Statements/function*", "function*")}}
  • +
  • {{jsxref("Operators/function*", "function* expression")}}
  • +
  • {{jsxref("Operators/yield*", "yield*")}}
  • +
diff --git a/files/ca/web/javascript/reference/statements/block/index.html b/files/ca/web/javascript/reference/statements/block/index.html new file mode 100644 index 0000000000..cfa5d7fd20 --- /dev/null +++ b/files/ca/web/javascript/reference/statements/block/index.html @@ -0,0 +1,138 @@ +--- +title: block +slug: Web/JavaScript/Referencia/Sentencies/block +translation_of: Web/JavaScript/Reference/Statements/block +--- +
+
{{jsSidebar("Statements")}}
+
+ +

Resum

+ +

Una sentència bloc (o sentència composta en altres llengües) s'usa per agrupar zero o més sentències. El bloc està delimitat per un parell de claus.

+ +

Sintaxi

+ +
{
+  sentència_1;
+  sentència_2;
+  ...
+  sentència_n;
+}
+
+ +
+
statement_1, statement_2, statement_n
+
Sentències agrupades dins la sentència block.
+
+ +

Descripció

+ +

Aquesta sentència s'utilitza normalment amb les sentències de control de flux (p.ex. if, for, while). Per exemple:

+ +
while (x < 10) {
+  x++;
+}
+
+ +

Tingueu en compte que la sentència block no acaba amb un punt i coma.

+ +

La sentència bloc sovint s'anomena sentència composta en altres llengües. Aquesta sentència permet usar múltiples sentències allà on JavaScript espera només una única sentència. Combinar sentències en blocs és una pràctica comuna en JavaScript. El comportament oposat és possible fent servir una sentència buida, on no es proporciona cap declaració, encara que es requereixi una.

+ +

Fora de l'àmbit del bloc

+ +

Important: Les variables declarades amb var no tenen àmbit de bloc. Les variables introduïdes amb un bloc estàn en l'àmbit de la funció o l'script que els conté, i els efectes d'establir-los persisteixen més enllà del mateix bloc. En altres paraules, les sentències de bloc no introdueixen un àmbit. Encara que els blocs "independents" són sintàcticament vàlids, no és desitjable usar-los en JavaScript, ja que no fan el que pensem que fan, en el cas que penseu que fan alguna cosa semblant als blocs en C o Java. Per exemple:

+ +
var x = 1;
+{
+  var x = 2;
+}
+console.log(x); // logs 2
+
+ +

Això registra 2 ja que la sentència var x dins el bloc es troba en el mateix àmbit que la sentència var x anterior al bloc. En C o Java, el codi equivalent hauria emès 1.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacionsEstatComentaris
1a edició d'ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-12.1', 'Block statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-block', 'Block statement')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Statements/while", "while")}}
  • +
diff --git a/files/ca/web/javascript/reference/statements/break/index.html b/files/ca/web/javascript/reference/statements/break/index.html new file mode 100644 index 0000000000..d71eff620d --- /dev/null +++ b/files/ca/web/javascript/reference/statements/break/index.html @@ -0,0 +1,154 @@ +--- +title: break +slug: Web/JavaScript/Referencia/Sentencies/break +translation_of: Web/JavaScript/Reference/Statements/break +--- +
{{jsSidebar("Statements")}}
+ +

La sentència break acaba el bucle actual, {{jsxref("Statements/switch", "switch")}}, o una sentència {{jsxref("Statements/label", "label")}} i transfereix el control de programa a la sentència següent de la sentència acabada.

+ +

Sintaxi

+ +
break [etiqueta];
+ +
+
Etiqueta
+
Opcional. És l'identificador associat amb l'etiqueta de la sentència. Si la sentència no és un bucle o un {{jsxref("Statements/switch", "switch")}}, això és necessari.
+
+ +

Descripció

+ +

La sentència break inclou una etiqueta opcional que permet al programa sortir de la sentència etiquetada. La sentència break necessita ser imbricada dins l'etiqueta de referència. La sentència etiquetada pot ser qualsevol sentència {{jsxref("Statements/block", "block")}}, no ha de ser precedida per una sentència de bucle.

+ +

Exemples

+ +

La funció següent té una sentència break que acaba amb el bucle{{jsxref("Statements/while", "while")}} quan i és 3, per després retornar el valor 3 * x.

+ +
function testBreak(x) {
+  var i = 0;
+
+  while (i < 6) {
+    if (i == 3) {
+      break;
+    }
+    i += 1;
+  }
+
+  return i * x;
+}
+ +

El codi següent utilitza sentències break amb blocs etiquetats. Una sentència break ha de ser imbricada dins de qualsevol etiqueta que fa referència. Vegeu que inner_block és troba imbricada dins outer_block.

+ +
outer_block: {
+  inner_block: {
+    console.log('1');
+    break outer_block; // surt tan de inner_block com de outer_block
+    console.log(':-('); // es salta
+  }
+  console.log('2'); // es salta
+}
+
+ +

El codi següent també utilitza sentències break amb blocs etiquetats però cenera un Syntax Error perquè la sentència break es troba dins de block_1 però fa referència a block_2. Una sentència break ha d'estar sempre imbricada dins de l'eitqueta a la que fa referència.

+ +
block_1: {
+  console.log('1');
+  break block_2; // SyntaxError: etiqueta no trobada
+}
+
+block_2: {
+  console.log('2');
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Versió no etiquetada.
{{SpecName('ES3')}}{{Spec2('ES3')}}versió etiquetada afegida.
{{SpecName('ES5.1', '#sec-12.8', 'Break statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-break-statement', 'Break statement')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Statements/continue", "continue")}}
  • +
  • {{jsxref("Statements/label", "label")}}
  • +
  • {{jsxref("Statements/switch", "switch")}}
  • +
diff --git a/files/ca/web/javascript/reference/statements/continue/index.html b/files/ca/web/javascript/reference/statements/continue/index.html new file mode 100644 index 0000000000..a6928d15b7 --- /dev/null +++ b/files/ca/web/javascript/reference/statements/continue/index.html @@ -0,0 +1,199 @@ +--- +title: continue +slug: Web/JavaScript/Referencia/Sentencies/continue +translation_of: Web/JavaScript/Reference/Statements/continue +--- +
{{jsSidebar("Statements")}}
+ +

La sentència continue acaba l'execució de les sentències en la iteració actual del bucle actual o etiquetat, i continua l'execució del bucle amb la següent iteració.

+ +

Sintaxi

+ +
continue [etiqueta];
+ +
+
Etiqueta
+
Identificador associat amb l'etiqueta de la sentència.
+
+ +

Descripció

+ +

En contrast amb la sentència {{jsxref("Statements/break", "break")}} , continue no acaba l'execució del bucle: En comptes d'això,

+ +
    +
  • En un bucle {{jsxref("Statements/while", "while")}}, salta un altre cop a la condició.
  • +
+ +
    +
  • En un bucle {{jsxref("Statements/for", "for")}}, Salta a l'actualització de l'expressió.
  • +
+ +

La sentència continue pot incloure una etiqueta opcional que permet al programa saltar a la següent iteració d'una sentència d'un bucle etiquetat en comptes del bucle actual. En aquest cas, la sentència continue necessita trobar-se imbricada dins de la sentència etiquetada.

+ +

Exemples

+ +

Utilitzar continue amb while

+ +

L'exemple següent mostra un bucle{{jsxref("Statements/while", "while")}} que contè una sentència continue que s'executa quan el valor de i és 3. Així doncs, n pren els valors 1, 3, 7, i 12.

+ +
var i = 0;
+var n = 0;
+
+while (i < 5) {
+  i++;
+
+  if (i === 3) {
+    continue;
+  }
+
+  n += i;
+}
+
+ +

Utilitzar continue amb una etiqueta

+ +

En l'exemple següent, una sentència etiquetada checkiandj contè una sentència etiquetada checkj. si es troba un continue, el programa continua al començament de la sentència checkj. Cada cop que es troba continue, checkj reitera fins que la condició retorna falç. Quan es retorna falç, es completa la resta de la sentència checkiandj.

+ +

Si continue té una etiqueta de checkiandj, el programa continuarà al començament de la sentència checkiandj.

+ +

Vegeu també {{jsxref("Statements/label", "label")}}.

+ +
var i = 0;
+var j = 8;
+
+checkiandj: while (i < 4) {
+  console.log("i: " + i);
+  i += 1;
+
+  checkj: while (j > 4) {
+    console.log("j: "+ j);
+    j -= 1;
+
+    if ((j % 2) == 0)
+      continue checkj;
+    console.log(j + " is odd.");
+  }
+  console.log("i = " + i);
+  console.log("j = " + j);
+}
+
+ +

Resultat:

+ +
"i: 0"
+
+// start checkj
+"j: 8"
+"7 is odd."
+"j: 7"
+"j: 6"
+"5 is odd."
+"j: 5"
+// end checkj
+
+"i = 1"
+"j = 4"
+
+"i: 1"
+"i = 2"
+"j = 4"
+
+"i: 2"
+"i = 3"
+"j = 4"
+
+"i: 3"
+"i = 4"
+"j = 4"
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Versió sense etiqueta.
{{SpecName('ES3')}}{{Spec2('ES3')}}Versió amb etiqueta afegida.
{{SpecName('ES5.1', '#sec-12.7', 'Continue statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-continue-statement', 'Continue statement')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Statements/break", "break")}}
  • +
  • {{jsxref("Statements/label", "label")}}
  • +
diff --git a/files/ca/web/javascript/reference/statements/debugger/index.html b/files/ca/web/javascript/reference/statements/debugger/index.html new file mode 100644 index 0000000000..54d8d02e3d --- /dev/null +++ b/files/ca/web/javascript/reference/statements/debugger/index.html @@ -0,0 +1,116 @@ +--- +title: debugger +slug: Web/JavaScript/Referencia/Sentencies/debugger +translation_of: Web/JavaScript/Reference/Statements/debugger +--- +
{{jsSidebar("Statements")}}
+ +

La sentència debugger invoca qualsevol funcionalitat de depuració disponible, com l'establiment d'un breakpoint (punt de ruptura). Si no hi ha cap funcionalitat de depuració disponible, aquesta sentència queda sense efecte.

+ +

Sintaxi

+ +
debugger;
+ +

Exemples

+ +

L'exemple següent mostra un codi on s'ha insertat una sentència de depuració, de forma que es crida un debugger (si existeix) quan es crida la funció.

+ +
function potentiallyBuggyCode() {
+    debugger;
+    // codi potencialment erroni a examinar, executar pas a pas, etc.
+}
+ +

Quan es crida el debugger, s'atura l'execució a la sentència del debugger. Es com un breakpoint en la font de l'script.

+ +

Paused at a debugger statement.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-debugger-statement', 'Debugger statement')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-12.15', 'Debugger statement')}}{{Spec2('ES5.1')}}Definició inicial
{{SpecName('ES3', '#sec-7.5.3', 'Debugger statement')}}{{Spec2('ES3')}} 
{{SpecName('ES1', '#sec-7.4.3', 'Debugger statement')}}{{Spec2('ES1')}}Només mencionat com a paraula reservada.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/statements/do...while/index.html b/files/ca/web/javascript/reference/statements/do...while/index.html new file mode 100644 index 0000000000..88f221f83d --- /dev/null +++ b/files/ca/web/javascript/reference/statements/do...while/index.html @@ -0,0 +1,124 @@ +--- +title: do...while +slug: Web/JavaScript/Referencia/Sentencies/do...while +translation_of: Web/JavaScript/Reference/Statements/do...while +--- +
{{jsSidebar("Statements")}}
+ +

La sentència do...while crea un bucle que executa una sentència especificada fins que la condició avalui a fals. La condició s'avalua després de la sentència, donant lloc a l'execució de la sentència especificada almenys un cop.

+ +

Sintaxi

+ +
do
+   sentència
+while (condició);
+
+ +
+
sentència
+
Una sentència que s'executa almenys un cop i que es torna a executar cada cop que la condició avalui a certa. Per executar múltiples sentències dins d'un bucle, utilitzeu una sentència {{jsxref("Statements/block", "block")}} ({ ... }) per agrupar aquestes sentències.
+
+ +
+
condició
+
Una expressió que s'avalua després de cada volta del bucle. si condició avalua a certa, la sentència es torna a executar. Quan la condició avalua a falç, control passa a la següent sentència que segueix el do...while.
+
+ +

Exemples

+ +

Utilitzar el do...while

+ +

En l'exemple següent, el bucle do...while itera almenys un cop i torna a iterar fins que i deixa de ser més petit que 5.

+ +
var i = 0;
+do {
+   i += 1;
+   console.log(i);
+} while (i < 5);
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat en JavaScript 1.2
{{SpecName('ES5.1', '#sec-12.6.1', 'do-while statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-do-while-statement', 'do-while statement')}}{{Spec2('ES6')}}Trailing ; ara és opcional.
+ +

Browser compatibility

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}6{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Statements/while", "while")}}
  • +
  • {{jsxref("Statements/for", "for")}}
  • +
diff --git a/files/ca/web/javascript/reference/statements/empty/index.html b/files/ca/web/javascript/reference/statements/empty/index.html new file mode 100644 index 0000000000..6800d476f8 --- /dev/null +++ b/files/ca/web/javascript/reference/statements/empty/index.html @@ -0,0 +1,138 @@ +--- +title: Buida +slug: Web/JavaScript/Referencia/Sentencies/Buida +translation_of: Web/JavaScript/Reference/Statements/Empty +--- +
+
{{jsSidebar("Statements")}}
+
+ +

Resum

+ +

Una sentència buida es fa servir per no proveïr cap sentència, encara que la sintaxi de JavaScript n'esperaria una.

+ +

Sintaxi

+ +
;
+
+ +

Descripció

+ +

La sentència buida és un punt i coma (;) que indica que cap sentència s'executarà, encara que la sintaxi de JavaScript en requereixi una. Pel contrari, quan es vol realitzar múltiples sentències, però JavaScript només en permet un, és possible realitzar-ho mitjançant l'ús d'una sentència de block; que combina diverses sentències en una única sentència.

+ +

Exemples

+ +

La sentència buida sovint s'utilitza amb sentències de bucles. Vegeu l'exemple segúent amb el cos del bucle buit:

+ +
var arr = [1, 2, 3];
+
+// Assign all array values to 0
+for (i = 0; i < arr.length; arr[i++] = 0) /* empty statement */ ;
+
+console.log(arr)
+// [0, 0, 0]
+
+ +

Nota: És una bona idea comentar l'ús intencional de la sentència buida, ja que no és fa molt obvi diferenciar-lo d'un punt i coma normal. En el següent exemple l'ús probablement no és intencional:

+ +
if (condition);       // Caution, this "if" does nothing!
+   killTheUniverse()  // So this gets always executed!!!
+
+ +

Un altre exemple: Una sentència if...else sense claus ({}). Si tres és cert, no passarà res, four does not matter, ni tampoc s'executarà la funció launchRocket() en el cas else.

+ +
if (one)
+  doOne();
+else if (two)
+  doTwo();
+else if (three)
+  ; // nothing here
+else if (four)
+  doFour();
+else
+  launchRocket();
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-12.3', 'Empty statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-empty-statement', 'Empty statement')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Statements/block", "Block statement")}}
  • +
diff --git a/files/ca/web/javascript/reference/statements/export/index.html b/files/ca/web/javascript/reference/statements/export/index.html new file mode 100644 index 0000000000..c1d92ab504 --- /dev/null +++ b/files/ca/web/javascript/reference/statements/export/index.html @@ -0,0 +1,158 @@ +--- +title: export +slug: Web/JavaScript/Referencia/Sentencies/export +translation_of: Web/JavaScript/Reference/Statements/export +--- +
{{jsSidebar("Statements")}}
+ +

La sentència export s'utilitza per exportar funcions, objectes o valors primitius d'un fitxer donat (o mòdul) per a que els puguin fer servir altres programes amb la sentència {{jsxref("Statements/import", "import")}}.

+ +

Els mòduls exportats estan sempre {{jsxref("Strict_mode","strict mode", "", 1)}}  tan si es declaren així com si no. La sentència export no es pot fer servir en mòduls incrustats (embedded).

+ +

Sintaxi

+ +
export nom1, nom2, ..., nomN;
+export default nom1 
+ +
+
nomN
+
Propietat, funció, o objecte que s'ha d'exportar (de manera que es pot importar a través de import en un altre script).
+
+ +

Descripció

+ +

Hi ha dos tipus diferents d'export:

+ +
    +
  • Exportacions nominals (una o més per mòdul): +
    export myFunction; // exporta una funció declarada anteriorment
    +export const foo = Math.sqrt(2); // exporta una constant
    +export let name1, name2, …, nameN;
    +export let name1 = …, name2 = …, …, nameN;
    +export function functionName(){...}
    +export class ClassName {...}
    +
  • +
  • Exportacions per defecte (una per mòdul): +
    export default expression;
    +export default function (…) { … } // també class, function*
    +export default function name1(…) { … } // també class, function*
    +export { name1 as default, … };
    +
  • +
+ +

Les exportacions amb nom són útils per exportar diversos valors. Durant la importació, un serà capaç d'utilitzar el mateix nom per referir-se al valor corresponent.

+ +

Sobre la exportació per defecte, només pot haver-n'hi una per mòdul. Una exportació per defecte pot ser una funció, una classe un objecte o qualsevol altra cosa. Aquest valor es considerarà el principal valor exportat, ja que serà el més fàcil d'importar.

+ +

Exemples

+ +

Usant les exportacions nominals

+ +

En el mòdul podem fer servir el codi següent:

+ +
// "modul.js"
+export function cub(x) {
+  return x * x * x;
+}
+const foo = Math.PI + Math.SQRT2;
+export foo;
+
+ +

Així, en un altre mòdul podem tenir:

+ +
import { cub, foo } from 'modul.js';
+console.log(cub(3)); // 9
+console.log(foo);    // 4.555806215962888
+ +

Usant l'exportació per defecte

+ +

Si volem exportar un únic valor o tenir un valor per defecte per al nostre mòdul podem fer::

+ +
// "modul.js"
+var function cub(x) {
+  return x * x * x;
+}
+export default cub;
+ +

Així, en un altre mòdul podem importar directament:

+ +
import laFuncio from 'modul';
+console.log(laFuncio(3)); // 9
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-imports', 'Imports')}}{{Spec2('ES6')}}Definició inicial
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/statements/for...of/index.html b/files/ca/web/javascript/reference/statements/for...of/index.html new file mode 100644 index 0000000000..5cc16f52f8 --- /dev/null +++ b/files/ca/web/javascript/reference/statements/for...of/index.html @@ -0,0 +1,181 @@ +--- +title: for...of +slug: Web/JavaScript/Referencia/Sentencies/for...of +translation_of: Web/JavaScript/Reference/Statements/for...of +--- +
+
{{jsSidebar("Statements")}}
+
+ +

Resum

+ +

La instrucció for...of crea un bucle que itera sobre objectes iterables (incloent {{jsxref("Array")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, l'objecte arguments, etcètera), tot invocant un bloc de codi amb les instruccions a executar per a cada valor de la propietat.

+ +

Sintaxi

+ +
for (variable of objecte)
+  codi
+
+ +
+
variable
+
A cada iteració el valor d'una propietat diferent és asignat a variable.
+
objecte
+
L'objecte del qual s'iteren les propietats, que són iterables.
+
+ +

Exemples

+ +

Diferència entre for...of i for...in

+ +

El següent exemple mostra la diferència entre el bucle for...of i el bucle for...in. Mentre for...in itera sobre noms de propietats, for...of itera sobre els valors de les propietats:

+ +
let arr = [3, 5, 7];
+arr.foo = "hola";
+
+for (let i in arr) {
+   console.log(i); // mostra "0", "1", "2", "foo"
+}
+
+for (let i of arr) {
+   console.log(i); // mostra "3", "5", "7"
+}
+
+ +

Ús de Array.prototype.forEach()

+ +

Per a aconseguir els mateixos valors que s'obtenen amb for...of també es pot utilitzar el mètode {{jsxref("Array.prototype.forEach()")}}:

+ +
let arr = [3, 5, 7];
+arr.foo = "hola";
+
+arr.forEach(function (element, index) {
+    console.log(element); // mostra "3", "5", "7"
+    console.log(index);   // mostra "0", "1", "2"
+});
+
+// or with Object.keys()
+
+Object.keys(arr).forEach(function (element, index) {
+    console.log(arr[element]); // mostra "3", "5", "7", "hello"
+    console.log(arr[index]);   // mostra "3", "5", "7"
+});
+ +

Iteració de coleccions del DOM

+ +

Iterant sobre coleccions del DOM com {{domxref("NodeList")}}: el següent exemple afegeix la classe read als paràgrafs que són descendens directes d'un article:

+ +
// Nota: Això només funcionarà en plataformes que
+// implementen NodeList.prototype[Symbol.iterator]
+let articleParagraphs = document.querySelectorAll("article > p");
+
+for (let paragraph of articleParagraphs) {
+  paragraph.classList.add("read");
+}
+
+ +

Iteració de generadors:

+ +

Els generadors també són iterables:

+ +
function* fibonacci() { // una funció generadora
+    let [prev, curr] = [0, 1];
+    for (;;) {
+        [prev, curr] = [curr, prev + curr];
+        yield curr;
+    }
+}
+
+for (let n of fibonacci()) {
+    // trunca la seqüència als 1000
+    if (n > 1000)
+        break;
+    print(n);
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + +
EspecificacióEstatComentari
{{SpecName('ES6', '#sec-for-in-and-for-of-statements', 'for...of statement')}}{{Spec2('ES6')}}Definició inicial.
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable()}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(29)}}[1]
+ {{CompatChrome(38)}}
{{CompatGeckoDesktop("13")}}
+ {{CompatGeckoDesktop("17")}} (.iterator)
+ {{CompatGeckoDesktop("27")}} ("@@iterator")
+ {{CompatGeckoDesktop("36")}} (Symbol.iterator)
{{CompatNo}}257.1
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatChrome(29)}}[1]
+ {{CompatChrome(38)}}
{{CompatGeckoMobile("13")}}
+ {{CompatGeckoMobile("17")}} (.iterator)
+ {{CompatGeckoMobile("27")}} ("@@iterator")
+ {{CompatGeckoMobile("36")}} (Symbol.iterator)
{{CompatUnknown}}{{CompatUnknown}}iOS 8
+
+ +

[1] La característica està disponible sota una preferència. A chrome://flags/#enable-javascript-harmony, activar la entrada “Enable Experimental JavaScript”.

+ +

Vegeu també

+ +
    +
  • for each...in - una instrucció similar, però itera els valors de les propietats d'un objecte en comptes de les propietats mateixes de l'objecte (en desús).
  • +
  • {{jsxref("Array.prototype.forEach()")}}
  • +
diff --git a/files/ca/web/javascript/reference/statements/for/index.html b/files/ca/web/javascript/reference/statements/for/index.html new file mode 100644 index 0000000000..00a16b62df --- /dev/null +++ b/files/ca/web/javascript/reference/statements/for/index.html @@ -0,0 +1,190 @@ +--- +title: for +slug: Web/JavaScript/Referencia/Sentencies/for +translation_of: Web/JavaScript/Reference/Statements/for +--- +
+
{{jsSidebar("Statements")}}
+
+ +

Resum

+ +

La sentència for crea un bucle que consta de tres expressions opcionals, embolcallades entre paràntesis i separades per punts i comes, seguits d'una sentència o un grup de sentències executades en el bucle.

+ +

Sintaxi

+ +
for ([inicialització]; [condició]; [expressió final])
+   sentència
+
+ +
+
inicialització
+
Una expressió (incloent expressions d'assignació) o declaració de variables. Normalment s'usa per inicialitzar una variable al contador. Opcionalment aquesta expressió pot declarar noves variables amb la paraula clau var.  Aquestes variables no sóc locals pel bucle, és a dir, es troben en el mateix àmbit en que es troba el bucle for. El resultat d'aquesta expressió es descarta.
+
condició
+
Una expressió que s'avalua abans de cada iteració del bucle. Si aquesta expressió s'avalua true, s'executa la sentència. Aquesta prova condicional és opcional. Si s'omet, la condició sempre avalua true. Si l'expressió avalua a false, l'execució salta a la primera expressió que es trobi després del constructe for.
+
Expressió final
+
Una expressió per ser avaluada al final de cada iteració del bucle. Això passa abans de la següent avaluació de condició. Generalment s'usa per actualitzar o incrementar la variable contador.
+
sentència
+
Una sentència que s'executa mentre la condició avalui a true. Per executar múltiples sentències dins el bucle, utilitzeu una sentència block ({ ... }) per agrupar aquestes sentències. Per no executar cap sentència dins el bucle, utilitzeu una sentència buida  (;).
+
+ +

Exemples

+ +

Exemple: Fer servir for

+ +

La següent sentència for comença declarant la variable i i l'inicialitza a 0. Comprova que  i és menor que nou, realitza les dues sentències següents, i incrementa i per 1 després de cada pas pel bucle.

+ +
for (var i = 0; i < 9; i++) {
+   console.log(i);
+   // more statements
+}
+
+ +

Exemple: Expressions for opcionals

+ +

Les tres expressions en la capçalera del bucle for són opcionals.

+ +

Per exemple, enel bloc d'inicialització no es requereix inicialitzar les variablesblock it is not required to initialize variables:

+ +
var i = 0;
+for (; i < 9; i++) {
+    console.log(i);
+    // more statements
+}
+
+ +

Com el bloc d'inicialització, el bloc de condició també és opcional. Si s'omet aquesta expressió, s'ha de d'assegurar de trencar el bucle en el cos per evitar crear un bucle infinit.

+ +
for (var i = 0;; i++) {
+   console.log(i);
+   if (i > 3) break;
+   // more statements
+}
+ +

També es pot ometre els tres blocs. Un alre cop, assegureu-vos de fer servir la sentència break per finalitzar el bucle i també modificar (incrementar) una variable, de forma que la condició per la sentència break esdevé certa en algun moment determinat.

+ +
var i = 0;
+
+for (;;) {
+  if (i > 3) break;
+  console.log(i);
+  i++;
+}
+
+ +

Exemple: Fer servir for amb una sentència buida

+ +

El cicle for següent callcula la possició de desplaçament d'un node en la secció  [expressió final], i per tant no requereix l'ús d'una sentència o secció de sentències block, es fa servir una sentència buida en el seu lloc.

+ +
function showOffsetPos (sId) {
+  var nLeft = 0, nTop = 0;
+
+  for (var oItNode = document.getElementById(sId); // initialization
+       oItNode; // condition
+       nLeft += oItNode.offsetLeft, nTop += oItNode.offsetTop, oItNode = oItNode.offsetParent) // final-expression
+       /* empty statement */ ;
+
+  console.log("Offset position of \"" + sId + "\" element:\n left: " + nLeft + "px;\n top: " + nTop + "px;");
+}
+
+// Example call:
+
+showOffsetPos("content");
+
+// Output:
+// "Offset position of "content" element:
+// left: 0px;
+// top: 153px;"
+ +
Nota: En aquest cas, quan no es fa servir la secció sentència, es fica un punt i coma immediatament despres de la declaració del cicle.
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-12.6.3', 'for statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-for-statement', 'for statement')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Statements/break", "break")}}
  • +
  • {{jsxref("Statements/continue", "continue")}}
  • +
  • {{jsxref("Statements/empty", "empty")}}
  • +
  • {{jsxref("Statements/while", "while")}}
  • +
  • do...while
  • +
  • for...in
  • +
  • for...of
  • +
diff --git a/files/ca/web/javascript/reference/statements/function/index.html b/files/ca/web/javascript/reference/statements/function/index.html new file mode 100644 index 0000000000..37deff748f --- /dev/null +++ b/files/ca/web/javascript/reference/statements/function/index.html @@ -0,0 +1,171 @@ +--- +title: function +slug: Web/JavaScript/Referencia/Sentencies/function +translation_of: Web/JavaScript/Reference/Statements/function +--- +
+
{{jsSidebar("Statements")}}
+
+ +

Resum

+ +

La declaració d'una funció defineix una funció amb uns paràmetres especificats.

+ +
+

També podeu definir funcions fent servir el constructor {{jsxref("Function")}} i un {{jsxref("Operators/function", "function expression")}}.

+
+ +

Sintaxi

+ +
function nom([paràm,[, paràm,[..., paràm]]]) {
+   [sentències]
+}
+
+ +
+
nom
+
El nom de la funció.
+
+ +
+
paràm
+
El nom d'un argument que se li passarà a la funció. Una funció pot arribar a tenir fins a 255 arguments.
+
+ +
+
sentències
+
Les sentències que comprenen el cos de la funció.
+
+ +

Descripció

+ +

Una funció creada amb una declaració d'una funció és un objecte Function i té totes les propietats, mètodes i comportament dels objectes Function. Vegeu {{jsxref("Function")}} per informació detallada sobre funcions.

+ +

Una funció també es pot crear fent servir una expressió (vegeu {{jsxref("Operators/function", "function expression")}}).

+ +

Per defecte, les funcions retornen undefined. Per tal de retornar qualsevol altre valor, la funció ha de tenir una sentència {{jsxref("Statements/return", "return")}} que especifiqui el valor que retorna.

+ +

Funcions creades de forma condicional

+ +

Les funcions poden ser declarades de forma condicional, és a dir, una sentència d'una funció pot estar aniuada dins d'una sentència if. La majoria de navegadors que no siguin Mozilla tractaran aquestes declaracions condicionals com a declaracions incondicionals i crearàn la funció tant si la condició és vertadera o falsa, vegeu aquest article per una visió general. Per tant, no s'haurien de fer servir, per creacions condicionals feu servir expressions de funcions.

+ +

Declarar les funcions abans de definir-les (hosting)

+ +

Function declarations in JavaScript are hoisting the function definition. En Javascript es pot ser cridar una funció abans de declarar-la. En anglès existeix un ver:

+ +
hoisted(); // logs "foo"
+
+function hoisted() {
+  console.log("foo");
+}
+
+ +

Vegeu que {{jsxref("Operators/function", "function expressions")}} no estan hoisted:

+ +
notHoisted(); // TypeError: notHoisted is not a function
+
+var notHoisted = function() {
+   console.log("bar");
+};
+
+ +

Exemples

+ +

Exemple: Fer servir function

+ +

El codi següent declara una funció que retorna la quantitat total de vendes, quan se li dóna el nombre d'unitat venudes d' a, b, i c.

+ +
function calc_sales(units_a, units_b, units_c) {
+   return units_a*79 + units_b * 129 + units_c * 699;
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició iniciañ. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-13', 'Function definition')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Functions_and_function_scope", "Functions and function scope")}}
  • +
  • {{jsxref("Function")}}
  • +
  • {{jsxref("Operators/function", "function expression")}}
  • +
  • {{jsxref("Statements/function*", "function* statement")}}
  • +
  • {{jsxref("Operators/function*", "function* expression")}}
  • +
  • {{jsxref("GeneratorFunction")}}
  • +
diff --git a/files/ca/web/javascript/reference/statements/if...else/index.html b/files/ca/web/javascript/reference/statements/if...else/index.html new file mode 100644 index 0000000000..b45e9bea3c --- /dev/null +++ b/files/ca/web/javascript/reference/statements/if...else/index.html @@ -0,0 +1,203 @@ +--- +title: if...else +slug: Web/JavaScript/Referencia/Sentencies/if...else +translation_of: Web/JavaScript/Reference/Statements/if...else +--- +
+
{{jsSidebar("Statements")}}
+
+ +

Resum

+ +

La sentència if executa una sentència si una condició especificada és certa. Si la condició és falsa, opcionalment s'executa una declaració diferent.

+ +

Sintaxi

+ +
if (condició)
+   sentència1
+[else
+   sentència2]
+
+ +
+
condició
+
Una expressió que esdevé o certa o falsa.
+
+ +
+
sentència1
+
És la sentència que s'executa si la condició esdevé certa. Pot ser qualsevol declaració, incloent més sentències if aniuades. Per executar múltimples sentències, es fa servir una sentència block ({ ... }) per agrupar aquestes sentències, si no es vol executar cap sentència, es fa servir una sentència buida.
+
+ +
+
sentència2
+
La sentència que s'executa si la condition esdevé falsa i hi ha la clàusula else. Pot ser qualsevol sentència, incloent sentències en block i més sentències if aniuades.
+
+ +

Descripció

+ +

Múltiples sentències if...else poden aniuar-se per crear una clàusula else if. Fixeu-vos que no hi ha la paraula clau elseif (en una paraula) en JavaScript.

+ +
if (condició1)
+   sentència1
+else if (condició2)
+   sentència2
+else if (condició3)
+   sentència3
+...
+else
+   sentènciaN
+
+ +

Per veure com funciona, així es com es veuria amb l'aniuament degudament indentat.

+ +
if (condició1)
+   sentència1
+else
+   if (condició2)
+      sentència2
+   else
+      if (condició3)
+...
+
+ +

Per executar múltiples sentències dins una clàusula, utilitzeu una sentència block ({ ... }) per agrupar aquestes sentències. En general, és una bona pràctica utilitzar sempre sentències de block, especialment en codi que inclogui sentències if aniuades:

+ +
if (condició) {
+   sentència1
+} else {
+   sentència2
+}
+
+ +

No confongueu els valors booleans primitius true i false amb els valors cert i fals de l'objecte Boolean. Qualsevol valor que no sigui undefined, null, 0, NaN, o una cadena buida (""), i qualsevol objecte, incloent un objecte Boolean que tingui el valor fals, esdevé cert quan es passa a una sentència condicional. Per exemple:

+ +
var b = new Boolean(false);
+if (b) // this condition evaluates to true
+
+ +

Exemples

+ +

Exemple: Fer servir if...else

+ +
if (cipher_char === from_char) {
+   result = result + to_char;
+   x++;
+} else {
+   result = result + clear_char;
+}
+
+ +

Exemple: Fer servir else if

+ +

Vegeu que no hi ha cap sintaxi elseif en JavaScript. Tanmateix, es pot escriure amb un espai entre else i if:

+ +
if (x > 5) {
+
+} else if (x > 50) {
+
+} else {
+
+}
+ +

Exemple: Assignació dins l'expressió condicional

+ +

És recomanable no utilitzar assignacions simples en una expressió condicional, atès que l'assignació es pot confondre amb l'igualtat quan es mira per sobre el codi. Per exemple, no utilitzeu el codi següent:

+ +
if (x = y) {
+   /* do the right thing */
+}
+
+ +

Si necessiteu usar una assignació dins d'una expressió condicional, una pràctica comuna és ficar parèntesis addicionals embolcallant l'assignació. Per exemple:

+ +
if ((x = y)) {
+   /* do the right thing */
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacóEstatComentaris
1a edició de ECMAScript.EstàndardDefinció inicial.
{{SpecName('ES5.1', '#sec-12.5', 'if statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-if-statement', 'if statement')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ +
    +
  • {{jsxref("Statements/block", "block")}}
  • +
  • {{jsxref("Statements/switch", "switch")}}
  • +
diff --git a/files/ca/web/javascript/reference/statements/index.html b/files/ca/web/javascript/reference/statements/index.html new file mode 100644 index 0000000000..e91e446cbf --- /dev/null +++ b/files/ca/web/javascript/reference/statements/index.html @@ -0,0 +1,129 @@ +--- +title: Statements and declarations +slug: Web/JavaScript/Referencia/Sentencies +tags: + - JavaScript + - NeedsTranslation + - Reference + - TopicStub + - statements +translation_of: Web/JavaScript/Reference/Statements +--- +
{{jsSidebar("Statements")}}
+ +

Les aplicacions de JavaScript consisteixen en sentències amb una sintaxi adequada. Una sola sentència pot ocupar múltiples línies. Múltiples sentències poden donar-se en una sola línia si cada sentència és separada per un punt i coma. Això no és una paraula clau sino un grup de paraules claus.

+ +

Sentències i declaracions per categoria

+ +

Per a un llistat alfabetic vegeu el menú de l'esquerra.

+ +

Control de fluxe

+ +
+
{{jsxref("Sentencies/block", "Block")}}
+
Una sentència bloc s'utilitza per a agrupar zero o més sentències. El bloc és delimitat per un parell de claus {}.
+
{{jsxref("Sentencies/break", "break")}}
+
Acaba la sentència bucle, switch o label actual i transfereix el control del programa a la sentència que segueix la sentència que tot just s'ha acabat.
+
{{jsxref("Sentencies/continue", "continue")}}
+
Acaba l'execució de les sentències de la iteració del bucle actual o bé del bucle especificat, i continua l'execució del bucle amb la següent iteració.
+
{{jsxref("Sentencies/Empty", "Empty")}}
+
Una sentència buida s'utilitza per a proporcionar una sentència que no fa res quan JavaScript espera una sentència però no se'n necesita executar cap.
+
{{jsxref("Sentencies/if...else", "if...else")}}
+
Executa una sentència si la condició especificada és certa. Si la condició és falsa una altra sentència pot ser executada.
+
{{jsxref("Sentencies/switch", "switch")}}
+
Evalua una expressió, compara el resultat de l'evaluació amb una clàusula de tipus case i executa la sentència pertanyent a la clàusula case que és igual a l'evaluació de l'expressió.
+
{{jsxref("Sentencies/throw", "throw")}}
+
Llença una excepció definida per l'usuari.
+
{{jsxref("Sentencies/try...catch", "try...catch")}}
+
Executa un bloc de sentències i, en cas que alguna sentència del bloc llenci una excepció, executa una sentència alternativa.
+
+ +

Declaracions

+ +
+
{{jsxref("Sentencies/var", "var")}}
+
Declara una variable, opcionalment li assigna un valor.
+
{{experimental_inline()}} {{jsxref("Sentencies/let", "let")}}
+
Declara un bloc de variables d'àmbit local, opcionalment li assigna un valor.
+
{{experimental_inline()}} {{jsxref("Sentencies/const", "const")}}
+
Declara una constant de només lectura.
+
+ +

Funcions

+ +
+
{{jsxref("Sentencies/function", "function")}}
+
Declara una funció amb els paràmetres especificats.
+
{{experimental_inline()}} {{jsxref("Sentencies/function*", "function*")}}
+
Funcions generadores que permeten escriure iteradors de forma més senzilla.
+
{{jsxref("Sentencies/return", "return")}}
+
Especifica el valor que retornarà una funció.
+
+ +

Iteracions

+ +
+
{{jsxref("Sentencies/do...while", "do...while")}}
+
Crea un bucle que executa una sentència especificada fins que la condició de test s'evalua a fals. La condició s'evalua després d'executar la sentència, resultant en que la sentència especificada s'executa al menys un cop.
+
{{jsxref("Sentencies/for", "for")}}
+
Crea un bucle que sonsisteix en tres expressions opcionals embolcallades per parèntesi i separades per punts i coma, seguides d'una sentència que s'executarà en el bucle.
+
{{deprecated_inline()}} {{non-standard_inline()}} {{jsxref("Sentencies/for_each...in", "for each...in")}}
+
Itera sobre tots els valors de les propietats d'un objecte, assignant a una variable determinada el seu valor. Per a cada propietat distinta s'executa una sentència.
+
{{jsxref("Sentencies/for...in", "for...in")}}
+
Itera sobre les propietats enumerables d'un objecte en un ordre arbitrari. Per a cada propietat distinta s'executa una sentència.
+
{{experimental_inline()}} {{jsxref("Sentencies/for...of", "for...of")}}
+
Itera sobre objectes iterables (incloent arrays, objectes similar a arrays, iteradors i generadors), executant una sentència per al valor de cada propietat distinta.
+
{{jsxref("Sentencies/while", "while")}}
+
Crea un bucle que executa la sentència donada mentre una condició sigui certa. La condició s'evalua abans d'executar la sentència.
+
+ +

Altres

+ +
+
{{jsxref("Sentencies/debugger", "debugger")}}
+
Invoca qualsevol funcionalitat de depuració que estigui disponible. Si no hi ha cap funcionalitat de depuració disponible aquesta sentència no te cap efecte.
+
{{experimental_inline()}} {{jsxref("Sentencies/export", "export")}}
+
Utilitzada per a exportar funcions per a que aquestes estiguin disponibles per a imports a mòduls externs, en altres scripts.
+
{{experimental_inline()}} {{jsxref("Sentencies/import", "import")}}
+
Utilitzada per a importar funcions exportades d'un mòdul extern, un altre script.
+
{{jsxref("Sentencies/label", "label")}}
+
Asigna un identificador a una sentència. Aquest identificador pot ser emprat en sentències break o continue.
+
+ +
+
{{deprecated_inline()}} {{jsxref("Sentencies/with", "with")}}
+
Extèn la cadena d'àmbit per a una sentència.
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentari
ECMAScript 1a EdicióStandardDefinició inicial.
{{SpecName('ES5.1', '#sec-12', 'Statements')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-ecmascript-language-statements-and-declarations', 'Llenguatge ECMAScript: Sentències i declaracions')}}{{Spec2('ES6')}}Nou: function*, let, for...of, yield
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/statements/return/index.html b/files/ca/web/javascript/reference/statements/return/index.html new file mode 100644 index 0000000000..5b3c3e902a --- /dev/null +++ b/files/ca/web/javascript/reference/statements/return/index.html @@ -0,0 +1,183 @@ +--- +title: return +slug: Web/JavaScript/Referencia/Sentencies/return +translation_of: Web/JavaScript/Reference/Statements/return +--- +
+
{{jsSidebar("Statements")}}
+
+ +

Resum

+ +

La sentència return finalitza l'execució de la funció i especifica un valor que retornarà a la funció que l'ha cridat.

+ +

Sintaxi

+ +
return [[expressió]]; 
+ +
+
expressió
+
L'expressió que retorna. En cas d'ometre-s, es retorna undefined.
+
+ +

Descripció

+ +

Quan una sentència return és cridada dins una funció, l'execució d'aquesta funció s'atura. En cas d'especificar-se, un valor donat és retornat a la funció que l'ha cridat. Si s'omet l'expressió, es retornarà undefined. En les següents sentències return totes aturen l'execució de la funció:

+ +
return;
+return true;
+return false;
+return x;
+return x + y / 3;
+
+ +

Insersió automàtica de punt i coma

+ +

La sentència return es veu afectada per la insersió automàtica de punt i coma (). No hi ha cap final de línia entre la paraula clau return i l'expressió permesa.

+ +
return
+a + b;
+
+// is transformed by ASI into
+
+return;
+a + b;
+
+ +

Exemples

+ +

Exemple: Fer servir return

+ +

La següent funció retorna el quadrat del seu argument, x, on x és un nombre.

+ +
function square(x) {
+   return x * x;
+}
+
+ +

Exemple: Interrompre una funció

+ +

Una funció s'atura immediatament en el moment en que es crida return.

+ +
function counter() {
+  for (var count = 1; ; count++) {  // infinite loop
+    console.log(count + "A"); // until 5
+      if (count === 5) {
+        return;
+      }
+      console.log(count + "B");  // until 4
+    }
+  console.log(count + "C");  // never appears
+}
+
+counter();
+
+// Output:
+// 1A
+// 1B
+// 2A
+// 2B
+// 3A
+// 3B
+// 4A
+// 4B
+// 5A
+
+ +

Exemple: Returning a function

+ +

Per més informació sobre closures, llegiu la Guia de JavaScript.

+ +
function magic(x) {
+  return function calc(x) { return x * 42};
+}
+
+var answer = magic();
+answer(1337); // 56154
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScriptEstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-12.9', 'Return statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-return-statement', 'Return statement')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/statements/throw/index.html b/files/ca/web/javascript/reference/statements/throw/index.html new file mode 100644 index 0000000000..37d13b964b --- /dev/null +++ b/files/ca/web/javascript/reference/statements/throw/index.html @@ -0,0 +1,228 @@ +--- +title: throw +slug: Web/JavaScript/Referencia/Sentencies/throw +translation_of: Web/JavaScript/Reference/Statements/throw +--- +
{{jsSidebar("Statements")}}
+ +

La sentència throw llença una excepció definida per l'usuari. L'execució de la funció actual s'aturarà (les sentències de després de throw no s'executaran) i es passarà el control al primer bloc catch en la pila de crides. Si no existeix cap bloc catch en les funcions de crides, el programa s'acabarà.

+ +

Sintaxi

+ +
throw expressió; 
+ +
+
expressió
+
L'expressió que es llença.
+
+ +

Descripció

+ +

Utilitzeu una sentència throw per llençar una excepció. Quan es llença l'excepció, expression especifica el valor de l'excepció. Cadascun dels exemples següents llença una excepció:

+ +
throw "Error2"; // genera una excepció amb un valor tipus cadena
+throw 42;       // genera una excepció amb el valor 42
+throw true;     // genera una excepció amb el valor true
+ +

Tingueu en compte que la sentència throw queda afectada per insersió automàtica de punts i comes (ASI) ja que no es permet cap final de línia entre la paraula clau throw i l'expressió.

+ +

Exemples

+ +

Llença un objecte

+ +

Es pot especificar un objecte quan es llença una excepció. Es pot fer referència a les propietats de l'objecte en el bloc catch. L'exemple següent crea un objecte myUserException de tipus UserException i l'utilitza en una sentència throw.

+ +
function UserException(message) {
+   this.message = message;
+   this.name = "UserException";
+}
+function getMonthName(mo) {
+   mo = mo-1; // Adjustar el número de mes per un índex d'array (1=Jan, 12=Dec)
+   var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
+      "Aug", "Sep", "Oct", "Nov", "Dec"];
+   if (months[mo] !== undefined) {
+      return months[mo];
+   } else {
+      throw new UserException("InvalidMonthNo");
+   }
+}
+
+try {
+   // sentències que s'intentarà exxecutar
+   var myMonth = 15; // 15 està fora del rang i llençarà l'excepció
+   monthName = getMonthName(myMonth);
+} catch (e) {
+   monthName = "unknown";
+   logMyErrors(e.message, e.name); // es pasa l'objecte excepció al manegador d'errors
+}
+
+ +

Un altre exemple de llençar un objecte

+ +

L'exemple següent comprova si una cadena donada és un codi postal per EE.UT. SI el codi postal utilitza un format invàlid, la sentència throw llença una excepció creant un objecte de tipus ZipCodeFormatException.

+ +
/*
+ * Crea un objecte ZipCode.
+ *
+ * Els formats acceptats per a un codi postal són:
+ *    12345
+ *    12345-6789
+ *    123456789
+ *    12345 6789
+ *
+ * Si l'argument passat al constructor ZipCode no s'adjusta a
+ * un d'aquests patrons, es llença una excepció.
+ */
+
+function ZipCode(zip) {
+   zip = new String(zip);
+   pattern = /[0-9]{5}([- ]?[0-9]{4})?/;
+   if (pattern.test(zip)) {
+      // el valor del codi postal serà el primer trobat dins la cadena
+      this.value = zip.match(pattern)[0];
+      this.valueOf = function() {
+         return this.value
+      };
+      this.toString = function() {
+         return String(this.value)
+      };
+   } else {
+      throw new ZipCodeFormatException(zip);
+   }
+}
+
+function ZipCodeFormatException(value) {
+   this.value = value;
+   this.message = "no s'adjusta al format esperat per a un codi postal";
+   this.toString = function() {
+      return this.value + this.message;
+   };
+}
+
+/*
+ * Això podria trobar-se en un script que valida adresses d'EE.UU.
+ */
+
+const ZIPCODE_INVALID = -1;
+const ZIPCODE_UNKNOWN_ERROR = -2;
+
+function verifyZipCode(z) {
+   try {
+      z = new ZipCode(z);
+   } catch (e) {
+      if (e instanceof ZipCodeFormatException) {
+         return ZIPCODE_INVALID;
+      } else {
+         return ZIPCODE_UNKNOWN_ERROR;
+      }
+   }
+   return z;
+}
+
+a = verifyZipCode(95060);         // retorna 95060
+b = verifyZipCode(9560);          // retorna -1
+c = verifyZipCode("a");           // retorna -1
+d = verifyZipCode("95060");       // retorna 95060
+e = verifyZipCode("95060 1234");  // retorna 95060 1234
+
+ +

Rellençar una excepció

+ +

Es pot utilitzar throw per rellençar una excepció després de caputrar-la. L'exemple següent captura una excepció amb un valor numèric i el rellença si el valor és major de 50. L'excepció rellençada es propaga fins a la funció que l'envolcalla o al nivell superior de forma que l'usuari ho vegi.

+ +
try {
+   throw n; // llença una excepció amb un valor numèric
+} catch (e) {
+   if (e <= 50) {
+      // sentències per manejar excepcions 1-50
+   } else {
+      // no es pot manejar aquesta excepció, per tant es rellença
+      throw e;
+   }
+}
+
+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat en JavaScript 1.4
{{SpecName('ES5.1', '#sec-12.13', 'throw statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-throw-statement', 'throw statement')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{CompatibilityTable}}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

Vegeu també

+ + diff --git a/files/ca/web/javascript/reference/statements/while/index.html b/files/ca/web/javascript/reference/statements/while/index.html new file mode 100644 index 0000000000..d3997dbefd --- /dev/null +++ b/files/ca/web/javascript/reference/statements/while/index.html @@ -0,0 +1,131 @@ +--- +title: while +slug: Web/JavaScript/Referencia/Sentencies/while +translation_of: Web/JavaScript/Reference/Statements/while +--- +
{{jsSidebar("Statements")}}
+ +

Resum

+ +

la sentència while crea un bucle que executa una sentència especificada sempre que la condició s'avalui certa. La condició s'avalua abans d'executar la sentència..

+ +

Sintaxi

+ +
while (condició) {
+  sentència
+}
+ +
+
condició
+
Una expressió que s'avalua abans de cada passada del bucle. Si aquesta condició esdevé certa, s'executa la sentència. Quan la condició esdevé falsa, l'execució continua amb la sentència posterior al bucle while.
+
sentència
+
Una sentència que s'executa sempre que la condició esdevingui certa. Per executar múltiples sentències dins un bucle, podeu fer ús de la sentència block ({ ... }) per agrupar aquestes sentències.
+
+ +

Exemples

+ +

El següent bucle while itera sempre que n sigui menor que tres.

+ +
var n = 0;
+var x = 0;
+
+while (n < 3) {
+  n++;
+  x += n;
+}
+ +

En cada iteració, el bucle incrementa n i ho suma a x. Per tant, x i n prenen els següents valors:

+ +
    +
  • Després de la primera volta: n = 1 i x = 1
  • +
  • Després de la segona volta: n = 2 i x = 3
  • +
  • Després de la tercera volta: n = 3 i x = 6
  • +
+ +

Després de completar la tercera volta, la condició n < 3 ja no esdevé més certa, i per tant finalitza el bucle.

+ +

Especificacions

+ + + + + + + + + + + + + + + + + + + + + + + + +
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-12.6.2', 'while statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-while-statement', 'while statement')}}{{Spec2('ES6')}} 
+ +

Compatibilitat amb navegadors

+ +

{{ CompatibilityTable() }}

+ +
+ + + + + + + + + + + + + + + + + + + +
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
+
+ +

Vegeu també

+ +
    +
  • do...while
  • +
  • {{jsxref("Statements/for", "for")}}
  • +
diff --git a/files/ca/web/javascript/referencia/classes/constructor/index.html b/files/ca/web/javascript/referencia/classes/constructor/index.html deleted file mode 100644 index a0bd6b966f..0000000000 --- a/files/ca/web/javascript/referencia/classes/constructor/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: constructor -slug: Web/JavaScript/Referencia/Classes/constructor -translation_of: Web/JavaScript/Reference/Classes/constructor ---- -
{{jsSidebar("Classes")}}
- -

Resum

- -

El mètode constructor és un mètode especial per crear i inicialitzar un objecte creat amb una class.

- -

Sintaxi

- -
constructor([arguments]) { ... }
- -

Descripció

- -

Només hi pot haver un mètode especial am el nom "constructor" en una classe. Es llançarà un {{jsxref("SyntaxError")}}, si la classe conté més d'un cas d'un mètode constructor.

- -

Un constructor pot utilitzar la paraula clau super per cridar el constructor de la classe pare.

- -

Exemples

- -

Aquest fragment de codi es pren de mostra de classes (demostració en viu).

- -
class Square extends Polygon {
-  constructor(length) {
-    // Aquí es crida el constructor del pare de la classe amb les longituts
-    // proveïdes per l'amplada i l'alçada del polígon
-    super(length, length);
-    // Nota: En classes derivades, s'ha de cridar super() abans
-    // d'utilitzar 'this'. Obviar això causarà un error de referència.
-    this.name = 'Square';
-  }
-
-  get area() {
-    return this.height * this.width;
-  }
-
-  set area(value) {
-    this.area = value;
-  }
-}
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-static-semantics-constructormethod', 'Constructor Method')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(42.0)}} -

Disponible només al canal Nightly  (desde febrer del 2015)

-
{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatChrome(42.0)}}Disponible només al canal Nightly  (desde febrer del 2015){{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Notes específiques per Firefox

- -
    -
  • Els constructors estàndards encara no s'han implementat ({{bug(1105463)}})
  • -
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/classes/index.html b/files/ca/web/javascript/referencia/classes/index.html deleted file mode 100644 index 23daf7e1ff..0000000000 --- a/files/ca/web/javascript/referencia/classes/index.html +++ /dev/null @@ -1,382 +0,0 @@ ---- -title: Classes -slug: Web/JavaScript/Referencia/Classes -tags: - - Classes - - ECMAScript 2015 - - Experimental - - Expérimental(2) - - JavaScript - - NeedsContent - - NeedsTranslation - - Reference - - Référence(2) - - TopicStub -translation_of: Web/JavaScript/Reference/Classes ---- -
{{JsSidebar("Classes")}}
- -

JavaScript classes, introduced in ECMAScript 2015, are primarily syntactical sugar over JavaScript's existing prototype-based inheritance. The class syntax does not introduce a new object-oriented inheritance model to JavaScript.

- -

Defining classes

- -

Classes are in fact "special functions", and just as you can define function expressions and function declarations, the class syntax has two components: class expressions and class declarations.

- -

Class declarations

- -

One way to define a class is using a class declaration. To declare a class, you use the class keyword with the name of the class ("Rectangle" here).

- -
class Rectangle {
-  constructor(height, width) {
-    this.height = height;
-    this.width = width;
-  }
-}
- -

Hoisting

- -

An important difference between function declarations and class declarations is that function declarations are {{Glossary("Hoisting", "hoisted")}} and class declarations are not. You first need to declare your class and then access it, otherwise code like the following will throw a {{jsxref("ReferenceError")}}:

- -
var p = new Rectangle(); // ReferenceError
-
-class Rectangle {}
-
- -

Class expressions

- -

A class expression is another way to define a class. Class expressions can be named or unnamed. The name given to a named class expression is local to the class's body. (it can be retrieved through the class's (not an instance's) .name property, though)

- -
// unnamed
-var Rectangle = class {
-  constructor(height, width) {
-    this.height = height;
-    this.width = width;
-  }
-};
-console.log(Rectangle.name);
-// output: "Rectangle"
-
-// named
-var Rectangle = class Rectangle2 {
-  constructor(height, width) {
-    this.height = height;
-    this.width = width;
-  }
-};
-console.log(Rectangle.name);
-// output: "Rectangle2"
-
- -

Note: Class expressions also suffer from the same hoisting issues mentioned for Class declarations.

- -

Class body and method definitions

- -

The body of a class is the part that is in curly brackets {}. This is where you define class members, such as methods or constructor.

- -

Strict mode

- -

The bodies of class declarations and class expressions are executed in strict mode i.e. constructor, static and prototype methods, getter and setter functions are executed in strict mode.

- -

Constructor

- -

The constructor method is a special method for creating and initializing an object created with a class. There can only be one special method with the name "constructor" in a class. A {{jsxref("SyntaxError")}} will be thrown if the class contains more than one occurrence of a constructor method.

- -

A constructor can use the super keyword to call the constructor of the super class.

- -

Prototype methods

- -

See also method definitions.

- -
class Rectangle {
-  constructor(height, width) {
-    this.height = height;
-    this.width = width;
-  }
-  // Getter
-  get area() {
-    return this.calcArea();
-  }
-  // Method
-  calcArea() {
-    return this.height * this.width;
-  }
-}
-
-const square = new Rectangle(10, 10);
-
-console.log(square.area); // 100
- -

Static methods

- -

The static keyword defines a static method for a class. Static methods are called without instantiating their class and cannot be called through a class instance. Static methods are often used to create utility functions for an application.

- -
class Point {
-  constructor(x, y) {
-    this.x = x;
-    this.y = y;
-  }
-
-  static distance(a, b) {
-    const dx = a.x - b.x;
-    const dy = a.y - b.y;
-
-    return Math.hypot(dx, dy);
-  }
-}
-
-const p1 = new Point(5, 5);
-const p2 = new Point(10, 10);
-
-console.log(Point.distance(p1, p2)); // 7.0710678118654755
- -

Boxing with prototype and static methods

- -

When a static or prototype method is called without a value for this, the this value will be undefined inside the method. This behavior will be the same even if the "use strict" directive isn't present, because code within the class syntax is always executed in strict mode.

- -
class Animal {
-  speak() {
-    return this;
-  }
-  static eat() {
-    return this;
-  }
-}
-
-let obj = new Animal();
-obj.speak(); // Animal {}
-let speak = obj.speak;
-speak(); // undefined
-
-Animal.eat() // class Animal
-let eat = Animal.eat;
-eat(); // undefined
- -

If the above is written using traditional function–based syntax, then autoboxing in method calls will happen in non–strict mode based on the initial this value. If the inital value is undefined, this will be set to the global object.

- -

Autoboxing will not happen in strict mode, the this value remains as passed.

- -
function Animal() { }
-
-Animal.prototype.speak = function() {
-  return this;
-}
-
-Animal.eat = function() {
-  return this;
-}
-
-let obj = new Animal();
-let speak = obj.speak;
-speak(); // global object
-
-let eat = Animal.eat;
-eat(); // global object
-
- -

Instance properties

- -

Instance properties must be defined inside of class methods:

- -
class Rectangle {
-  constructor(height, width) {
-    this.height = height;
-    this.width = width;
-  }
-}
- -

Static class-side properties and prototype data properties must be defined outside of the ClassBody declaration:

- -
Rectangle.staticWidth = 20;
-Rectangle.prototype.prototypeWidth = 25;
-
- -

- -

Sub classing with extends

- -

The extends keyword is used in class declarations or class expressions to create a class as a child of another class.

- -
class Animal {
-  constructor(name) {
-    this.name = name;
-  }
-
-  speak() {
-    console.log(this.name + ' makes a noise.');
-  }
-}
-
-class Dog extends Animal {
-  speak() {
-    console.log(this.name + ' barks.');
-  }
-}
-
-var d = new Dog('Mitzie');
-d.speak(); // Mitzie barks.
-
- -

If there is a constructor present in subclass, it needs to first call super() before using "this".

- -

One may also extend traditional function-based "classes":

- -
function Animal (name) {
-  this.name = name;
-}
-
-Animal.prototype.speak = function () {
-  console.log(this.name + ' makes a noise.');
-}
-
-class Dog extends Animal {
-  speak() {
-    console.log(this.name + ' barks.');
-  }
-}
-
-var d = new Dog('Mitzie');
-d.speak(); // Mitzie barks.
-
- -

Note that classes cannot extend regular (non-constructible) objects. If you want to inherit from a regular object, you can instead use {{jsxref("Object.setPrototypeOf()")}}:

- -
var Animal = {
-  speak() {
-    console.log(this.name + ' makes a noise.');
-  }
-};
-
-class Dog {
-  constructor(name) {
-    this.name = name;
-  }
-}
-
-// If you do not do this you will get a TypeError when you invoke speak
-Object.setPrototypeOf(Dog.prototype, Animal);
-
-var d = new Dog('Mitzie');
-d.speak(); // Mitzie makes a noise.
-
- -

Species

- -

You might want to return {{jsxref("Array")}} objects in your derived array class MyArray. The species pattern lets you override default constructors.

- -

For example, when using methods such as {{jsxref("Array.map", "map()")}} that returns the default constructor, you want these methods to return a parent Array object, instead of the MyArray object. The {{jsxref("Symbol.species")}} symbol lets you do this:

- -
class MyArray extends Array {
-  // Overwrite species to the parent Array constructor
-  static get [Symbol.species]() { return Array; }
-}
-
-var a = new MyArray(1,2,3);
-var mapped = a.map(x => x * x);
-
-console.log(mapped instanceof MyArray); // false
-console.log(mapped instanceof Array);   // true
-
- -

Super class calls with super

- -

The super keyword is used to call corresponding methods of super class.

- -
class Cat {
-  constructor(name) {
-    this.name = name;
-  }
-
-  speak() {
-    console.log(this.name + ' makes a noise.');
-  }
-}
-
-class Lion extends Cat {
-  speak() {
-    super.speak();
-    console.log(this.name + ' roars.');
-  }
-}
-
-var l = new Lion('Fuzzy');
-l.speak();
-// Fuzzy makes a noise.
-// Fuzzy roars.
-
-
- -

Mix-ins

- -

Abstract subclasses or mix-ins are templates for classes. An ECMAScript class can only have a single superclass, so multiple inheritance from tooling classes, for example, is not possible. The functionality must be provided by the superclass.

- -

A function with a superclass as input and a subclass extending that superclass as output can be used to implement mix-ins in ECMAScript:

- -
var calculatorMixin = Base => class extends Base {
-  calc() { }
-};
-
-var randomizerMixin = Base => class extends Base {
-  randomize() { }
-};
-
- -

A class that uses these mix-ins can then be written like this:

- -
class Foo { }
-class Bar extends calculatorMixin(randomizerMixin(Foo)) { }
- -

Specifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('ES2015', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ES2016', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2016')}}
{{SpecName('ES2017', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES2017')}}
{{SpecName('ESDraft', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ESDraft')}}
- -

Browser compatibility

- - - -

{{Compat("javascript.classes")}}

- -

Running in Scratchpad

- -

A class can't be redefined. If you're playing with code in Scratchpad (Firefox menu Tools > Web Developer > Scratchpad) and you 'Run' a definition of a class with the same name twice, you'll get a confusing SyntaxError: redeclaration of let <class-name>.

- -

To re-run a definition, use Scratchpad's menu Execute > Reload and Run.
- Please vote for bug #1428672.

- -

See also

- - diff --git a/files/ca/web/javascript/referencia/classes/static/index.html b/files/ca/web/javascript/referencia/classes/static/index.html deleted file mode 100644 index 3255dc1552..0000000000 --- a/files/ca/web/javascript/referencia/classes/static/index.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: static -slug: Web/JavaScript/Referencia/Classes/static -translation_of: Web/JavaScript/Reference/Classes/static ---- -
{{jsSidebar("Classes")}}
- -

La paraula clau static defineix un mètode estàtic per a una classe.

- -

Sintaxi

- -
static methodName() { ... }
- -

Descripció

- -

Els mètodes estàtics es criden sense realitzar una instantània de la seva classe o instantiating their class nor are they callable when the class is instantiated. Els mètodes estàtics s'utilitzen sovint per crear funcions d'utilitat per una aplicació.

- -

Exemples

- -

L'exemple següent mostra diverses coses. Mostra com un mètode estàtic és implementat en una classe i que una classe amb un membre estàtic pot tenir subclasses. Finalment, mostra com es pot i com no es pot cridar un mètode estàtic.

- -
class Tripple {
-  static tripple(n) {
-    n = n | 1;
-    return n * 3;
-  }
-}
-
-class BiggerTripple extends Tripple {
-  static tripple(n) {
-    return super.tripple(n) * super.tripple(n);
-  }
-}
-
-console.log(Tripple.tripple());
-console.log(Tripple.tripple(6));
-console.log(BiggerTripple.tripple(3));
-var tp = new Tripple();
-console.log(tp.tripple()); //Logs 'tp.tripple is not a function'.
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-class-definitions', 'Class definitions')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(42.0)}}Disponible només en el canal Nightly  (desde febrer del 2015){{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatChrome(42.0)}}Disponible només en el canal Nightly  (desde febrer del 2015){{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/index.html b/files/ca/web/javascript/referencia/index.html deleted file mode 100644 index f524504ab2..0000000000 --- a/files/ca/web/javascript/referencia/index.html +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Glossari de JavaScript -slug: Web/JavaScript/Referencia -translation_of: Web/JavaScript/Reference ---- -
{{JsSidebar}}
- -

Aquesta part de la secció de JavaScript a l'MDN serveix com a glossari de informació sobre el llenguatge JavaScript. Podeu llegir més sobre aquest glossari.

- -

Objectes Globals

- -

Aquest capítol documenta tots els objectes standard de JavaScript, així com els seus mètodes i propietats.

- -

{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects', 'Objectes standard (per categoria)')}}

- -

Sentències

- -

Aquest capítol documenta totes les sentències i declaracions disponibles a JavaScript.

- -

{{page('/ca/docs/Web/JavaScript/Reference/Statements', 'Instruccions i declaracions disponibles (per categoria)')}}

- -

Expressions i operadors

- -

Aquest capítol documenta totes les expressions i els operadors soportats per JavaScript.

- -
{{page('/ca/docs/Web/JavaScript/Reference/Operators', 'Expressions i operadors (per categoria)')}}
- -

Funcions

- -

Aquest capítol documenta com treballar amb funcions de JavaScript.

- - - -

Pàgines de glossari adicionals

- - diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/entries/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/entries/index.html deleted file mode 100644 index 8b67c06038..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/entries/index.html +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Array.prototype.entries() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/entries -translation_of: Web/JavaScript/Reference/Global_Objects/Array/entries ---- -
{{JSRef}}
- -

El mètode entries() retorna un nou objecte Array Iterator que conté els parells clau/valor per a cada posició de l'array.

- -

Sintaxi

- -
arr.entries()
- -

Exemples

- -
var arr = ['a', 'b', 'c'];
-var eArr = arr.entries();
-
-console.log(eArr.next().value); // [0, 'a']
-console.log(eArr.next().value); // [1, 'b']
-console.log(eArr.next().value); // [2, 'c']
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.entries', 'Array.prototype.entries')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.entries', 'Array.prototype.entries')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("28")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("28")}}{{CompatNo}}{{CompatNo}}8.0
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.keys()")}}
  • -
  • {{jsxref("Array.prototype.forEach()")}}
  • -
  • {{jsxref("Array.prototype.every()")}}
  • -
  • {{jsxref("Array.prototype.some()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/every/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/every/index.html deleted file mode 100644 index ad707b4990..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/every/index.html +++ /dev/null @@ -1,220 +0,0 @@ ---- -title: Array.prototype.every() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/every -translation_of: Web/JavaScript/Reference/Global_Objects/Array/every ---- -
{{JSRef}}
- -

El mètode every() comprova si tots els elements d'un array passen el test implementat per la funció proporcionada.

- -

Sintaxi

- -
arr.every(callback[, thisArg])
- -

Paràmetres

- -
-
callback
-
Funció utilitzada com a test per a cada element, rep tres arguments: -
-
valorActual
-
L'element de l'array que està sent avaluat.
-
posició
-
La posició que l'element passat al primer paràmetre ocupa dins l'array.
-
array
-
L'array des del que s'ha cridat el mètode every().
-
-
-
thisArg
-
Opcional. Valor que valdrà la variable this quan s'estigui executant la funció callback.
-
- -

Descripció

- -

every() executa la funció callback un cop per a cada element present a l'array fins que troba un per al qual callback retorna un valor falsy (és a dir, un valor que esdebé fals si es realitza una conversió de tipus a Boolean). Si es troba aquest element, el mètode every retorna immediatament false. En cas contrari, si callback ha retornat un valor true per a tots els elements, every retornarà true. Només s'invocarà la funció callback en les posicions de l'array que tinguin un valor assignat, és a dir, mai es cridarà per a posicions que han estat esborrades o el valor de les quals no ha estat mai assignat.

- -

S'invoca callback amb tres arguments: el valor de l'element, la posició de l'element dins l'array, i l'objecte array que es recorrerà.

- -

Si es proporciona el paràmetre thisArg al mètode every(), aquest es passarà a callback quan s'invoqui, i serà el valor que mostrarà la variable this. En cas contrari, s'utilitzarà el valor undefined com a valor per a this. El valor de this observable en última instància per callback es determinarà d'acord a les regles per a determinar el valor de this observat per una funció.

- -

every() no mutarà l'array quan sigui cridada.

- -

El rang d'elements processat per every() és determinat abans de la primera invocació de callback. Els elements que s'afegeixin a l'array després de la crida a every() no seran visitats per callback. Si el valor d'un element encara no visitat canvia, el valor que es passarà a callback serà el valor que tingui aquest element a l'hora de visitar-lo; els elements que s'esborrin no es visitaran.

- -

every es comporta com un quantificador "for all" en matemàtiques. En concret, per a un array buit retornarà true (s'anomena veritat per buit el fet que tots els elements d'un grup buit satisfacin qualsevol condició donada).

- -

Exemples

- -

Comprovar el tamany de tots els elements d'un array

- -

L'exemple següent comprova si tots els elements d'un array son majors de 10.

- -
function isBigEnough(element, index, array) {
-  return element >= 10;
-}
-[12, 5, 8, 130, 44].every(isBigEnough);   // false
-[12, 54, 18, 130, 44].every(isBigEnough); // true
-
- -

Utilitzar funcions flexta

- -

Les funcions fletxa ofereixen una sintaxi reduïda per a realitzar el mateix test.

- -
[12, 5, 8, 130, 44].every(elem => elem >= 10); // false
-[12, 54, 18, 130, 44].every(elem => elem >= 10); // true
- -

Polyfill

- -

every va ser afegida  al standard ECMA-262 en la cinquena edició; és per això que pot no estar disponible en certes implementacions del standard. Es pot proporcionar la seva funcionalitat inserint l'script següent a l'inici dels vostres scripts, permetent l'ús de every() en implementacions que no la suporten de forma nativa. Aquest algoritme és exactament l'especificat a l'ECMA-262, cinquena edició, assumint que Object i TypeError tenen els valors originals i que callbackfn.call es correspon amb el valor original de {{jsxref("Function.prototype.call")}}.

- -
if (!Array.prototype.every) {
-  Array.prototype.every = function(callbackfn, thisArg) {
-    'use strict';
-    var T, k;
-
-    if (this == null) {
-      throw new TypeError('this is null or not defined');
-    }
-
-    // 1. Let O be the result of calling ToObject passing the this
-    //    value as the argument.
-    var O = Object(this);
-
-    // 2. Let lenValue be the result of calling the Get internal method
-    //    of O with the argument "length".
-    // 3. Let len be ToUint32(lenValue).
-    var len = O.length >>> 0;
-
-    // 4. If IsCallable(callbackfn) is false, throw a TypeError exception.
-    if (typeof callbackfn !== 'function') {
-      throw new TypeError();
-    }
-
-    // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
-    if (arguments.length > 1) {
-      T = thisArg;
-    }
-
-    // 6. Let k be 0.
-    k = 0;
-
-    // 7. Repeat, while k < len
-    while (k < len) {
-
-      var kValue;
-
-      // a. Let Pk be ToString(k).
-      //   This is implicit for LHS operands of the in operator
-      // b. Let kPresent be the result of calling the HasProperty internal
-      //    method of O with argument Pk.
-      //   This step can be combined with c
-      // c. If kPresent is true, then
-      if (k in O) {
-
-        // i. Let kValue be the result of calling the Get internal method
-        //    of O with argument Pk.
-        kValue = O[k];
-
-        // ii. Let testResult be the result of calling the Call internal method
-        //     of callbackfn with T as the this value and argument list
-        //     containing kValue, k, and O.
-        var testResult = callbackfn.call(T, kValue, k, O);
-
-        // iii. If ToBoolean(testResult) is false, return false.
-        if (!testResult) {
-          return false;
-        }
-      }
-      k++;
-    }
-    return true;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificaicóEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.16', 'Array.prototype.every')}}{{Spec2('ES5.1')}}Definició inicial. Implemnetat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.every', 'Array.prototype.every')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.every', 'Array.prototype.every')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.forEach()")}}
  • -
  • {{jsxref("Array.prototype.some()")}}
  • -
  • {{jsxref("TypedArray.prototype.every()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/fill/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/fill/index.html deleted file mode 100644 index e1952a8407..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/fill/index.html +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: Array.prototype.fill() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/fill -translation_of: Web/JavaScript/Reference/Global_Objects/Array/fill ---- -
{{JSRef}}
- -

El mètode fill() omple tots els elements d'un array a partir d'una posició inicial fins a una posició final amb un valor estàtic predeterminat.

- -

Sintaxi

- -
arr.fill(valor[, posInicial = 0[, posFinal = this.length]])
- -

Paràmetres

- -
-
valor
-
Valor amb el que s'omplirà l'array.
-
posInicial
-
Opcional. Posició inicial.
-
posFinal
-
Opcional. Posició final.
-
- -

Descripció

- -

L'interval d'elements a omplir és [posInicial, posFinal) (inici inclusiu, final exclusiu).

- -

El mètode fill accepta fins a tres arguments: valor, posInicialposFinal.

- -

Els arguments posInicial i posFinal són opcionals i si no s'especifiquen prenen per defecte els valors 0 i la propietat length de l'objecte this, respectivament.

- -

Si posInicial és negatiu, es considera com a length+start on length és la mida de l'array. Si posFinal és negatiu es considera com a length+end.

- -

La funció fill és genèrica intencionalment i no requereix que el valor this sigui un objecte de tipus Array.

- -

El mètode fill és mutable, ja que canviarà l'objecte this en si mateix i després el retornarà com a resultat, en comptes de retornar una copia d'aquest.

- -

Exemples

- -
[1, 2, 3].fill(4);               // [4, 4, 4]
-[1, 2, 3].fill(4, 1);            // [1, 4, 4]
-[1, 2, 3].fill(4, 1, 2);         // [1, 4, 3]
-[1, 2, 3].fill(4, 1, 1);         // [1, 2, 3]
-[1, 2, 3].fill(4, -3, -2);       // [4, 2, 3]
-[1, 2, 3].fill(4, NaN, NaN);     // [1, 2, 3]
-Array(3).fill(4);                // [4, 4, 4]
-[].fill.call({ length: 3 }, 4);  // {0: 4, 1: 4, 2: 4, length: 3}
-
- -

Polyfill

- -
if (!Array.prototype.fill) {
-  Array.prototype.fill = function(value) {
-
-    // Pasos 1-2.
-    if (this == null) {
-      throw new TypeError('this is null or not defined');
-    }
-
-    var O = Object(this);
-
-    // Pasos 3-5.
-    var len = O.length >>> 0;
-
-    // Pasos 6-7.
-    var start = arguments[1];
-    var relativeStart = start >> 0;
-
-    // Pasos 8.
-    var k = relativeStart < 0 ?
-      Math.max(len + relativeStart, 0) :
-      Math.min(relativeStart, len);
-
-    // Pasos 9-10.
-    var end = arguments[2];
-    var relativeEnd = end === undefined ?
-      len : end >> 0;
-
-    // Pasos 11.
-    var final = relativeEnd < 0 ?
-      Math.max(len + relativeEnd, 0) :
-      Math.min(relativeEnd, len);
-
-    // Pasos 12.
-    while (k < final) {
-      O[k] = value;
-      k++;
-    }
-
-    // Pasos 13.
-    return O;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.fill', 'Array.prototype.fill')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("45")}} [1]{{CompatGeckoDesktop("31")}}{{CompatNo}}{{CompatNo}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("31")}}{{CompatNo}}{{CompatNo}}8.0
-
- -

[1] A partir del Chrome 36, està disponible a través d'una preferència. A chrome://flags, activeu l'entrada “Enable Experimental JavaScript”.

- -

Vegeu també

- -
    -
  • {{jsxref("Array")}}
  • -
  • {{jsxref("TypedArray.prototype.fill()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/filter/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/filter/index.html deleted file mode 100644 index c1bfec77f3..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/filter/index.html +++ /dev/null @@ -1,213 +0,0 @@ ---- -title: Array.prototype.filter() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/filter -translation_of: Web/JavaScript/Reference/Global_Objects/Array/filter ---- -
{{JSRef}}
- -

El mètode filter() crea un nou array amb tots els elements que passin el test implementat per la funció que passa com a argument.

- -

Sintaxi

- -
arr.filter(callback[, thisArg])
- -

Paràmetres

- -
-
callback
-
Funció que s'emprarà per a testejar cada element de l'array. Aquesta serà invocada amb els arguments (element, posició, array). Ha de retornar true per als elements que es vulguin conservar i false en qualsevol altre cas.
-
element
-
El element actual que s'esta processant a l'Array.
-
thisArg
-
Opcional. Valor que rebrà this durant l'execució de la funció callback.
-
- -

Descripció

- -

filter() crida la funció callback proporcionada un cop per cada element de l'array, i construeix un nou array amb tots els elements per als quals la funció callback retorni el valor true o bé un valor que pugui ser interpretat com a true. Només escridarà la funció callback per a posicions de l'array que tinguin valors assignats; no es cridarà per a posicions que han estat esborrades o que mai hagin tingut assignat un element. Els elements que no passsin el test de callback seràn simplement ignorats i en cap cas seran afegits al nou array.

- -

S'invoca callback tot passant-li els tres arguments següents:

- -
    -
  1. el valor de l'element
  2. -
  3. la posició de l'element
  4. -
  5. L'objecte array que s'està recorrent
  6. -
- -

Si es proporciona el paràmetre thisArg a la crida de filter, aquest es passarà a callback quan s'invoqui per a ser utilitzat com a this dins la funció.  En qualsevol altre cas el valor que rebrà this dins la funció callback serà undefined. El valor de this que serà finalment observable dins de callback és determinat d'acord a les regles habituals per a determinar el valor de this observat dins d'una funció.

- -

filter() mai modificarà l'array des del qual s'invoca.

- -

El rang dels elements processats per filter() es determina abans de la primera invocació de callback. Els elements que s'afegeixin a l'array un cop la crida a  filter() hagi començat no seran visibles per a callback. Els elements que es modifiquin o s'esborrin durant aquest periode tindran el valor que els hi pertoqui al moment de cridar la funció callback; els elements que s'hagin eliminat no es visitaran.

- -

Exemples

- -

Exemple: Descartar tots els valors petits

- -

L'exemple següent utilitza filter() per a crear un array filtrat que contindrà tots els elements amb valors menors de 10.

- -
function esProuGran(valor) {
-  return valor >= 10;
-}
-var filtrat = [12, 5, 8, 130, 44].filter(esProuGran);
-// filtrat val [12, 130, 44]
-
- -

Exemple: Descartar entrades invàlides de JSON

- -

L'exemple següent utilitza filter() per a crear un array que no contingui cap entrada de JSON amb una id numèrica no vàlida o amb valor menor que zero.

- -
var arr = [
-  { id: 15 },
-  { id: -1 },
-  { id: 0 },
-  { id: 3 },
-  { id: 12.2 },
-  { },
-  { id: null },
-  { id: NaN },
-  { id: 'undefined' }
-];
-
-var invalidEntries = 0;
-
-function filterByID(obj) {
-  if ('id' in obj && typeof(obj.id) === 'number' && !isNaN(obj.id)) {
-    return true;
-  } else {
-    invalidEntries++;
-    return false;
-  }
-}
-
-var arrByID = arr.filter(filterByID);
-
-console.log('Array filtrat\n', arrByID);
-// [{ id: 15 }, { id: -1 }, { id: 0 }, { id: 3 }, { id: 12.2 }]
-
-console.log('Nombre d'entrades invàlides = ', invalidEntries);
-// 4
-
- -

Polyfill

- -

filter() va ser afegit al standard ECMA-262 a la cinquena edició; degut a això aquesta funció pot no ser present a totes les implementacions del standard. Es pot solucionar aquest problema inserint el codi següent al principi dels scripts, permetent l'ús de filter() en implementacions de l'ECMA-262 que no la incorporin per defecte. Aquest algoritme és exactament l'especificat per l'ECMA-262, 5a edició, i assumeix que fn.call s'evalua al valor original de {{jsxref("Function.prototype.call()")}} i que {{jsxref("Array.prototype.push()")}} te el seu valor original.

- -
if (!Array.prototype.filter) {
-  Array.prototype.filter = function(fun/*, thisArg*/) {
-    'use strict';
-
-    if (this === void 0 || this === null) {
-      throw new TypeError();
-    }
-
-    var t = Object(this);
-    var len = t.length >>> 0;
-    if (typeof fun !== 'function') {
-      throw new TypeError();
-    }
-
-    var res = [];
-    var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
-    for (var i = 0; i < len; i++) {
-      if (i in t) {
-        var val = t[i];
-
-        // NOTA: Tècnicament hauria de ser Object.defineProperty
-        //       a la posició següent ja que push pot veure's afectat per
-        //       les propietats de Object.prototype i Array.prototype.
-        //       Però aquest mètode és nou i només hi haurà col·lisions
-        //       en casos excepcionals, aixíq ue utilitzem l'alternativa més compatible.
-        if (fun.call(thisArg, val, i, t)) {
-          res.push(val);
-        }
-      }
-    }
-
-    return res;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.20', 'Array.prototype.filter')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.filter', 'Array.prototype.filter')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.forEach()")}}
  • -
  • {{jsxref("Array.prototype.every()")}}
  • -
  • {{jsxref("Array.prototype.some()")}}
  • -
  • {{jsxref("Array.prototype.reduce()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/find/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/find/index.html deleted file mode 100644 index 8ee7742c09..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/find/index.html +++ /dev/null @@ -1,191 +0,0 @@ ---- -title: Array.prototype.find() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/find -translation_of: Web/JavaScript/Reference/Global_Objects/Array/find ---- -
{{JSRef}}
- -

El mètode find() retorna un valor valor pertanyent a l'array si un element de l'array satisfà la funció de testeig donada. En cas contrari retornarà {{jsxref("undefined")}}.

- -

Vegeu també el mètode {{jsxref("Array.findIndex", "findIndex()")}}, que retorna la posició a la qual s'ha trobat l'element que satisfà la funció de testeig, en comptes del seu valor.

- -

Sintaxi

- -
arr.find(callback[, thisArg])
- -

Paràmetres

- -
-
callback
-
Funció que s'executarà per a cada valor de l'array, rep tres arguments: -
-
element
-
L'element de l'array que s'està processant actualment.
-
posició
-
La posició de l'array que s'està processant actualment.
-
array
-
L'array des del qual s'ha cridat el mètode find.
-
-
-
thisArg
-
Opcional. L'objecte a utilitzar com a this mentre s'executi callback.
-
- -

Descripció

- -

El mètode find executa la funció callback un cop per a cada element present a l'array fins que trobi un on callback retorni true. Si es troba aquest element el mètode find retorna el valor de l'element trobat immediatament. En cas contrari find retornarà {{jsxref("undefined")}}. callback només serà invocada per a posicions de l'array que tinguin valors assignats; no serà invoada per a posicions que s'hagin eliminat o que mai hagin tingut assignat un valor.

- -

La invocaicó de callback té tres arguments: el valor de l'element, la posició de l'element i l'objecte array que està sent recorregut.

- -

Si es proporciona el paràmetre thisArg al cridar el mètode find, aquest serà utilitzat com a this per a cada invocació del mètode callback. En cas de no ser proporcionat s'utilitzarà {{jsxref("undefined")}}.

- -

find no mutarà l'array des del que es crida.

- -

El rang d'elemnets que find processarà es determina abans de la primera invocació a callback. Els elements afegits a l'array després de la crida a find no seran visitats per callback. Si un element existent, no visitat encara, rep un altre valor, el valor percebut per callback serà aquell que tingui l'element al ser visitat; els elements visitats no són visitats.

- -

Exemples

- -

Trobar un objecte en un array segons el valor d'una propietat

- -
var inventory = [
-    {name: 'apples', quantity: 2},
-    {name: 'bananas', quantity: 0},
-    {name: 'cherries', quantity: 5}
-];
-
-function findCherries(fruit) {
-    return fruit.name === 'cherries';
-}
-
-console.log(inventory.find(findCherries)); // { name: 'cherries', quantity: 5 }
- -

Trobar un nombre primer en un array

- -

L'exemple següent troba un element dins l'array el valor del qual sigui un nombre primer (o bé retorna {{jsxref("undefined")}} si no n'hi ha cap).

- -
function isPrime(element, index, array) {
-  var start = 2;
-  while (start <= Math.sqrt(element)) {
-    if (element % start++ < 1) {
-      return false;
-    }
-  }
-  return element > 1;
-}
-
-console.log([4, 6, 8, 12].find(isPrime)); // undefined, no trobat
-console.log([4, 5, 8, 12].find(isPrime)); // 5
-
- -

Polyfill

- -

Aquest mètode es va afegira la especificació 2015 de l'ECMAScript i pot no estar disponible encara en algunes implementacions de JavaScript. Tot i així es pot utilitzar el codi següent per a utilitzar-lo en entorns on no estigui disponible:

- -
if (!Array.prototype.find) {
-  Array.prototype.find = function(predicate) {
-    if (this === null) {
-      throw new TypeError('Array.prototype.find called on null or undefined');
-    }
-    if (typeof predicate !== 'function') {
-      throw new TypeError('predicate must be a function');
-    }
-    var list = Object(this);
-    var length = list.length >>> 0;
-    var thisArg = arguments[1];
-    var value;
-
-    for (var i = 0; i < length; i++) {
-      value = list[i];
-      if (predicate.call(thisArg, value, i, list)) {
-        return value;
-      }
-    }
-    return undefined;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.find', 'Array.prototype.find')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.find', 'Array.prototype.find')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerEdgeOperaSafari
Suport bàsic{{CompatChrome(45.0)}}{{CompatGeckoDesktop("25.0")}}{{CompatNo}}12{{CompatNo}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileEdgeOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25.0")}}{{CompatNo}}12{{CompatNo}}8.0
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.findIndex()")}}
  • -
  • {{jsxref("Array.prototype.every()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/findindex/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/findindex/index.html deleted file mode 100644 index 5b089bdb98..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/findindex/index.html +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: Array.prototype.findIndex() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/findIndex -translation_of: Web/JavaScript/Reference/Global_Objects/Array/findIndex ---- -
{{JSRef}}
- -

El mètode findIndex() retorna una posició de l'array si un element de l'array satisfà la funció de testeig donada. En cas contrari retornarà -1.

- -

Vegeu també el mètode {{jsxref("Array.find", "find()")}}, que retorna el valor trobat dins l'array en comptes de la posició.

- -

Sintaxi

- -
arr.findIndex(callback[, thisArg])
- -

Parameters

- -
-
callback
-
Funció que s'executarà per a cada valor de l'array, rep tres arguments: -
-
element
-
L'element de l'array que s'està processant actualment.
-
posició
-
La posició de l'array que s'està processant actualment.
-
array
-
L'array des del qual s'ha cridat el mètode find.
-
-
-
thisArg
-
Opcional. L'objecte a utilitzar com a this mentre s'executi callback.
-
- -

Descripció

- -

El mètode findIndex executa la funció callback un cop per a cada element present a l'array fins que trobi un on callback retorni true. Si es troba aquest element el mètode findIndex retorna la posició de l'element trobat immediatament. En cas contrari findIndex retornarà -1. callback només serà invocada per a posicions de l'array que tinguin valors assignats; no serà invoada per a posicions que s'hagin eliminat o que mai hagin tingut assignat un valor.

- -

La invocaicó de callback té tres arguments: el valor de l'element, la posició de l'element i l'objecte array que està sent recorregut.

- -

Si es proporciona el paràmetre thisArg al cridar el mètode findIndex, aquest serà utilitzat com a this per a cada invocació del mètode callback. En cas de no ser proporcionat s'utilitzarà {{jsxref("undefined")}}.

- -

findIndex no mutarà l'array des del que es crida.

- -

El rang d'elemnets que findIndex processarà es determina abans de la primera invocació a callback. Els elements afegits a l'array després de la crida a findIndex no seran visitats per callback. Si un element existent, no visitat encara, rep un altre valor, el valor percebut per callback serà aquell que tingui l'element al ser visitat; els elements visitats no són visitats.

- -

Exemples

- -

Trobar la posició d'un nombre primer dins un array

- -

L'exemple següent trobarà la posició d'un element de l'array que sigui un nombre primer (o bé retornarà -1 si no n'hi ha cap).

- -
function isPrime(element, index, array) {
-  var start = 2;
-  while (start <= Math.sqrt(element)) {
-    if (element % start++ < 1) {
-      return false;
-    }
-  }
-  return element > 1;
-}
-
-console.log([4, 6, 8, 12].findIndex(isPrime)); // -1, not found
-console.log([4, 6, 7, 12].findIndex(isPrime)); // 2
-
- -

Polyfill

- -

Aquest mètode es va afegir a la especificació 6 de l'ECMAScript i pot no estar disponible encara en algunes implementacions de JavaScript. Tot i així es pot utilitzar el codi següent per a utilitzar-lo en entorns on no estigui disponible:

- -
if (!Array.prototype.findIndex) {
-  Array.prototype.findIndex = function(predicate) {
-    if (this === null) {
-      throw new TypeError('Array.prototype.findIndex called on null or undefined');
-    }
-    if (typeof predicate !== 'function') {
-      throw new TypeError('predicate must be a function');
-    }
-    var list = Object(this);
-    var length = list.length >>> 0;
-    var thisArg = arguments[1];
-    var value;
-
-    for (var i = 0; i < length; i++) {
-      value = list[i];
-      if (predicate.call(thisArg, value, i, list)) {
-        return i;
-      }
-    }
-    return -1;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.findIndex', 'Array.prototype.findIndex')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.findIndex', 'Array.prototype.findIndex')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(45.0)}}{{CompatGeckoDesktop("25.0")}}{{CompatNo}}{{CompatNo}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25.0")}}{{CompatNo}}{{CompatNo}}8.0
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.find()")}}
  • -
  • {{jsxref("Array.prototype.indexOf()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/foreach/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/foreach/index.html deleted file mode 100644 index 4d391346eb..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/foreach/index.html +++ /dev/null @@ -1,238 +0,0 @@ ---- -title: Array.prototype.forEach() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/forEach -translation_of: Web/JavaScript/Reference/Global_Objects/Array/forEach ---- -
{{JSRef}}
- -

El mètode forEach() executa la funció rebuda un cop per cada element de l'array.

- -

Sintaxi

- -
arr.forEach(callback[, thisArg])
- -

Paràmetres

- -
-
callback
-
Funció a executar per a cada element. Aquesta funció rebrà tres paràmetres: -
-
valor
-
L'element que s'està processant ara mateix a l'array.
-
posició
-
La posició que l'element actual ocupa dins l'array.
-
array
-
L'array al qual el mètode forEach s'aplica.
-
-
-
thisArg
-
Opcional. Valor que s'utilitzarà com a this a l'hora d'executar la funció callback.
-
- -

Descripció

- -

forEach() executa la funció callback rebuda com a argument un cop per cada element present a l'array, en ordre ascendent. No es cridarà la funció per a elements que s'hagin eliminat o que no hagin rebut cap valor (és a dir, arrays disperses).

- -

S'invocarà callback amb els tres arguments següents:

- -
    -
  • el valor de l'element
  • -
  • la posició de l'element
  • -
  • L'array que s'està recorrent
  • -
- -

Si es proporciona el paràmetre thisArg a forEach(), aquest es passarà a callback quan es cridi, i es podrà accedir a ell mitjançant la paraula clau this. En el cas que no es proporcioni el paràmetre this rebrà el valor {{jsxref("undefined")}}. El valor de this que serà observable per callback es determina d'acord a les regles usuals per a determinar el valor de this que una funció veu.

- -

El rang dels elements processats per forEach() és determinat abans de la primera invocació de callback. Els elements que s'afegeixin a l'array després de la crida a forEach() no seran visitats per la funció callback. En el cas que es canviï el valor dels elements de l'array el valor que es passarà a callback serà el valor que tingui l'element en el moment que es visita. Els elements que s'han eliminat abans de ser visitats no es visitaran.

- -

forEach() executa la funció callback un cop per cada element de l'array; a diferència de {{jsxref("Array.prototype.map()", "map()")}} i {{jsxref("Array.prototype.reduce()", "reduce()")}}, sempre retorna el valor {{jsxref("undefined")}} i no es pot encadenar. El cas d'ús típic és per executar efectes secundaris al final de la cadena.

- -
-

Nota: L'única forma d'aturar un bucle forEach() és llençar una excepció. Si es requereix aquesta funcionalitat llavors el mètode .forEach() és l'eina incorrecta i es recomana utilitzar un bucle normal. Si el que es pretén és validar els elements d'un array contra un predicat i es requereix retornar un valor booleà, es recomana utilitzar la funció {{jsxref("Array.prototype.every()", "every()")}} o bé {{jsxref("Array.prototype.some()", "some()")}}.

-
- -

Exemples

- -

Imprimir el contingut d'un array

- -

El codi següent mostra una línia per a cada element de l'array:

- -
function logArrayElements(element, index, array) {
-  console.log('a[' + index + '] = ' + element);
-}
-
-// Cal destacar l'omissió, no hi ha cap element a la posició 2 així que aquesta no es visita
-[2, 5, , 9].forEach(logArrayElements);
-// Mostra:
-// a[0] = 2
-// a[1] = 5
-// a[3] = 9
-
- -

Una funció per a copiar objectes

- -

El codi següent crea una copia de l'objecte donat. Hi ha diverses formes de crear una copia d'un objecte, la forma següent és simplement una d'elles i es presenta per a explicar com funciona Array.prototype.forEach() tot utilitzant les funcions de meta-propietats de l'ECMAScript 5 a Object.*

- -
function copy(obj) {
-  var copy = Object.create(Object.getPrototypeOf(obj));
-  var propNames = Object.getOwnPropertyNames(obj);
-
-  propNames.forEach(function(name) {
-    var desc = Object.getOwnPropertyDescriptor(obj, name);
-    Object.defineProperty(copy, name, desc);
-  });
-
-  return copy;
-}
-
-var obj1 = { a: 1, b: 2 };
-var obj2 = copy(obj1); // obj2 looks like o1 now
-
- -

Polyfill

- -

forEach() va ser afegida l'standard ECMA-262 en la cinquena edició; per aquest motiu aquesta funció pot no estar present en altres implementacions de l'standard. Es pot solventar aquest problema inserint el codi següent a l'inici dels vostres scripts. Això permetrà l'ús de forEach() en implementacions que no el suportin de forma nativa. Aquest algoritme és el mateix que l'especificat a l'ECMA-262, cinquena edició, si assumim que {{jsxref("Object")}} i {{jsxref("TypeError")}} tenen els seus valors originals i que callback.call es resol com al valor original de {{jsxref("Function.prototype.call()")}}.

- -
// Production steps of ECMA-262, Edition 5, 15.4.4.18
-// Reference: http://es5.github.io/#x15.4.4.18
-if (!Array.prototype.forEach) {
-
-  Array.prototype.forEach = function(callback, thisArg) {
-
-    var T, k;
-
-    if (this == null) {
-      throw new TypeError(' this is null or not defined');
-    }
-
-    // 1. Assignem a O el resultat de cridar ToObject tot passant-li el valor de |this| com a argument.
-    var O = Object(this);
-
-    // 2. lenValue representa el resultat de cridar el mètode intern Get de O amb l'argument "length".
-    // 3. Assignem a len el valor ToUint32(lenValue).
-    var len = O.length >>> 0;
-
-    // 4. Si IsCallable(callback) és false, llençem una excepció TypeError.
-    // Vegeu: http://es5.github.com/#x9.11
-    if (typeof callback !== "function") {
-      throw new TypeError(callback + ' no és una funció');
-    }
-
-    // 5. Si s'ha passat thisArg com a aragument, assignem el seu valor a la variable T, en qualsevol altre cas deixem T com a undefined.
-    if (arguments.length > 1) {
-      T = thisArg;
-    }
-
-    // 6. Assignem 0 a la variable k
-    k = 0;
-
-    // 7. Repetir, mentre k < len
-    while (k < len) {
-
-      var kValue;
-
-      // a. Assignem ToString(k) a Pk.
-      //   Aquest comportament és implícit per a operands al cantó esquerra (de l'anglés LHS o Left-Hand-Side) de l'operador "in"This is implicit for LHS operands of the in operator
-      // b. Assignem el resultat de cridar el mètode intern HasProperty de O amb l'argument Pk a la variable kPresent
-      //   Podem combinar aquest pas amb c
-      // c. Si kPresent és true, llavors...
-      if (k in O) {
-
-        // i. Assignem a kValue el resultat de cridar el mètode intern Get de l'objecte O amb l'argument Pk.
-        kValue = O[k];
-
-        // ii. Cridem el mètode intern "call" del callback tot passant-li T com a valor de "this"
-        // així com una llista d'arguments que conté kValue, k i 0
-        callback.call(T, kValue, k, O);
-      }
-      // d. Incrementem el valor de k en 1.
-      k++;
-    }
-    // 8. retornem undefined
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.18', 'Array.prototype.forEach')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.foreach', 'Array.prototype.forEach')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map.prototype.forEach()")}}
  • -
  • {{jsxref("Set.prototype.forEach()")}}
  • -
  • {{jsxref("Array.prototype.map()")}}
  • -
  • {{jsxref("Array.prototype.every()")}}
  • -
  • {{jsxref("Array.prototype.some()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/includes/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/includes/index.html deleted file mode 100644 index 9f64b0e117..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/includes/index.html +++ /dev/null @@ -1,158 +0,0 @@ ---- -title: Array.prototype.includes() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/includes -translation_of: Web/JavaScript/Reference/Global_Objects/Array/includes ---- -
{{JSRef}}
- -

El mètode includes() determina si un array inclou un element concret, retornant  true o false segons s'escaigui. 

- -

Sintaxi

- -
var boolean = array.includes(elementCercat[, desdePosicio])
- -

Parameters

- -
-
elementCercat
-
L'element a cercar.
-
desdePosicio
-
Opcional. La posició de l'array a partir de la qual començar la cerca de elementCercat. Un valor negatiu cercarà el nombre absolut donat de posicions contant des del final de l'array. El seu valor per defecte és 0.
-
- -

Valor retornat

- -

Un {{jsxref("Boolean")}}.

- -

Exemples

- -
[1, 2, 3].includes(2);     // true
-[1, 2, 3].includes(4);     // false
-[1, 2, 3].includes(3, 3);  // false
-[1, 2, 3].includes(3, -1); // true
-[1, 2, NaN].includes(NaN); // true
-
- -

Polyfill

- -
if (!Array.prototype.includes) {
-  Array.prototype.includes = function(searchElement /*, fromIndex*/ ) {
-    'use strict';
-    var O = Object(this);
-    var len = parseInt(O.length) || 0;
-    if (len === 0) {
-      return false;
-    }
-    var n = parseInt(arguments[1]) || 0;
-    var k;
-    if (n >= 0) {
-      k = n;
-    } else {
-      k = len + n;
-      if (k < 0) {k = 0;}
-    }
-    var currentElement;
-    while (k < len) {
-      currentElement = O[k];
-      if (searchElement === currentElement ||
-         (searchElement !== searchElement && currentElement !== currentElement)) { // NaN !== NaN
-        return true;
-      }
-      k++;
-    }
-    return false;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES7', '#sec-array.prototype.includes', 'Array.prototype.includes')}}{{Spec2('ES7')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.includes', 'Array.prototype.includes')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerEdgeOperaSafari
Suport bàsic -

{{CompatChrome(47)}}

-
43{{CompatNo}}{{CompatNo}}349
-
- -
- - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidAndroid WebviewFirefox Mobile (Gecko)IE MobileOpera MobileSafari MobileChrome for Android
Suport bàsic{{CompatNo}} -

{{CompatChrome(47)}}

-
43{{CompatNo}}349 -

{{CompatChrome(47)}}

-
-
- -

Vegeu també

- -
    -
  • {{jsxref("TypedArray.prototype.includes()")}}
  • -
  • {{jsxref("String.prototype.includes()")}}
  • -
  • {{jsxref("Array.prototype.indexOf()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/index.html deleted file mode 100644 index da7c400799..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/index.html +++ /dev/null @@ -1,482 +0,0 @@ ---- -title: Array -slug: Web/JavaScript/Referencia/Objectes_globals/Array -translation_of: Web/JavaScript/Reference/Global_Objects/Array ---- -
{{JSRef}}
- -

Resum

- -

L'objecte de JavaScript Array és un objecte global que s'utilitza per a construir arrays; que són objectes d'al nivell que representen llistes.

- -

Crear un Array

- -
var fruites = ["Poma", "Pera"];
-
-console.log(fruites.length);
-// 2
-
- -

Accedir (mitjançant la posició) a un element d'un Array

- -
var primer = fruites[0];
-// Poma
-
-var ultim = fruites[fruites.length - 1];
-// Pera
-
- -

Recòrrer un Array

- -
fruites.forEach(function (element, index, array) {
-  console.log(element, index);
-});
-// Poma 0
-// Pera 1
-
- -

Afegir elements al final d'un Array

- -
var nouTamany = fruites.push("Taronja");
-// ["Poma", "Pera", "Taronja"]
-
- -

Eliminar l'element del final d'un Array

- -
var ultim = fruites.pop(); // Elimina Taronja (del final)
-// ["Poma", "Pera"];
-
- -

Eliminar l'element de l'inici d'un Array

- -
var primer = fruites.shift(); // elimina Poma del principi del Array
-// ["Pera"];
-
- -

Afegir un element a l'inici d'un Array

- -
var nouTamany = fruites.unshift("Maduixa") // Afegir al principi
-// ["Maduixa", "Pera"];
-
- -

Trobar la posició d'un element del Array

- -
fruites.push("Mango");
-// ["Maduixa", "Pera", "Mango"]
-
-var pos = fruites.indexOf("Pera");
-// 1
-
- -

Eliminar un element segons la seva posició

- -
var elementEliminat = fruites.splice(pos, 1); // així és com s'elimina un element
-// ["Maduixa", "Mango"]
-
- -

Copiar un Array

- -
var shallowCopy = fruits.slice(); // així és com es copia
-// ["Maduixa", "Mango"]
-
- -

Sintaxi

- -
[element0, element1, ..., elementN]
-new Array(element0, element1[, ...[, elementN]])
-new Array(longitudArray)
- -
-
elementN
-
S'inicialitza un array de JavaScript amb els elements donats, excepte si només es proporciona un sol argument al constructor Array i aquest argument és un nombre. (Vegeu a sota). Cal destacar que aquest cas especial només s'aplica a arrays de JavaScript creats mitjançant el constructor Array i no a literals array creats a partir de ls sintaxi de claus.
-
longitudArray
-
Si només es passa un sol argument al constructor Array i aquest argument és un nombre entre 0 232-1 (inclòs), aquest retorna un nou array de JavaScript amb la longitud especificada pel nombre passat com a argument. Si l'argument és qualsevol altre nombre es llença l'excepció {{jsxref("Global_Objects/RangeError", "RangeError")}}.
-
- -

Descripció

- -

Els arrays són objectes semblants a lliste el prototipus dels quals té mètodes que permeten realitzar operacions de travessa i mutació. Ni a longitud ni el tipus dels elements són fixos en els arrays de JavaScript. Com que el tamany d'un array pot canviar en qualsevol moment no es pot garantir la seva densitat. En general aquestes característiques són convenients; però si en algun cas aquestes característiques no fossin convenients es recomana considerar l'ús de arrays amb tipus.

- -

Algunes persones creuen que no s'hauria de fer ús de arrays com amb finalitats associatives. En qualsevol cas sempre es pot utilitzar senzillament un {{jsxref("Global_Objects/Object", "objects")}} per a tal fet instead, tot i que fer-ho també té els seus inconvenients. Vegeu el post Diccionaris de JavaScript lleugers amb claus arbitràries per a exemple.

- -

Accedir als elements d'un array

- -

Els arrays de JavaScript comencen el compte de posició (índex) amb el zero: és a dir, el primer element d'un array ocupa la posició 0 i l'últim element d'un array es troba a l'índex amb valor del  {{jsxref("Array.length", "tamany")}} de l'array menys 1.

- -
var arr = ['aquest és el primer element', 'aquest és el segon element'];
-console.log(arr[0]);              // mostra 'aquest és el primer element'
-console.log(arr[1]);              // mostra 'aquest és el segon element'
-console.log(arr[arr.length - 1]); // mostra 'aquest és el segon element'
-
- -

Els elements d'un array són propietats de l'objecte de la mateixa que toString és una propietat, però intentar accedir un element d'un array de la manera que es mostra a continuació llença un error de sintaxi, ja que el nom de la propietat no és vàlid:

- -
console.log(arr.0); // error de sintaxi
-
- -

No hi ha res d'especial sobre els arrays de JavaScript i les propietats que causen aquest comportament. A JavaScript, les propietats que comencen amb un dígit no es poden referenciar amb la notació de punt; per a accedir-hi és necesari utilitzar la notació de claus. Per exemple, per a accedir a la propietat anomenada '3d' d'un objecte, l'única forma d'accedir-hi és mitjançant la notació de claus tal i com es mostra a continuació:

- -
var anys = [1950, 1960, 1970, 1980, 1990, 2000, 2010];
-console.log(anys.0);   // error de sintaxi
-console.log(anys[0]);  // funciona
-
- -
renderer.3d.setTexture(model, 'character.png');     // error de sintaxi
-renderer['3d'].setTexture(model, 'character.png');  // funciona
-
- -

Fixeu-vos que a l'exemple de 3d, '3d' necessita cometes. És possible utilitzar cometes amb les posicions d'un array (per exemple, anys['2'] en comptes de anys[2]), tot i que no és necesari. El 2 a anys[2] és transformat en un string pel motor de JavaScript implícitament mitjançant el mètode toString. Per aquesta raó '2' i '02' es referirien a dues propietats diferents de l'objecte anys i l'exemple següent podría retornar true:

- -
console.log(anys['2'] != anys['02']);
-
- -

De la mateixa manera, les propietats d'objectes que utilitzin paraules clau com a nom(!) només es poden accedir mitjançant literals string en notació de claus (però poden accedir-se mitjançant notació de punt com a mínim al firefox 40.0a2):

- -
var promise = {
-  'var'  : 'text',
-  'array': [1, 2, 3, 4]
-};
-
-console.log(promise['array']);
-
- -

Relació  entre length i propietats numèriques

- -

La propietat {{jsxref("Array.length", "length")}} dels arrays de JavaScript està relacionada amb les propietats numèriques. Diversos mètodes pertanyent de forma nativa a l'objecte array (com ara {{jsxref("Array.join", "join")}}, {{jsxref("Array.slice", "slice")}}, {{jsxref("Array.indexOf", "indexOf")}}, etcètera.) tenen en compte el valor de la propietat {{jsxref("Array.length", "length")}} quan són cridats. Altres mètodes, com ara {{jsxref("Array.push", "push")}} o {{jsxref("Array.splice", "splice")}}, també actualitzen el valor de la propietat {{jsxref("Array.length", "length")}}.

- -
var fruites = [];
-fruites.push('banana', 'poma', 'prèssec');
-
-console.log(fruites.length); // 3
-
- -

A l'hora d'assignar una propietat a un array de JavaScript, quan la propietat és una posició vàlida i aquesta posició cau fora dels límits que l'array té en aquell moment, el motor ha d'actualitzar la propietat {{jsxref("Array.length", "length")}} de l'array apropiadament:

- -
fruites[5] = 'mango';
-console.log(fruites[5]); // 'mango'
-console.log(Object.keys(fruites));  // ['0', '1', '2', '5']
-console.log(fruites.length); // 6
-
- -

Incrementant la longitud amb {{jsxref("Array.length", "length")}}.

- -
fruites.length = 10;
-console.log(Object.keys(fruites)); // ['0', '1', '2', '5']
-console.log(fruites.length); // 10
-
- -

Decrementar la propietat {{jsxref("Array.length", "length")}}, per contra, elimina elements.

- -
fruites.length = 2;
-console.log(Object.keys(fruites)); // ['0', '1']
-console.log(fruites.length); // 2
-
- -

Aquest comportament s'explica amb més detall a la pàgina de {{jsxref("Array.length")}}.

- -

Crear un array utilitzant el resultat d'una expressió regular

- -

El resultats obtinguts a l'aplicar una expressió regular sobre un string poden crear un array de JavaScript. Aquest array tindrà propietats i elements que ofereixen informació sobre les coincidències. Aquest tipus d'arrays és retornat pels mètodes {{jsxref("RegExp.exec")}}, {{jsxref("String.match")}}, i {{jsxref("String.replace")}}. Per a ajudar a entendre aquestes propietats i elements, vegeu l'exemple següent i la taula a continuació:

- -
// Cerca una d seguida d'una o més b's seguides d'una d
-// Desa les coincidències de b's amb una d a continuació
-// No distingeix entre majúscules i minúscules
-
-var myRe = /d(b+)(d)/i;
-var myArray = myRe.exec('cdbBdbsbz');
-
- -

Les propietats i elements retornats d'aplicar aquesta expressió regular al string són les següents:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Propietat/ElementDescripcióExemple
inputPropietat només de lectura que representa el string original contra el que s'ha aplicat la expressió regular.cdbBdbsbz
indexPropietat només de lectura que representa la posició on s'ha trobat coincidència (considerant zero la primera posició)1
[0]element només de lectura que especifica els últims caràcters que han coincidit.dbBd
[1], ...[n]Elements només de lectura que especifiquen coincidències parcials en parèntesi, si aquests s'inclouen a l'expressió regular. El nombre de possibles coincidències parcials en parèntesi és il·limitat.[1]: bB
- [2]: d
- -

Propietats

- -
-
Array.length
-
La propietat de longitud del constructor de Array. El seu valor és 1.
-
{{jsxref("Array.prototype")}}
-
Permet l'adició de propietats a tots els objectes array.
-
- -

Mètodes

- -
-
{{jsxref("Array.from()")}} {{experimental_inline}}
-
Crea una nova instància de Array a partir d'un objecte iterable o un objecte similar a un array.
-
{{jsxref("Array.isArray()")}}
-
Retorna true si una variable és un array. En cas contrari retorna false.
-
{{jsxref("Array.observe()")}} {{experimental_inline}}
-
Observa de forma asíncrona canvis en Arrays, de manera similar al mètode {{jsxref("Object.observe()")}} per a objectes. Proporciona una sequència de canvis ordenats per ordre d'ocurrència.
-
{{jsxref("Array.of()")}} {{experimental_inline}}
-
Crea una nova instància de Array amb un nombre variable d'arguments, sense importar el nombre o tipus d'arguments.
-
- -

Instàncies de Array

- -

Totes les instàncies de Array hereten de {{jsxref("Array.prototype")}}. L'objecte prototipus del constructor de Array es pot modificar per a afectar a totes les instàncies de Array a l'hora.

- -

Propietats

- -
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Properties')}}
- -

Mètodes

- -

Mètodes de mutació

- -
{{page('ca/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Mutator_methods')}}
- -

Mètodes d'accés

- -
{{page('ca/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Accessor_methods')}}
- -

Mètodes d'iteració

- -
{{page('ca/docs/Web/JavaScript/Reference/Global_Objects/Array/prototype', 'Iteration_methods')}}
- -

Mètodes genèrics de Array

- -
-

Els genèrics de Array no formen part de cap standard, estan en desús i poden ser esborrats en el futur. Noteu que no funcionen a tots els navegadors, tot i que hi ha una correcció de compatibilitat disponible a GitHub.

-
- -

De vegades hom voldria aplicar mètodes de array a strings o altres objectes semblants a arrays (com ara la funció {{jsxref("Functions/arguments", "arguments", "", 1)}}). Per a aconseguir això, es tractaria un string com un array de caràcters (o en tot cas tractar un objecte que no sigui un array com a array). Per exemple, per a comprovar que tots els caràcters d'una variable str són lletres, es faria de la forma següent:

- -
function isLetter(character) {
-  return character >= 'a' && character <= 'z';
-}
-
-if (Array.prototype.every.call(str, isLetter)) {
-  console.log("El string '" + str + "' només conté lletres!");
-}
-
- -

Aquesta notació és força molesta i JavaScript 1.6 va introduïr una abreviació genèrica:

- -
if (Array.every(str, isLetter)) {
-  console.log("El string '" + str + "' només conté lletres!");
-}
-
- -

{{jsxref("Global_Objects/String", "Generics", "#String_generic_methods", 1)}} també estan disponibles a {{jsxref("Global_Objects/String", "String")}}.

- -

Aquests no formen actualment part de cap standard ECMAScript (tot i que es pot utilitzar el mètode {{jsxref("Array.from()")}} de l'ECMAScript 6 per a aconseguir el mateix resultat). A continuació es presenta una correcció de compatibilitat per a permetre el seu ús a qualsevol navegador:

- -
// Asumeix que els extres de Array són presents (també es poden utilitzar funcions Polifyll per a suplir això)
-(function() {
-  'use strict';
-
-  var i,
-    // També es podria construïr l'array de mètodes de la forma següent, però
-    //   el mètode getOwnPropertyNames() no té cap corrector de compatibilitat:
-    // Object.getOwnPropertyNames(Array).filter(function(methodName) {
-    //   return typeof Array[methodName] === 'function'
-    // });
-    methods = [
-      'join', 'reverse', 'sort', 'push', 'pop', 'shift', 'unshift',
-      'splice', 'concat', 'slice', 'indexOf', 'lastIndexOf',
-      'forEach', 'map', 'reduce', 'reduceRight', 'filter',
-      'some', 'every', 'find', 'findIndex', 'entries', 'keys',
-      'values', 'copyWithin', 'includes'
-    ],
-    methodCount = methods.length,
-    assignArrayGeneric = function(methodName) {
-      if (!Array[methodName]) {
-        var method = Array.prototype[methodName];
-        if (typeof method === 'function') {
-          Array[methodName] = function() {
-            return method.call.apply(method, arguments);
-          };
-        }
-      }
-    };
-
-  for (i = 0; i < methodCount; i++) {
-    assignArrayGeneric(methods[i]);
-  }
-}());
-
- -

Exemples

- -

Crear un array

- -

L'exemple següent crea un array, msgArray, amb un tamany de 0, després assigna valors a les posicions msgArray[0] i msgArray[99], canviant automàticament el tamany de l'array a 100.

- -
var msgArray = [];
-msgArray[0] = 'Hello';
-msgArray[99] = 'world';
-
-if (msgArray.length === 100) {
-  console.log('The length is 100.');
-}
-
- -

Crear un array de dues dimensions (bidimensional)

- -

L'exemple següent crea un tauler d'escacs com a array bidimensional de strings. El primer moviement es realitza tot copiant la 'p' de la posició (6,4) a (4,4). La posició anterior esdevé buïda.

- -
var board = [
-  ['R','N','B','Q','K','B','N','R'],
-  ['P','P','P','P','P','P','P','P'],
-  [' ',' ',' ',' ',' ',' ',' ',' '],
-  [' ',' ',' ',' ',' ',' ',' ',' '],
-  [' ',' ',' ',' ',' ',' ',' ',' '],
-  [' ',' ',' ',' ',' ',' ',' ',' '],
-  ['p','p','p','p','p','p','p','p'],
-  ['r','n','b','q','k','b','n','r'] ];
-
-console.log(board.join('\n') + '\n\n');
-
-// Movem el peó del Rei endevant dues caselles
-board[4][4] = board[6][4];
-board[6][4] = ' ';
-console.log(board.join('\n'));
-
- -

Aquesta seria la sortida:

- -
R,N,B,Q,K,B,N,R
-P,P,P,P,P,P,P,P
- , , , , , , ,
- , , , , , , ,
- , , , , , , ,
- , , , , , , ,
-p,p,p,p,p,p,p,p
-r,n,b,q,k,b,n,r
-
-R,N,B,Q,K,B,N,R
-P,P,P,P,P,P,P,P
- , , , , , , ,
- , , , , , , ,
- , , , ,p, , ,
- , , , , , , ,
-p,p,p,p, ,p,p,p
-r,n,b,q,k,b,n,r
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.4', 'Array')}}{{Spec2('ES5.1')}}S'afegeixen més mètodes: {{jsxref("Array.isArray")}}, {{jsxref("Array.prototype.indexOf", "indexOf")}}, {{jsxref("Array.prototype.lastIndexOf", "lastIndexOf")}}, {{jsxref("Array.prototype.every", "every")}}, {{jsxref("Array.prototype.some", "some")}}, {{jsxref("Array.prototype.forEach", "forEach")}}, {{jsxref("Array.prototype.map", "map")}}, {{jsxref("Array.prototype.filter", "filter")}}, {{jsxref("Array.prototype.reduce", "reduce")}}, {{jsxref("Array.prototype.reduceRight", "reduceRight")}}
{{SpecName('ES6', '#sec-array-objects', 'Array')}}{{Spec2('ES6')}}S'afegeixen més mètodes: {{jsxref("Array.from")}}, {{jsxref("Array.of")}}, {{jsxref("Array.prototype.find", "find")}}, {{jsxref("Array.prototype.findIndex", "findIndex")}}, {{jsxref("Array.prototype.fill", "fill")}}, {{jsxref("Array.prototype.copyWithin", "copyWithin")}}
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
- - - - - - -
Suport bàsic
-
{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/indexof/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/indexof/index.html deleted file mode 100644 index 939571a0c8..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/indexof/index.html +++ /dev/null @@ -1,235 +0,0 @@ ---- -title: Array.prototype.indexOf() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/indexOf -translation_of: Web/JavaScript/Reference/Global_Objects/Array/indexOf ---- -
{{JSRef}}
- -

El mètode indexOf() retorna la primera posició a la qual es troba l'element proporcionat, o bé -1 si l'element no es troba dins l'array.

- -

Sintaxi

- -
arr.indexOf(elementAcercar[, posicioInicial = 0])
- -

Paràmetres

- -
-
elementAcercar
-
L'element que es cercarà.
-
posicioInicial
-
La posició a la qual començar la cerca. Si la posició és major o igual a la longitud de l'array, es retornarà -1, això implica que no es realitzarà cap cerca a l'array. Si es proporciona un onmbre negatiu, es calcularà la posició des de la qual cercar des del final de l'array. Nota: l'array sempre es cercarà accedint a les posicions en ordre ascendent encara que la posicioInicial sigui negatiu. Si la posició proporcionada és 0 es cercarà en tot l'array. El valor per defecte és 0 (cerca a tot l'array).
-
- -

Descripció

- -

indexOf() compara elementAcercar amb els elements de l'array mitjançant la igualtat estricta (el mateix mètode utilitzat per l'operador ===, també anomenat triple-equals).

- -

Exemples

- -

Utilitzar indexOf()

- -

L'exemple següent utilitza indexOf() per a localitzar valors dins un array.

- -
var array = [2, 9, 9];
-array.indexOf(2);     // 0
-array.indexOf(7);     // -1
-array.indexOf(9, 2);  // 2
-array.indexOf(2, -1); // -1
-array.indexOf(2, -3); // 0
-
- -

Trobar totes les ocurrències d'un element

- -
var indices = [];
-var array = ['a', 'b', 'a', 'c', 'a', 'd'];
-var element = 'a';
-var idx = array.indexOf(element);
-while (idx != -1) {
-  indices.push(idx);
-  idx = array.indexOf(element, idx + 1);
-}
-console.log(indices);
-// [0, 2, 4]
-
- -

Determinar si un element existeix o no a l'array i actualitzar-lo

- -
function updateVegetablesCollection (veggies, veggie) {
-    if (veggies.indexOf(veggie) === -1) {
-        veggies.push(veggie);
-        console.log('La nova col·lecció de verdures és : ' + veggies);
-    } else if (veggies.indexOf(veggie) > -1) {
-        console.log(veggie + ' ja existeix a la col·lecció de verdures.');
-    }
-}
-
-var veggies = ['potato', 'tomato', 'chillies', 'green-pepper'];
-
-updateVegetablesCollection(veggies, 'spinach');
-//  La nova col·lecció de verdures és : potato,tomato,chillies,green-papper,spinach
-updateVegetablesCollection(veggies, 'spinach');
-// spinach  ja existeix a la col·lecció de verdures.
-
- -

Polyfill

- -

indexOf() va ser afegit al standard ECMA-262 a la cinquena versió; degut a això pot no estar present en tots els navegadors. Afegir el següent codi al principi dels vostres escripts us permetrà utilitzar aquesta funció en navegadors on indexOf no sigui suportada de forma nativa. Aquest algoritme és el mateix que l'especificat a la cinquena versió de l'ECMA-262, donat que {{jsxref("Global_Objects/TypeError", "TypeError")}} i {{jsxref("Math.abs()")}} no han estat modificats.

- -
// Production steps of ECMA-262, Edition 5, 15.4.4.14
-// Reference: http://es5.github.io/#x15.4.4.14
-if (!Array.prototype.indexOf) {
-  Array.prototype.indexOf = function(searchElement, fromIndex) {
-
-    var k;
-
-    // 1. Sigui o el resultat de cridar ToObject passant
-    //    el valor de this com a argument.
-    if (this == null) {
-      throw new TypeError('"this" is null or not defined');
-    }
-
-    var o = Object(this);
-
-    // 2. Sigui lenValue el resultat de cridar el mètode intern Get
-    //    de o amb l'argument "length".
-    // 3. Sigui len ToUint32(lenValue).
-    var len = o.length >>> 0;
-
-    // 4. Si len és 0, retornem -1.
-    if (len === 0) {
-      return -1;
-    }
-
-    // 5. Si s'ha passat l'argument fromIndex n valdrà
-    //    ToInteger(fromIndex); si no n valdrà 0.
-    var n = +fromIndex || 0;
-
-    if (Math.abs(n) === Infinity) {
-      n = 0;
-    }
-
-    // 6. Si n >= len, retornem -1.
-    if (n >= len) {
-      return -1;
-    }
-
-    // 7. Si n >= 0, k valdrà n.
-    // 8. Si no, si n<0, k valdrà len - abs(n).
-    //    Si k és menor que 0, llavors k valdrà 0.
-    k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);
-
-    // 9. Repetir mentre k < len
-    while (k < len) {
-      // a. Sigui Pk ToString(k).
-      //   Això és implícit per a operands a l'esquerra de l'operador in
-      // b. Sigui kPresent el resultat de cridar el mètode intern
-      //    HasProperty de o amb l'argument Pk.
-      //   Aquest pas es pot combinar amb c
-      // c. Si kPresent és cert, llavors
-      //    i.  Sigui elementK el resultat de cridar el mètode intern Get
-      //        de o amb l'argument ToString(k).
-      //   ii.  Sigui same el resultat d'aplicar l'algoritme del
-      //         comparador d'igualtat estricta a
-      //        searchElement i elementK.
-      //  iii.  Si same és cert retornem k.
-      if (k in o && o[k] === searchElement) {
-        return k;
-      }
-      k++;
-    }
-    return -1;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.14', 'Array.prototype.indexOf')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.indexof', 'Array.prototype.indexOf')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.indexof', 'Array.prototype.indexOf')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Notes de compatibilitat

- -
    -
  • Començant amb el Firefox 47 {{geckoRelease(47)}},  aquest mètode no retornarà -0. Per exemple, [0].indexOf(0, -0) ara sempre retornarà +0 ({{bug(1242043)}}).
  • -
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.lastIndexOf()")}}
  • -
  • {{jsxref("TypedArray.prototype.indexOf()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/isarray/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/isarray/index.html deleted file mode 100644 index 6393dde86f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/isarray/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Array.isArray() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/isArray -translation_of: Web/JavaScript/Reference/Global_Objects/Array/isArray ---- -
{{JSRef}}
- -

El mètode Array.isArray()retorna true si un objecte és un array, o false en cas que no ho sigui.

- -

Sintaxi

- -
Array.isArray(obj)
- -

Paràmetres

- -
-
obj
-
L'objecte que s'ha de comprovar.
-
- -

Descripció

- -

Vegeu l'article “Determinar amb absoluta precisió si un objecte JavaScript és un array o no” per més detalls.

- -

Exemples

- -
// totes les crides següents retornen true
-Array.isArray([]);
-Array.isArray([1]);
-Array.isArray(new Array());
-// Fet poc conegut: Array.prototype és un array per si mateix:
-Array.isArray(Array.prototype);
-
-// totes les crides següents retornen false
-Array.isArray();
-Array.isArray({});
-Array.isArray(null);
-Array.isArray(undefined);
-Array.isArray(17);
-Array.isArray('Array');
-Array.isArray(true);
-Array.isArray(false);
-Array.isArray({ __proto__: Array.prototype });
-
- -

Polyfill

- -

Executar el codi següent abans de cap altre codi crearà Array.isArray() si no es troba disponible de forma nativa.

- -
if (!Array.isArray) {
-  Array.isArray = function(arg) {
-    return Object.prototype.toString.call(arg) === '[object Array]';
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.3.2', 'Array.isArray')}}{{Spec2('ES5.1')}}Definició inicial. Implementat en JavaScript 1.8.5.
{{SpecName('ES6', '#sec-array.isarray', 'Array.isArray')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("5")}}{{CompatGeckoDesktop("2.0")}}{{CompatIE("9")}}{{CompatOpera("10.5")}}{{CompatSafari("5")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("2.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/join/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/join/index.html deleted file mode 100644 index 8d76b4474a..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/join/index.html +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: Array.prototype.join() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/join -translation_of: Web/JavaScript/Reference/Global_Objects/Array/join ---- -
{{JSRef}}
- -

El mètode join() ajunta tots els elements d'un array en un string.

- -

Sintaxi

- -
str = arr.join([separador = ','])
- -

Paràmetres

- -
-
separador
-
Opcional. Expecifica un string que s'utilitzarà per a serparar cada element de l'array. El separador es converteix a string automàticament en cas necesari. Si s'omet, els elements de l'array seran separats per una coma. Si separador és un string buit, s'ajuntaran tots els elements de l'array sense cap caràcter entre ells.
-
- -

Descripció

- -

Ajunta les conversions a string de tots els elements de l'array en un sol string. Si un element és undefined o bé null aquest es converteix en una cadena buida.

- -

Exemples

- -

Quatre formes diferents d'ajuntar un array

- -

L'exemple següent crea un array, a, amb tres elements, l'ajunta quatre cops: utilitzant el separador per defect, utilitzant coma i espai, utiltizant el signe més i utilitzant un string buit.

- -
var a = ['Wind', 'Rain', 'Fire'];
-var myVar1 = a.join();      // assigna 'Wind,Rain,Fire' a myVar1
-var myVar2 = a.join(', ');  // assigna 'Wind, Rain, Fire' a myVar2
-var myVar3 = a.join(' + '); // assigna 'Wind + Rain + Fire' a myVar3
-var myVar4 = a.join('');    // assigna 'WindRainFire' a myVar4
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.4.4.5', 'Array.prototype.join')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.join', 'Array.prototype.join')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.split()")}}
  • -
  • {{jsxref("Array.prototype.toString()")}}
  • -
  • {{jsxref("TypedArray.prototype.join()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/keys/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/keys/index.html deleted file mode 100644 index 7d9df8e1f5..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/keys/index.html +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: Array.prototype.keys() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/keys -translation_of: Web/JavaScript/Reference/Global_Objects/Array/keys ---- -
{{JSRef}}
- -

El mètode keys() retorna un nou Array Iterator que conté la clau de cada posició d'un array.

- -

Sintaxi

- -
arr.keys()
- -

Exemples

- -

Ús bàsic

- -
var arr = ["a", "b", "c"];
-var iterator = arr.keys();
-
-console.log(iterator.next()); // { value: 0, done: false }
-console.log(iterator.next()); // { value: 1, done: false }
-console.log(iterator.next()); // { value: 2, done: false }
-console.log(iterator.next()); // { value: undefined, done: true }
-
- -

L'iterador de claus no ignora els forats

- -
var arr = ["a", , "c"];
-var sparseKeys = Object.keys(arr);
-var denseKeys = [...arr.keys()];
-console.log(sparseKeys); // ['0', '2']
-console.log(denseKeys);  // [0, 1, 2]
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.prototype.keys', 'Array.prototype.keys')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-array.prototype.keys', 'Array.prototype.keys')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("28")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("28")}}{{CompatNo}}{{CompatNo}}8.0
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.values()")}}
  • -
  • {{jsxref("Array.prototype.entries()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/lastindexof/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/lastindexof/index.html deleted file mode 100644 index 038aa614e5..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/lastindexof/index.html +++ /dev/null @@ -1,197 +0,0 @@ ---- -title: Array.prototype.lastIndexOf() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/lastIndexOf -translation_of: Web/JavaScript/Reference/Global_Objects/Array/lastIndexOf ---- -
{{JSRef}}
- -

 

- -

El mètode lastIndexOf () retorna l'última posició a la qual es troba l'element proporcionat, o bé -1 si l'element no es troba dins l'array. L'array es recorrerà en ordre invers a partir de la posició pocicioInicial.

- -

Sintaxi

- -
arr.lastIndexOf(elementAcercar[, posicioInicial = arr.length - 1])
- -

Paràmetres

- -
-
elementAcercar
-
L'element que es cercarà.
-
posicioInicial
-
Opcional. La posició a partir de la qual es començarà a cercar cap enrera. El valor per defecte és el tamany de l'array menys un, és a dir, tota l'array serà cercada. Si la posició proporcionada es major o igual que la longitud de l'array tot l'array serà cercat. Si és negatiu s'utilitzarà com a desplaçament respecte el final de l'array. Nota: l'array sempre es cercarà accedint a les posicions en ordre descendent encara que la posicioInicial sigui negatiu. Si la posició calculada és menor que zero, es retornarà -1, és a dir, l'array no serà cercat.
-
- -

Descripció

- -

lastIndexOf compara elementAcercar amb els elements de l'array mitjançant la igualtat estricta (el mateix mètode utilitzat per l'operador ===, també anomenat triple-equals).

- -

Exemples

- -

Utilitzar lastIndexOf

- -

L'exemple següent utilitza lastIndexOf per a localitzar valors dins un array.

- -
var array = [2, 5, 9, 2];
-array.lastIndexOf(2);     // 3
-array.lastIndexOf(7);     // -1
-array.lastIndexOf(2, 3);  // 3
-array.lastIndexOf(2, 2);  // 0
-array.lastIndexOf(2, -2); // 0
-array.lastIndexOf(2, -1); // 3
-
- -

Trobar totes les ocurrències d'un element

- -

L'exemple segïuent utilitza lastIndexOf per a trobar totes les posicions d'un element en un array donat, utilitzant {{jsxref("Array.prototype.push", "push")}} per a afegir-los a u altre array un cop trobats.

- -
var indices = [];
-var array = ['a', 'b', 'a', 'c', 'a', 'd'];
-var element = 'a';
-var idx = array.lastIndexOf(element);
-while (idx != -1) {
-  indices.push(idx);
-  idx = (idx > 0 ? array.lastIndexOf(element, idx - 1) : -1);
-}
-
-console.log(indices);
-// [4, 2, 0]
-
- -

Cal destacar que el cas idx == 0 s'ha de tractar de forma separada ja que l'element sempre serà trobat sense importar el valor del paràmetre posicioInicial si és el primer element de l'array. Aquest comportament és diferent del del mètode {{jsxref("Array.prototype.indexOf", "indexOf")}}.

- -

Polyfill

- -

lastIndexOf va ser afegit al standard ECMA-262 a la cinquena versió; degut a això pot no estar present en tots els navegadors. Afegir el següent codi al principi dels vostres escripts us permetrà utilitzar aquesta funció en navegadors on indexOf no sigui suportada de forma nativa. Aquest algoritme és el mateix que l'especificat a la cinquena versió de l'ECMA-262, donat que {{jsxref("Object")}}, {{jsxref("TypeError")}}, {{jsxref("Number")}}, {{jsxref("Math.floor")}}, {{jsxref("Math.abs")}}, i{{jsxref("Math.min")}} no han estat modificats.

- -
// Production steps of ECMA-262, Edition 5, 15.4.4.15
-// Reference: http://es5.github.io/#x15.4.4.15
-if (!Array.prototype.lastIndexOf) {
-  Array.prototype.lastIndexOf = function(searchElement /*, fromIndex*/) {
-    'use strict';
-
-    if (this === void 0 || this === null) {
-      throw new TypeError();
-    }
-
-    var n, k,
-      t = Object(this),
-      len = t.length >>> 0;
-    if (len === 0) {
-      return -1;
-    }
-
-    n = len - 1;
-    if (arguments.length > 1) {
-      n = Number(arguments[1]);
-      if (n != n) {
-        n = 0;
-      }
-      else if (n != 0 && n != (1 / 0) && n != -(1 / 0)) {
-        n = (n > 0 || -1) * Math.floor(Math.abs(n));
-      }
-    }
-
-    for (k = n >= 0 ? Math.min(n, len - 1) : len - Math.abs(n); k >= 0; k--) {
-      if (k in t && t[k] === searchElement) {
-        return k;
-      }
-    }
-    return -1;
-  };
-}
-
- -

Cal destacar que l'implementació aspira  una compatibilitat ambsoluta amb els mètodes lastIndexOf trobats al Firefox i el motor JavaScript SpiderMonkey, incloent diversos casos que són excepcionals. Si es pretén utilitzar-lo en aplicacions quotidianes, és posible calcular from amb codi més senzill si s'ignoren aquests casos.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.15', 'Array.prototype.lastIndexOf')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.lastindexof', 'Array.prototype.lastIndexOf')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.lastindexof', 'Array.prototype.lastIndexOf')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Notes de compatibilitat

- -
    -
  • Començant amb el Firefox 47 {{geckoRelease(47)}}, aquest mètode no retornarà -0. Per exemple, [0].lastIndexOf(0, -0) ara sempre retornarà +0 ({{bug(1242043)}}).
  • -
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.indexOf()")}}
  • -
  • {{jsxref("TypedArray.prototype.lastIndexOf()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/length/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/length/index.html deleted file mode 100644 index a4954565ff..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/length/index.html +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Array.prototype.length -slug: Web/JavaScript/Referencia/Objectes_globals/Array/length -translation_of: Web/JavaScript/Reference/Global_Objects/Array/length ---- -
{{JSRef}}
- -

La propietat length representa un nombre sencer sense signe de 32 bits que és sempre numèricament major que la última posició de l'array.

- -
{{js_property_attributes(1, 0, 0)}}
- -

Sintaxi

- -
arr.length
- -

Descripció

- -

El valor de la propietat length és un sencer amb un signe positiu un valor menor de 2 elevat a 32 (232).

- -

Es pot establir la propietat length per truncar un array en qualsevol moment. Quan s'exten un array per mitjà de canviar la seva propietat length, el nombre actual d'elements no s'incrementa; per exemple, si s'estableix length a 3 quan en aquell moment és 2, l'array encara conté només 2 elements. Així, la propietat length no necessàriament indica el nombre de valors definits en l'array. Vegeu també Relació entre length i propietats numèriques.

- -

Exemples

- -

Recorrer un array

- -

En l'exemple següent, es recorre l'array numbers comprovant la propietat length. Es duplica el valor de cada element.

- -
var numbers = [1, 2, 3, 4, 5];
-
-for (var i = 0; i < numbers.length; i++) {
-  numbers[i] *= 2;
-}
-// numbers és ara [2, 4, 6, 8, 10]
-
- -

Escurçar una array

- -

L'exemple següent escurça l'array statesUS a una llargària de 50 en cas que la llargària actual sigui major de 50.

- -
if (statesUS.length > 50) {
-  statesUS.length = 50;
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.4.5.2', 'Array.length')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-properties-of-array-instances-length', 'Array.length')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/map/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/map/index.html deleted file mode 100644 index 6f0dc1a0d4..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/map/index.html +++ /dev/null @@ -1,317 +0,0 @@ ---- -title: Array.prototype.map() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/map -translation_of: Web/JavaScript/Reference/Global_Objects/Array/map ---- -
{{JSRef("Global_Objects", "Array")}}
- -

Resum

- -

El mètode map() crea una nova array amb els resultats de la crida a la funció proporcionada un cop per cada element.

- -

Sintaxi

- -
arr.map(callback[, thisArg])
- -

Paràmetres

- -
-
callback
-
Funció que produeix un element de la nova array, agafant tres arguments:
-
-
-
currentValue
-
El valor actual que és processat en l'array.
-
index
-
L'índex de l'element actual que és processat en l'array.
-
array
-
L'array sobre la qual es crida map.
-
-
-
thisArg
-
Opcional. Valor a usar com a this quan s'executa la funció.
-
- -

Descripció

- -

map crida a la funció passada callback un cop per cada element de l'array, en ordre, i construeix un nou array a partir dels resultats. Només s'invoca callback per a posicions de l'array que tinguin valors assignats, incloent undefined. No es crida per a elements no trobats (és a dir, elements que no han rebut mai un valor o bé elements que s'han eliminat).

- -

S'invoca callback amb tres arguments: el valor de l'element, la posició de l'element a l'array, i l'array que s'està recorrent.

- -

Si s'ha proporcionat el paràmetre thisArg a l'hora de cridar map, aquest es passarà a la funció callback com a valor per a this dins la funció. En qualsevol altre cas el valor utilitzat com a this serà {{jsxref("Global_Objects/undefined", "undefined")}}. El valor finalment observable des de callback es determinarà d'acord a les regles usuals per a determinar el valor de this dins una funció.

- -

map no canvia l'array des del que es crida (tot i que callback, si s'invoca, pot fer-ho).

- -

El rang d'elements processat per map s'estableix abans de la primera invocació de callback. Els elements que s'hagin afegit a l'array després d'haver cridat map no seran visitats per callback. Si es canvient els elements existents, o s'eliminen, el valor passat a callback serà el valor que tinguessin quan es va invocar map; els elements que s'han eliminat no es visitaran.

- -

Exemples

- -

Exemple: Generar un array de rels quadrades a partir d'un array de nombres

- -

El codi següent agafa un array de nombres i crea un nou array que contindrà les rels quadrades dels nombres del primer array.

- -
var nombres = [1, 4, 9];
-var rels = nombres.map(Math.sqrt);
-// rels ara val [1, 2, 3], nombres encara val [1, 4, 9]
-
- -

Exemple: Utilitzar map per a canviar el format dels objectes d'un array

- -

El codi següent agafa un array d'objectes i crea un nou array que conté els nous objectes, que tenen un format diferent.

- -
var kvArray = [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}];
-var reformattedArray = kvArray.map(function(obj){
-   var rObj = {};
-   rObj[obj.key] = obj.value;
-   return rObj;
-});
-// reformattedArray ara val [{1:10}, {2:20}, {3:30}],
-// kvArray encara val [{key:1, value:10}, {key:2, value:20}, {key:3, value: 30}]
-
- -

Exemple: Assignar els nombres d'un array al resultat d'una funció que espera un argument

- -

El codi següent mostra com funciona map quan s'utilitza una funció que espera un argument. L'argument rebrà automàticament el valor de cada element de l'array mentre map recorre tot l'array original.

- -
var nombres = [1, 4, 9];
-var dobles = nombres.map(function(num) {
-  return num * 2;
-});
-// dobles ara val [2, 8, 18]. nombres encara val [1, 4, 9]
-
- -

Exemple: utilitzar map de forma genèrica

- -

Aquest exemple mostra com utilitzar map en un {{jsxref("Global_Objects/String", "String")}} per a obtindre un array de bytes que representin el valor dels caràcters codificats amb ASCII:

- -
var map = Array.prototype.map;
-var a = map.call('Hello World', function(x) { return x.charCodeAt(0); });
-// a ara val [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
-
- -

Exemple: Utilitzar map de forma genèrica amb querySelectorAll

- -

Aquest exemple mostra com iterar sobre una col·lecció d'objectes obtinguts mitjançant querySelectorAll. En aquest cas obtenim totes les opcions seleccionades de la web:

- -
var elems = document.querySelectorAll('select option:checked');
-var values = Array.prototype.map.call(elems, function(obj) {
-  return obj.value;
-});
-
- -

Exemple: Utilitzar map per a invertir un string

- -
var str = '12345';
-Array.prototype.map.call(str, function(x) {
-  return x;
-}).reverse().join('');
-
-// Sortida: '54321'
-// Bonus: utilitzeu '===' per a comprovar si l'string original era un palindrom
-
- -

Exemple: Un cas d'ús delicat

- -

(inspirat per aquesta entrada de blog)

- -

És comú utilitzar la funció callback amb un sol argument (l'element corresponent a la volta del bucle de l'array que s'està recorrent). Algunes funcions també solen requerir un sol argument, tot i que també poden acceptar arguements adicionals de forma opcional. Això pot produïr comportaments confussos.

- -
// Considerem:
-['1', '2', '3'].map(parseInt);
-// Quan hom esperaria [1, 2, 3]
-// El resultat real serà [1, NaN, NaN]
-
-// parseInt s'utilitza normalment amb un argument, però admet dos.
-// El primer és una expressió mentre que el segon és el mòdul.
-// Array.prototype.map passa 3 arguments a la funció callback:
-// l'element, la posició de l'element i l'array
-// parseInt ignorarà el tercer argument, però no el segon,
-// provocant la confussió. Vegeu l'entrada del blog per a més detalls
-
-function returnInt(element) {
-  return parseInt(element, 10);
-}
-
-['1', '2', '3'].map(returnInt); // [1, 2, 3]
-// Actual result is an array of numbers (as expected)
-
-// A simpler way to achieve the above, while avoiding the "gotcha":
-['1', '2', '3'].map(Number); // [1, 2, 3]
-
- -

Polyfill

- -

map va ser afegit a l'standard ECMA-262 a la cinquena edició; degut a això aquest pot no estar present en algunes implementacions de l'standard. Es pot solventar aquest problema insertant el codi següent al principi dels scripts que el requereixin, permetent que implementacions on map no està disponible de forma nativa en puguin fer ús. Aquest algoritme és exactament l'especificat per l'ECMA-262, 5a edició, assument que {{jsxref("Global_Objects/Object", "Object")}}, {{jsxref("Global_Objects/TypeError", "TypeError")}}, i {{jsxref("Global_Objects/Array", "Array")}} tenen els seus valors originals i que callback.call s'evalua al valor original de {{jsxref("Function.prototype.call")}}.

- -
// Production steps of ECMA-262, Edition 5, 15.4.4.19
-// Reference: http://es5.github.io/#x15.4.4.19
-if (!Array.prototype.map) {
-
-  Array.prototype.map = function(callback, thisArg) {
-
-    var T, A, k;
-
-    if (this == null) {
-      throw new TypeError(' this is null or not defined');
-    }
-
-    // 1. Assignem a O el resultat de cridar a ToObject passant-li el valor de |this|
-    //    com a argument.
-    var O = Object(this);
-
-    // 2. lenValue és el resultat de cridar el mètode intern
-    //    Get de O amb l'argument "length".
-    // 3. Assignem a len el valor d'executar ToUint32(lenValue).
-    var len = O.length >>> 0;
-
-    // 4. Si IsCallable(callback) és false, llencem l'excepció TypeError.
-    // Vegeu: http://es5.github.com/#x9.11
-    if (typeof callback !== 'function') {
-      throw new TypeError(callback + ' is not a function');
-    }
-
-    // 5. Si s'ha passat l'argument thisArg, l'assigment a T; en cas contrari T valdrà undefined.
-    if (arguments.length > 1) {
-      T = thisArg;
-    }
-
-    // 6. Assignem a A el nou array creat per l'expressió new Array(len)
-    //    on Array és el constructor standard de JavaScript amb aquest nom i
-    //    len és el valor de len.
-    A = new Array(len);
-
-    // 7. Assignem 0 a k
-    k = 0;
-
-    // 8. Repetim mentre k < len
-    while (k < len) {
-
-      var kValue, mappedValue;
-
-      // a. Assignem ToString(k) a Pk.
-      //   Això és implicit per a operands al cantó esquerra de l'operador in
-      // b. Assignem a kPresent el resultat de cridar el mètode intern HasProperty
-      //    de O amb l'argument Pk.
-      //   Es pot combinar aquest pas amb c
-      // c. Si kPresent és true, llavors
-      if (k in O) {
-
-        // i. Assignem a kValue el resultat de cridar el mètode intern
-        //    Get de O amb l'argument Pk.
-        kValue = O[k];
-
-        // ii. Assignem a mappedValue el resultat de cridar el mètode intern Call
-        //     de callback amb T com a valor de this i una llista d'arguments
-        //     que conté kValue, k, i O.
-        mappedValue = callback.call(T, kValue, k, O);
-
-        // iii. Cridem el mètode intern DefineOwnProperty de A amb els arguments
-        // Pk, Property Descriptor
-        // { Value: mappedValue,
-        //   Writable: true,
-        //   Enumerable: true,
-        //   Configurable: true },
-        // i false.
-
-        // En navegadors que suportin Object.defineProperty, utilitzeu el següent:
-        // Object.defineProperty(A, k, {
-        //   value: mappedValue,
-        //   writable: true,
-        //   enumerable: true,
-        //   configurable: true
-        // });
-
-        // Per a un millor suport de navegadors, utilitzeu el següent:
-        A[k] = mappedValue;
-      }
-      // d. incrementem k en 1.
-      k++;
-    }
-
-    // 9. retornem A
-    return A;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.19', 'Array.prototype.map')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.map', 'Array.prototype.map')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.forEach()")}}
  • -
  • {{jsxref("Map")}} object
  • -
  • {{jsxref("Array.from()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/of/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/of/index.html deleted file mode 100644 index efe2d96abd..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/of/index.html +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Array.of() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/of -translation_of: Web/JavaScript/Reference/Global_Objects/Array/of ---- -
{{JSRef}}
- -

El mètode Array.of() crea una nova instància Array amb un nombre variable d'arguments, sense tenir en compte el nombre o el tipus d'arguments.

- -

La diferència entre Array.of() i el constructor Array es troba en el maneig dels arguments sencers: Array.of(42) crea un array amb un sol element, 42, mentre que Array(42) crea un array amb 42 elements, Cadascun dels quals és undefined.

- -

Sintaxi

- -
Array.of(element0[, element1[, ...[, elementN]]])
- -

Paràmetres

- -
-
elementN
-
Elements a partir dels quals es crea l'array.
-
- -

Descripció

- -

Aquesta funció forma part del ECMAScript 6 estàndard. Per més informació vegeu proposta de l'Array.of i Array.from i Array.of polyfill.

- -

Exemples

- -
Array.of(1);         // [1]
-Array.of(1, 2, 3);   // [1, 2, 3]
-Array.of(undefined); // [undefined]
-
- -

Polyfill

- -

Executar el codi següent abans que cap altre codi crearà Array.of() en cas que no es trobi disponible de forma nativa.

- -
if (!Array.of) {
-  Array.of = function() {
-    return Array.prototype.slice.call(arguments);
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-array.of', 'Array.of')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(45)}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome(39)}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array")}}
  • -
  • {{jsxref("Array.from()")}}
  • -
  • {{jsxref("TypedArray.of()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/pop/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/pop/index.html deleted file mode 100644 index 7d2ee3189f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/pop/index.html +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: Array.prototype.pop() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/pop -translation_of: Web/JavaScript/Reference/Global_Objects/Array/pop ---- -
{{JSRef}}
- -

El mètode pop() elimina l'últim element d'un array i retorna l'element eliminat.

- -

Sintaxi

- -
arr.pop()
- -

Descripció

- -

El mètode pop elimina l'últim element d'un array i retorna el seu valor.

- -

pop és genèric de forma intencionada; aquest mètode pot ser {{jsxref("Function.call", "cridat", "", 1)}} i {{jsxref("Function.apply", "aplicat", "", 1)}} des de/a objectes que semblin arrays. Els objectes que no continguin la propietat length que reflecteixi l'última propietat d'una sèrie de propietats numèriques consecutives, on el nom de la primera propietat sigui el zero, poden comportar-se de forma imprevista.

- -

Si es crida pop() en un array buit, es retornarà {{jsxref("undefined")}}.

- -

Exemples

- -

Esborrar l'últim element d'un array

- -

El codi següent crea un array anomenat myFish que conté quatre elements, després elimina l'últim element.

- -
var myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
-
-console.log(myFish); // ['angel', 'clown', 'mandarin', 'sturgeon']
-
-var popped = myFish.pop();
-
-console.log(myFish); // ['angel', 'clown', 'mandarin' ]
-
-console.log(popped); // 'sturgeon'
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.6', 'Array.prototype.pop')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.pop', 'Array.prototype.pop')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.push()")}}
  • -
  • {{jsxref("Array.prototype.shift()")}}
  • -
  • {{jsxref("Array.prototype.unshift()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/prototype/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/prototype/index.html deleted file mode 100644 index 35ebf53933..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/prototype/index.html +++ /dev/null @@ -1,203 +0,0 @@ ---- -title: Array.prototype -slug: Web/JavaScript/Referencia/Objectes_globals/Array/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/Array/prototype ---- -
{{JSRef}}
- -

La propietat Array.prototype representa el prototipus del constructor {{jsxref("Array")}}.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Les instàncies de {{jsxref("Array")}} hereten de Array.prototype. Com tots els constructors, és possible modificar l'objecte prototipus del constructor per a afectar a totes les instàncies de {{jsxref("Array")}}.

- -

Fet poc conegut: Array.prototype és ell mateix un {{jsxref("Array")}}:

- -
Array.isArray(Array.prototype); // true
-
- -

Propietats

- -
-
Array.prototype.constructor
-
Especifica la funció que ha creat el prototipus de l'objecte.
-
{{jsxref("Array.prototype.length")}}
-
Reflecteix el nombre d'elements d'un array.
-
- -

Mètodes

- -

Mètodes Mutadors

- -

Els mètodes següents modifiquen l'array:

- -
-
{{jsxref("Array.prototype.copyWithin()")}} {{experimental_inline}}
-
Copia una seqüència d'elements de l'array dins l'array.
-
{{jsxref("Array.prototype.fill()")}} {{experimental_inline}}
-
Omple tots els elements d'un array d'una posició inicial a una posició final amb un valor estàtic.
-
{{jsxref("Array.prototype.pop()")}}
-
Elimina l'últim element d'un array i retorna aquest element.
-
{{jsxref("Array.prototype.push()")}}
-
Afegeix un o més elements al final de l'array i retorna el nou tamany de l'array.
-
{{jsxref("Array.prototype.reverse()")}}
-
Capgira l'ordre dels elements d'un array a l'array mateix (no crea cap array nou) — el primer element esdevé l'últim, l'últim esdevé el primer, etcètera.
-
{{jsxref("Array.prototype.shift()")}}
-
Elimina el primer element d'un array i retorna aquest element.
-
{{jsxref("Array.prototype.sort()")}}
-
Ordena els elements d'un array a l'array mateix i retorna l'array.
-
{{jsxref("Array.prototype.splice()")}}
-
Afegeix i/o elimina elements d'un array.
-
{{jsxref("Array.prototype.unshift()")}}
-
Afegeix un o més elements al pricipi d'un array i retorna el nou tamany de l'array.
-
- -

Mètodes d'accés

- -

Aquests mètodes no modifiquen l'array sino que retornen algun tipus de representació de l'array.

- -
-
{{jsxref("Array.prototype.concat()")}}
-
Retorna un nou array format per la unió de l'array actual amb altres arrays o valors.
-
{{jsxref("Array.prototype.includes()")}} {{experimental_inline}}
-
Determina si un array inclou un element en concret, retornant true en cas afirmatiu i false en cas contrari.
-
{{jsxref("Array.prototype.join()")}}
-
Uneix tots els elements d'un array en un string.
-
{{jsxref("Array.prototype.slice()")}}
-
Extrau una secció d'un array i la retorna en forma de nou array.
-
{{jsxref("Array.prototype.toSource()")}} {{non-standard_inline}}
-
Retorna un literal d'array que representa l'array especificat; es pot emprar aquest valor per a crear un nou array. Sobreescriu el mètode {{jsxref("Object.prototype.toSource()")}}.
-
{{jsxref("Array.prototype.toString()")}}
-
Retorna un string que representa l'array i els seus elements. Sobreescriu el mètode {{jsxref("Object.prototype.toString()")}}.
-
{{jsxref("Array.prototype.toLocaleString()")}}
-
Retorna un string localitzat que representa l'array i els seus elements. Sobreescriu el mètode {{jsxref("Object.prototype.toLocaleString()")}}.
-
{{jsxref("Array.prototype.indexOf()")}}
-
Retorna la primera posició de l'array en la que es troba un element igual al valor especificat, o bé -1 si no es troba l'element dins l'array.
-
{{jsxref("Array.prototype.lastIndexOf()")}}
-
Retorna la última posició de l'array en la que es troba un element igual al valor especificat, o bé -1 si no es troba l'element dins l'array.
-
- -

Mètodes d'iteració

- -

Alguns mètodes accepten com a arguments funcions que es cridaran al processar l'array. Quan es criden aquests mètodes, s'emmagatzema el valor de length de l'array i qualsevol element afegit després a dins de la funció no serà visitat per la mateixa. Altres canvis a l'array (com ara canviar un valor o bé eliminar un element) poden afectar els resultats de l'operació si el mètode visita els elements que han canviat. Tot i que el comportament específic d'aquests mètodes en aquests casos està ben definit no es recomana recolzar-se en ell ja que pot confondre a altres programadors que llegeixin el vostre codi. En comptes de modificar l'array copieu-lo i modifiqueu la copia.

- -
-
{{jsxref("Array.prototype.forEach()")}}
-
Crida una funció per a cada element de l'array.
-
{{jsxref("Array.prototype.entries()")}} {{experimental_inline}}
-
Retorna un nou objecte Array Iterator que conté parells clau-valor per a cada posició de l'array.
-
{{jsxref("Array.prototype.every()")}}
-
Retorna true si tots els elements de l'array satisfan la funció proporcionada.
-
{{jsxref("Array.prototype.some()")}}
-
Retorna true si al menys un dels elements de l'array satisfà la funció proporcionada.
-
{{jsxref("Array.prototype.filter()")}}
-
Crea un nou array que conté tots eles elements de l'array des d'on es crida que facin que la funció que actua de filtre retorni true.
-
{{jsxref("Array.prototype.find()")}} {{experimental_inline}}
-
Retorna el valor trobat a l'array, si un element de l'array satisfà la funció proporcionada. En cas contrari retorna undefined.
-
{{jsxref("Array.prototype.findIndex()")}} {{experimental_inline}}
-
Retorna la posició on es troba l'element de l'array que satifcaci la funció proporcionada. Retorna -1 si cap element la satisfà.
-
{{jsxref("Array.prototype.keys()")}} {{experimental_inline}}
-
Retorna un nou Array Iterator que conté les claus per a cada posició de l'array.
-
{{jsxref("Array.prototype.map()")}}
-
Crea un nou array a partir dels resultats de cridar a la funció proporcionada per a cada element de l'array.
-
{{jsxref("Array.prototype.reduce()")}}
-
Executa una funció sobre un acumulador i cada valor de l'array (aplicats d'esquerra a dreta) amb l'objectiu de redudir els valors a un sol valor.
-
{{jsxref("Array.prototype.reduceRight()")}}
-
Executa una funció sobre un acumulador i cada valor de l'array (aplicats de dreta a esquerra) amb l'objectiu de redudir els valors a un sol valor.
-
{{jsxref("Array.prototype.values()")}} {{experimental_inline}}
-
Retorna un nou objecte Array Iterator que conté els valors de cada posició de l'array.
-
{{jsxref("Array.prototype.@@iterator()", "Array.prototype[@@iterator]()")}} {{experimental_inline}}
-
Retorna un nou objecte Array Iterator que conté els valors per a cada posició de l'array.
-
- -

Mètodes genèrics

- -

Molts dels mètodes de l'objecte Array de JavaScript estan dissenyats per a ser aplicats de manera genèrica a qualsevol objecte que tingui la propietat length i que disposin la seva informació en forma de noms de propietats numèrices (com ara array[5] per a accedir a l'element desat a la posició 5). Alguns mètodes, com ara {{jsxref("Array.join", "join")}}, només llegeixen la propietat length i les altes propietats numèriques. D'altres mètodes, com ara {{jsxref("Array.reverse", "reverse")}}, necessiten que tant les propietats numèriques com la propietat length siguin mutables; això implica que aquests mètodes no es poden fer servir sobre objectes com ara {{jsxref("String")}}, on la seva propietat length així com les propietats numèriques no es poden modificar.

- -

Specificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacionsEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.4.3.1', 'Array.prototype')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype', 'Array.prototype')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array")}}
  • -
  • {{jsxref("Function.prototype")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/push/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/push/index.html deleted file mode 100644 index 5770e5a10c..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/push/index.html +++ /dev/null @@ -1,146 +0,0 @@ ---- -title: Array.prototype.push() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/push -translation_of: Web/JavaScript/Reference/Global_Objects/Array/push ---- -
{{JSRef}}
- -

El mètode push() afegeix un o més elements al final d'un array i retorna el nou tamany de l'array.

- -

Sintaxi

- -
arr.push(element1, ..., elementN)
- -

Paràmetres

- -
-
elementN
-
Els elements que seran afegits al final de l'array.
-
- -

Valor retornat

- -

El nou valor de la propietat {{jsxref("Array.length", "length")}} de l'objecte del qual s'ha executat el mètode.

- -

Descripció

- -

El mètode push afegeix valors a un array.

- -

push és genèric de manera intencionada. Es pot utilitzar aquest mètode amb {{jsxref("Function.call", "call()")}} i {{jsxref("Function.apply", "apply()")}} en objectes semblants a arrays. El mètode push depèn de la propietat length per a determinar on insertar els nous valors. Si la propietat length no es pot convertir en un nombre, la posició utilitzada serà la 0. Això inclou la posibilitat que no existeixi la propietat length, en aquest case es crearà automàticament la propietat length.

- -

Els únics objectes semblants a arrays que inclou el nucli de JavaScript són els {{jsxref("Global_Objects/String", "strings", "", 1)}}, tot i que no admeten la aplicació d'aquest mètode ja que els strings són immutables.

- -

Exemples

- -

Afegir elements a un array

- -

El codi següent crea un array anomenat esports que conté dos elements, llavors l'hi afegeix dos elements més. La variable total acaba revent el valor del nou tamany d e l'array.

- -
var esports = ['futbol', 'basket'];
-var total = esports.push('badminton', 'natació');
-
-console.log(esports); // ['futbol', 'basket', 'badminton', 'natació']
-console.log(total);  // 4
-
- -

Unir dos arrays

- -

Aquest exemple utilitza {{jsxref("Function.apply", "apply()")}} per a afegir tots els elements d'un segon array.

- -
var verdures = ['ceba', 'patata'];
-var mesVerdures = ['pastanaga', 'rabe'];
-
-// Uneix el segon array al primer
-// Equivalent a verdures.push('pastanaga', 'rabe');
-Array.prototype.push.apply(verdures , mesVerdures);
-
-console.log(verdures); // ['ceba', 'patata', 'pastanaga', 'rabe']
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.7', 'Array.prototype.push')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.push', 'Array.prototype.push')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.pop()")}}
  • -
  • {{jsxref("Array.prototype.shift()")}}
  • -
  • {{jsxref("Array.prototype.unshift()")}}
  • -
  • {{jsxref("Array.prototype.concat()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/reduce/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/reduce/index.html deleted file mode 100644 index fa6253fd0c..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/reduce/index.html +++ /dev/null @@ -1,304 +0,0 @@ ---- -title: Array.prototype.reduce() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/Reduce -translation_of: Web/JavaScript/Reference/Global_Objects/Array/Reduce ---- -
{{JSRef}}
- -

El mètode reduce() aplica una funció sobre un acumulador i cada valor de l'array (de esquerra a dreta) perr a reduir-lo a un sol valor.

- -

sintaxi

- -
arr.reduce(callback[, valorInicial])
- -

Parameters

- -
-
callback
-
Funció a executar per a cada valor de l'array. Rep quatre arguments: -
-
valorPrevi
-
El valor retornat prèviament en l'última invocació de la funció callback, o bé valorInicial, si s'ha proporcionat (vegeu més abaix).
-
valorActual
-
L'element essent processat actualment a l'array.
-
index
-
La posició de l'element essent processat actualment a l'array.
-
array
-
L'array al qual s'ha cridat el mètode reduce.
-
-
-
valorInicial
-
Opcional. Valor a utilitzar com a primer argument a la primera crida de la funció callback.
-
- -

Descripció

- -

reduce executa la funció callback un cop per cada element present a l'array, excloent forats a l'array, i rep quatre arguments:

- -
    -
  • valorPrevi
  • -
  • valorActual
  • -
  • index
  • -
  • array
  • -
- -

El primer cop que es crida callback, valorAnterior i valorActual reben el valor de la forma descrita a continuació. Si es proporciona valorInicial a la crida de reduce, valorAnterior rebrà el valor de valorInicial i valorActual serà igual al primer valor de l'array. Si no es proporciona valorInicial, valorAnterior serà igual al primer valor de l'array i valorActual serà igual al segon.

- -

Si l'array és buit i no s'ha proporcionat valorInicial, es llençarà {{jsxref("Global_Objects/TypeError", "TypeError")}}. Si l'array només té un element (sense importar la seva posició) i no s'ha proporcionat valorInicial, o si valorInicial s'ha proporcionat però l'array és buit, es retornarà aquest únic valor sense realitzar cap crida a callback.

- -

Suposem que s'ha utilitzar reduce de la forma següent:

- -
[0, 1, 2, 3, 4].reduce(function(previousValue, currentValue, index, array) {
-  return previousValue + currentValue;
-});
-
- -

La funció callback es cridarà quatre cops, on els arguments i els valors a retornar es mostren a continuació:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 valorAnteriorvalorActualindexarrayvalor retornat
primera crida011[0, 1, 2, 3, 4]1
segons crida122[0, 1, 2, 3, 4]3
tercera crida333[0, 1, 2, 3, 4]6
quarta crida644[0, 1, 2, 3, 4]10
- -

El valor retornat per reduce serà el de l'última invocació a callback (10).

- -

Si es proporcionés el valor inicial com a segon argument de reduce, el resultat seria el següent:

- -
[0, 1, 2, 3, 4].reduce(function(valorAnterior, valorActual, index, array) {
-  return valorAnterior + valorActual;
-}, 10);
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 valorAnteriorvalorActualindexarrayvalor retornat
primera crida1000[0, 1, 2, 3, 4]10
segona crida1011[0, 1, 2, 3, 4]11
tercera crida1122[0, 1, 2, 3, 4]13
quarta crida1333[0, 1, 2, 3, 4]16
cinquena crida1644[0, 1, 2, 3, 4]20
- -

El valor de la crida final (20) és el retornat per la funció reduce.

- -

Exemples

- -

Sumar tots els valors d'un array

- -
var total = [0, 1, 2, 3].reduce(function(a, b) {
-  return a + b;
-});
-// total == 6
-
- -

Aplanar un array d'arrays

- -
var flattened = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) {
-  return a.concat(b);
-}, []);
-// flattened is [0, 1, 2, 3, 4, 5]
-
- -

Polyfill

- -

Array.prototype.reduce va ser afegida a l'standard ECMA-262 a la cinquena edició; degut a això aquesta no estar present a totes les implementacions de l'standard. És possible simular-la en aquests casos mitjançant l'inserció del codi que trobareu a continuació a l'inici dels vostres scripts, tot permetent-vos utilitzar reduce en implementacions que no la suportin de forma nativa.

- -
// Production steps of ECMA-262, Edition 5, 15.4.4.21
-// Reference: http://es5.github.io/#x15.4.4.21
-if (!Array.prototype.reduce) {
-  Array.prototype.reduce = function(callback /*, initialValue*/) {
-    'use strict';
-    if (this == null) {
-      throw new TypeError('Array.prototype.reduce called on null or undefined');
-    }
-    if (typeof callback !== 'function') {
-      throw new TypeError(callback + ' is not a function');
-    }
-    var t = Object(this), len = t.length >>> 0, k = 0, value;
-    if (arguments.length == 2) {
-      value = arguments[1];
-    } else {
-      while (k < len && !(k in t)) {
-        k++;
-      }
-      if (k >= len) {
-        throw new TypeError('Reduce of empty array with no initial value');
-      }
-      value = t[k++];
-    }
-    for (; k < len; k++) {
-      if (k in t) {
-        value = callback(value, t[k], k, t);
-      }
-    }
-    return value;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.21', 'Array.prototype.reduce')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.8.
{{SpecName('ES6', '#sec-array.prototype.reduce', 'Array.prototype.reduce')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9")}}{{CompatIE("9")}}{{CompatOpera("10.5")}}{{CompatSafari("4.0")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.reduceRight()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/reverse/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/reverse/index.html deleted file mode 100644 index 2528cabdc5..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/reverse/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: Array.prototype.reverse() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/reverse -translation_of: Web/JavaScript/Reference/Global_Objects/Array/reverse ---- -
{{JSRef}}
- -

El mètode reverse() inverteix un array. El primer element de l'array es converteix en l'últim element i l'últim element de l'array passa a ésser el primer.

- -

Sintaxi

- -
arr.reverse()
- -

Paràmetres

- -

Cap.

- -

Descripció

- -

El mètode reverse method transposa els elements de l'objecte array cridat en un lloc, mutant l'array, i retorna una referència de l'array.

- -

Exemples

- -

Revertir els elements d'un array

- -

L'exemple següent crea un array myArray, que conté tres elements, després inverteix l'array.

- -
var myArray = ['one', 'two', 'three'];
-myArray.reverse();
-
-console.log(myArray) // ['three', 'two', 'one']
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat en JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.4.4.8', 'Array.prototype.reverse')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.reverse', 'Array.prototype.reverse')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.join()")}}
  • -
  • {{jsxref("Array.prototype.sort()")}}
  • -
  • {{jsxref("TypedArray.prototype.reverse()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/shift/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/shift/index.html deleted file mode 100644 index 7b5fa1b330..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/shift/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Array.prototype.shift() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/shift -translation_of: Web/JavaScript/Reference/Global_Objects/Array/shift ---- -
{{JSRef}}
- -

El mètode shift() elimina el primer element d'un array i retorna l'element eliminat. Aquest mètode canvia el tamany de l'array.

- -

Sintaxi

- -
arr.shift()
- -

Descripció

- -

El mètode shift elimina l'element de l'array situat a la posició zero i mou la resta d'elements a la posició immediatament menor, tot seguit retorna el valor de l'element eliminat. Si la propietat {{jsxref("Array.length", "length")}} de l'array és 0, aquest mètode retornarà {{jsxref("undefined")}}.

- -

shift és generic de forma intencionada; aquest mètode pot ser {{jsxref("Function.call", "cridat", "", 1)}} o bé {{jsxref("Function.apply", "aplicat", "", 1)}} a objectes que es comportin com a arrays. Els objectes que no continguin una propietat length que reflecteixi l'última propietat numèrica poden tenir un comportament erràtic.

- -

Exemples

- -

Eliminar un element d'un array

- -

El codi següent mostra l'array myFish abans i després d'eliminar el seu primer element. També mostra l'element eliminat:

- -
var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
-
-console.log('myFish abans: ' + myFish);
-// "myFish abans: angel,clown,mandarin,surgeon"
-
-var shifted = myFish.shift();
-
-console.log('myFish després: ' + myFish);
-// "myFish després: clown,mandarin,surgeon"
-
-console.log('Element eliminat: ' + shifted);
-// "Element eliminat: angel"
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.9', 'Array.prototype.shift')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.shift', 'Array.prototype.shift')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.shift', 'Array.prototype.shift')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.push()")}}
  • -
  • {{jsxref("Array.prototype.pop()")}}
  • -
  • {{jsxref("Array.prototype.unshift()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/slice/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/slice/index.html deleted file mode 100644 index d181f94a65..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/slice/index.html +++ /dev/null @@ -1,268 +0,0 @@ ---- -title: Array.prototype.slice() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/slice -translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice ---- -
{{JSRef}}
- -

El mètode slice() retorna una còpia feble d'una porció d'un array en forma d'un nou objecte array.

- -

Sintaxi

- -
arr.slice([inici[, fi]])
- -

Paràmetres

- -
-
inici
-
La posició (tenint en compte que zero correspon a la primera posició) a partir de la qual començarà l'extracció.
-
Si inici és negatiu, la posició correspondrà a la posicó final de la seqüència menys el valor proporcionat. slice(-2) extreu els últims dos elements de la seqüència.
-
Si inici és undefined, slice començarà a la posició 0.
-
fi
-
La posició (contant des de zero) en la qual finalitzarà l'extracció. slice extraurà fins a aquesta posicó, sense incloure-la.
-
slice(1,4) extrau des del segon element fins al quart element (és a dir, els elements pertanyents a les posicions 1, 2 i 3).
-
Si fi és negatiu, la posició correspondrà a la posicó final de la seqüència menys el valor proporcionat. slice(2,-1) extrau des del tercer element fins al penúltim element de la seqüència.
-
Si s'omet el paràmetre fi, slice extreurà fins al final de la seqüència (arr.length).
-
- -

Descripció

- -

slice no altera l'array original. Retorna una copia feble dels elements de l'array original. Els elements de l'array original són copiats a l'array resultat de la forma següent:

- -
    -
  • Per a referències a objectes (no l'objecte en si), slice copia la referència dins el nou array. Tant l'array original com el resultat referenciaran el mateix objecte. Si l'objecte referenciat canvia, aquests canvis seran visibles a ambdos arrays.
  • -
  • Per a strings i nombres (no els objectes {{jsxref("String")}} i {{jsxref("Number")}}), slice copia els strings i nombres a l'array resultant. Els canvis al string o nombre en un dels arrays no afectaran a l'altre array.
  • -
- -

Si s'afegeix un nou element a un dels dos arrays, l'altre array no es veu afectat.

- -

Exemples

- -

Retornar una part d'un array existent

- -
var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
-var citrus = fruits.slice(1, 3);
-
-// citrus conté ['Orange','Lemon']
-
- -

Utilitzar slice

- -

A l'exemple següent slice crea un ou array newCar, a partir de myCar. Ambdos inclouen una referència a l'objecte myHonda. Quan el color de myHonda canvia a lila, ambdos arrays reflecteixen aquest canvi.

- -
// Ús de slice, creem newCar a partir de myCar.
-var myHonda = { color: 'red', wheels: 4, engine: { cylinders: 4, size: 2.2 } };
-var myCar = [myHonda, 2, 'cherry condition', 'purchased 1997'];
-var newCar = myCar.slice(0, 2);
-
-// Mostrem els valors de myCar, newCar, i el color de myHonda
-//  referenciat a ambdos arrays.
-console.log('myCar = ' + myCar.toSource());
-console.log('newCar = ' + newCar.toSource());
-console.log('myCar[0].color = ' + myCar[0].color);
-console.log('newCar[0].color = ' + newCar[0].color);
-
-// Canviem el color de myHonda.
-myHonda.color = 'purple';
-console.log('The new color of my Honda is ' + myHonda.color);
-
-// Mostrem el color de myHonda referenciat a ambdos arrays.
-console.log('myCar[0].color = ' + myCar[0].color);
-console.log('newCar[0].color = ' + newCar[0].color);
-
- -

Aquest script mostra:

- -
myCar = [{color:'red', wheels:4, engine:{cylinders:4, size:2.2}}, 2,
-         'cherry condition', 'purchased 1997']
-newCar = [{color:'red', wheels:4, engine:{cylinders:4, size:2.2}}, 2]
-myCar[0].color = red
-newCar[0].color = red
-The new color of my Honda is purple
-myCar[0].color = purple
-newCar[0].color = purple
-
- -

Objectes compatibles amb arrays

- -

El mètode slice també es pot utilitzar per a convertir objectes compatibles amb arrays / col·leccions a un nou Array. Simplement hem de vincular el mètode a l'objecte. L'objecte {{jsxref("Functions/arguments", "arguments")}} dins una funció és un exemple d'objecte 'compatible amb arrays'.

- -
function list() {
-  return Array.prototype.slice.call(arguments);
-}
-
-var list1 = list(1, 2, 3); // [1, 2, 3]
-
- -

Podem vincular el mètode a l'objecte mitjançant la funció .call proporcionada per {{jsxref("Function.prototype")}}, també podem reduir-la a [].slice.call(arguments) en comptes de Array.prototype.slice.call. També podem simplificar-ho utilitzant la funció {{jsxref("Function.prototype.bind", "bind")}}.

- -
var unboundSlice = Array.prototype.slice;
-var slice = Function.prototype.call.bind(unboundSlice);
-
-function list() {
-  return slice(arguments);
-}
-
-var list1 = list(1, 2, 3); // [1, 2, 3]
-
- -

Oferint un comportament similar entre navegadors

- -

Tot i que segons la especificació els objectes de l'hoste (com ara els objectes DOM) no requereixen seguir el comportament de Mozilla al ser convertits mitjançant Array.prototype.slice i, de fet les versions de Internet Explorer anteriors a la 9 no ho fan, les versions a partir de la 9 si que suporten l'ús d'aquesta funció de compatibilitat, permetent un comportament fiable entre navegadors. Mentre els altres navegadors moderns continuin oferint aquesta habilitat, tal i com ara fan IE, Mozilla, Chrome, Safari i Opera, els desenvolupadors que llegeixin codi sobre slice (suportat pel DOM) que es recolzi en aquesta funció de compatibilitat no tenen que patir per la semàntica; poden fiar-se de la semàntica descrita per a proporcionar el comportament que ara sembla standard de facto (La funció de compatibilitat també permet que el IE funcioni quan es passa com a segon argument de slice() un valor explícit de {{jsxref("null")}}/{{jsxref("undefined")}} ja que versions anteriors de IE no ho permetien però tots els nous navegadors, incloent IE >= 9, si que ho permeten.)

- -
/**
- * Shim for "fixing" IE's lack of support (IE < 9) for applying slice
- * on host objects like NamedNodeMap, NodeList, and HTMLCollection
- * (technically, since host objects have been implementation-dependent,
- * at least before ES6, IE hasn't needed to work this way).
- * Also works on strings, fixes IE < 9 to allow an explicit undefined
- * for the 2nd argument (as in Firefox), and prevents errors when
- * called on other DOM objects.
- */
-(function () {
-  'use strict';
-  var _slice = Array.prototype.slice;
-
-  try {
-    // Can't be used with DOM elements in IE < 9
-    _slice.call(document.documentElement);
-  } catch (e) { // Fails in IE < 9
-    // This will work for genuine arrays, array-like objects,
-    // NamedNodeMap (attributes, entities, notations),
-    // NodeList (e.g., getElementsByTagName), HTMLCollection (e.g., childNodes),
-    // and will not fail on other DOM objects (as do DOM elements in IE < 9)
-    Array.prototype.slice = function(begin, end) {
-      // IE < 9 gets unhappy with an undefined end argument
-      end = (typeof end !== 'undefined') ? end : this.length;
-
-      // For native Array objects, we use the native slice function
-      if (Object.prototype.toString.call(this) === '[object Array]'){
-        return _slice.call(this, begin, end);
-      }
-
-      // For array like object we handle it ourselves.
-      var i, cloned = [],
-        size, len = this.length;
-
-      // Handle negative value for "begin"
-      var start = begin || 0;
-      start = (start >= 0) ? start : Math.max(0, len + start);
-
-      // Handle negative value for "end"
-      var upTo = (typeof end == 'number') ? Math.min(end, len) : len;
-      if (end < 0) {
-        upTo = len + end;
-      }
-
-      // Actual expected size of the slice
-      size = upTo - start;
-
-      if (size > 0) {
-        cloned = new Array(size);
-        if (this.charAt) {
-          for (i = 0; i < size; i++) {
-            cloned[i] = this.charAt(start + i);
-          }
-        } else {
-          for (i = 0; i < size; i++) {
-            cloned[i] = this[start + i];
-          }
-        }
-      }
-
-      return cloned;
-    };
-  }
-}());
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.10', 'Array.prototype.slice')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-array.prototype.slice', 'Array.prototype.slice')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-array.prototype.slice', 'Array.prototype.slice')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Function.prototype.call()")}}
  • -
  • {{jsxref("Function.prototype.bind()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/some/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/some/index.html deleted file mode 100644 index 7abc1ed76d..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/some/index.html +++ /dev/null @@ -1,213 +0,0 @@ ---- -title: Array.prototype.some() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/some -translation_of: Web/JavaScript/Reference/Global_Objects/Array/some ---- -
{{JSRef}}
- -

El mètode some() comprova si un algun element de l'array passa el test implementat per la funció proporcionada com a argument.

- -

Sintaxi

- -
arr.some(callback[, thisArg])
- -

Paràmetres

- -
-
callback
-
Funció utilitzada com a test per a cada element, rep tres arguments: -
-
valorActual
-
L'element de l'array que està sent avaluat.
-
posició
-
La posició que l'element passat al primer paràmetre ocupa dins l'array.
-
array
-
L'array des del que s'ha cridat el mètode some().
-
-
-
thisArg
-
Opcional. Valor que valdrà la variable this quan s'estigui executant la funció callback.
-
- -

Valor retornat

- -

Aquesta funció retorna true si la funció callback retorna true per a almenys un element de l'array; en qualsevol altre cas retorna false.

- -

Descripció

- -

some() executa la funció callback un cop per a cada element present a l'array fins que troba un per al qual callback retorna true. Si es troba aquest element, some() retorna true immediatament. En cas contrari some() retornarà false. Només s'invocarà la funció callback en les posicions de l'array que tinguin un valor assignat, és a dir, mai es cridarà per a posicions que han estat esborrades o el valor de les quals no ha estat mai assignat.

- -

S'invoca callback amb tres arguments: el valor de l'element, la posició de l'element dins l'array, i l'objecte array que es recorrerà.

- -

Si es proporciona el paràmetre thisArg al mètode some(), aquest es passarà a callback quan s'invoqui, i serà el valor que mostrarà la variable this. En cas contrari, s'utilitzarà el valor {{jsxref("undefined")}} com a valor per a this. El valor de this observable en última instància per callback es determinarà d'acord a les regles per a determinar el valor de this observat per una funció.

- -

some() no mutarà l'array quan sigui cridada.

- -

El rang d'elements processat per some() és determinat abans de la primera invocació de callback. Els elements que s'afegeixin a l'array després de la crida a some() no seran visitats per callback. Si el valor d'un element encara no visitat canvia, el valor que es passarà a callback serà el valor que tingui aquest element a l'hora de visitar-lo; els elements que s'esborrin no es visitaran.

- -

Exemples

- -

Comprovar el valor dels elements d'un array

- -

L'exemple següent comprova si el valor d'algun element de l'array es major que 10.

- -
function isBiggerThan10(element, posicio, array) {
-  return element > 10;
-}
-[2, 5, 8, 1, 4].some(isBiggerThan10);  // false
-[12, 5, 8, 1, 4].some(isBiggerThan10); // true
-
- -

Comprovar els elements d'un array utilitzant funcions fletxa

- -

Les funcions fletxa ofereixen una sintaxi reduïda per a realitzar el mateix test.

- -
[2, 5, 8, 1, 4].some(elem => elem > 10);  // false
-[12, 5, 8, 1, 4].some(elem => elem > 10); // true
-
- -

Comprovar si existeix un valor en un array

- -

L'exemple següent retorna cert si existeix un elmeent donat dins un array

- -
var fruits = ['poma', 'platan', 'mango', 'guava'];
-
-function checkAvailability(arr, val) {
-    return arr.some(function(arrVal) {
-        return val === arrVal;
-    });
-}
-
-checkAvailability(fruits, 'kela'); //false
-checkAvailability(fruits, 'platan'); //true
- -

Comprovar si existeix un valor amb funcions fletxa

- -
var fruits = ['poma', 'platan', 'mango', 'guava'];
-
-function checkAvailability(arr, val) {
-    return arr.some(arrVal => val === arrVal);
-}
-
-checkAvailability(fruits, 'kela'); //false
-checkAvailability(fruits, 'platan'); //true
- -

Polyfill

- -

some() va ser afegida  al standard ECMA-262 en la cinquena edició; és per això que pot no estar disponible en certes implementacions del standard. Es pot proporcionar la seva funcionalitat inserint l'script següent a l'inici dels vostres scripts, permetent l'ús de some() en implementacions que no la suporten de forma nativa. Aquest algoritme és exactament l'especificat a l'ECMA-262, cinquena edició, assumint que {{jsxref("Object")}} i {{jsxref("TypeError")}} tenen els valors originals i que fun.call es correspon amb el valor original de {{jsxref("Function.prototype.call()")}}.

- -
// Production steps of ECMA-262, Edition 5, 15.4.4.17
-// Reference: http://es5.github.io/#x15.4.4.17
-if (!Array.prototype.some) {
-  Array.prototype.some = function(fun/*, thisArg*/) {
-    'use strict';
-
-    if (this == null) {
-      throw new TypeError('Array.prototype.some called on null or undefined');
-    }
-
-    if (typeof fun !== 'function') {
-      throw new TypeError();
-    }
-
-    var t = Object(this);
-    var len = t.length >>> 0;
-
-    var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
-    for (var i = 0; i < len; i++) {
-      if (i in t && fun.call(thisArg, t[i], i, t)) {
-        return true;
-      }
-    }
-
-    return false;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.4.4.17', 'Array.prototype.some')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.6.
{{SpecName('ES6', '#sec-array.prototype.some', 'Array.prototype.some')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-array.prototype.some', 'Array.prototype.some')}}{{Spec2('ESDraft')}}
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.8")}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.8")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.forEach()")}}
  • -
  • {{jsxref("Array.prototype.every()")}}
  • -
  • {{jsxref("TypedArray.prototype.some()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/array/splice/index.html b/files/ca/web/javascript/referencia/objectes_globals/array/splice/index.html deleted file mode 100644 index c1abada8d9..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/array/splice/index.html +++ /dev/null @@ -1,171 +0,0 @@ ---- -title: Array.prototype.splice() -slug: Web/JavaScript/Referencia/Objectes_globals/Array/splice -translation_of: Web/JavaScript/Reference/Global_Objects/Array/splice ---- -
{{JSRef}}
- -

El mètode splice() modifica el contingut d'un array eliminant elements ja existents i/o afegint-ne de nous.

- -

Sintaxi

- -
array.splice(inici, comptadorEliminar[, item1[, item2[, ...]]])
-
- -

Paràmetres

- -
-
inici
-
La posició a partir de la qual es començarà a modificar l'array (considerant 0 com a primera posició). Si s'especifca un nombre major que la longitud de l'array, la posició d'inici real esdevindrà la longitud de l'array. Si s'especifica un nombre negatiu, la posició d'inici serà el valor absolut del nombre especificat contant des del final de l'array.
-
comptadorEliminar
-
Un nombre sencer que indica el nombre d'elements que s'eliminaran. Si comptadorEliminar és 0 no s'eliminarà cap element. En aquest cas s'hauria d'especificar al menys un nou element. Si comptadorEliminar és major que el nombre d'elements de l'array des de la posició inici fins el final de l'array tots els elements des d'inici fins al final de l'array seran eliminats.
-
Si s'omet comptadorEliminar aquest rebrà un valor per defecte igual a (arr.length - inici).
-
item1, item2, ...
-
Els elements que s'afegiran a l'array, començant a la posició inici. Si no s'especifcia cap element, splice() només eliminarà elements de l'array.
-
- -

Valor retornat

- -

Un array que conté els elements eliminats. Si només s'ha eliminat un element es retornarà un array amb un sol element. Si no s'ha eliminat cap element retornarà un array buit.

- -

Descripció

- -

Si s'especifica un nombre diferent d'elements a eliminar del nombre d'elements a inserir la longitud de l'array canviarà al final de la crida.

- -

Exemples

- -

Utilitzar splice()

- -

L'script seguent ilustra l'ús de splice():

- -
var myFish = ['angel', 'clown', 'mandarin', 'surgeon'];
-
-// eliminem 0 elements a partir de la posició 2, i inserim 'drum'
-var eliminats = myFish.splice(2, 0, 'drum');
-// myFish is ['angel', 'clown', 'drum', 'mandarin', 'surgeon']
-// eliminats va [], no s'han eliminat elements
-
-// myFish val ['angel', 'clown', 'drum', 'mandarin', 'surgeon']
-// eliminem 1 element a la posició 3
-eliminats = myFish.splice(3, 1);
-// myFish val ['angel', 'clown', 'drum', 'surgeon']
-// eliminats val ['mandarin']
-
-// myFish val ['angel', 'clown', 'drum', 'surgeon']
-// Eliminem 1 element a la posició 2, i inserim 'trumpet'
-eliminats = myFish.splice(2, 1, 'trumpet');
-// myFish val ['angel', 'clown', 'trumpet', 'surgeon']
-// eliminats val ['drum']
-
-// myFish val ['angel', 'clown', 'trumpet', 'surgeon']
-// eliminem 2 elements de la posició 0, i inserim 'parrot', 'anemone' i 'blue'
-eliminats = myFish.splice(0, 2, 'parrot', 'anemone', 'blue');
-// myFish val ['parrot', 'anemone', 'blue', 'trumpet', 'surgeon']
-// eliminats val ['angel', 'clown']
-
-// myFish val ['parrot', 'anemone', 'blue', 'trumpet', 'surgeon']
-// eliminem 2 elements de la posició 3
-eliminats = myFish.splice(myFish.length -3, 2);
-// myFish val ['parrot', 'anemone', 'surgeon']
-// eliminats val ['blue', 'trumpet']
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.12', 'Array.prototype.splice')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-array.prototype.splice', 'Array.prototype.splice')}}{{Spec2('ES6')}}
{{SpecName('ESDraft', '#sec-array.prototype.splice', 'Array.prototype.splice')}}{{Spec2('ESDraft')}}
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("1.0")}}{{CompatGeckoDesktop("1.7")}}{{CompatIE("5.5")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Compatibilitat amb versions anteriors

- -

A JavaScript 1.2 el mètode splice() retornava l'element eliminat si només s'havia eliminat un sol element (és a dir, si el valor del paràmetre comptadorEliminar era 1); en qualsevol altre cas retornava un array contenit els elements eliminats.

- -
-

Nota: L'últim navegador en utilitzar JavaScript 1.2 va ser el Netscape Navigator 4, així que podeu asumir que splice() sempre retornarà un array. Aquest és el cas quan un objecte JavaScript disposa de la propietat length i un mètode splice(),{{domxref("console.log()")}} el tracta com si fós un objecte array. Comprovar-ho amb instanceof Array retornarà false.

-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.push()", "push()")}} / {{jsxref("Array.prototype.pop()", "pop()")}} — afegir/eliminar elements del final d'un array
  • -
  • {{jsxref("Array.prototype.unshift()", "unshift()")}} / {{jsxref("Array.prototype.shift()", "shift()")}} — afegir/eliminar elements de l'inici d'un array
  • -
  • {{jsxref("Array.prototype.concat()", "concat()")}} — retorna un nou array format a partir d'aquest array i d'altres array(s) i/o valor(s)
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/boolean/index.html b/files/ca/web/javascript/referencia/objectes_globals/boolean/index.html deleted file mode 100644 index 83f2597df9..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/boolean/index.html +++ /dev/null @@ -1,196 +0,0 @@ ---- -title: Boolean -slug: Web/JavaScript/Referencia/Objectes_globals/Boolean -translation_of: Web/JavaScript/Reference/Global_Objects/Boolean ---- -
{{JSRef("Global_Objects", "Boolean")}}
- -

Resum

- -

L'objecte Boolean és un objecte que embolcalla valors booleans.

- -

Constructor

- -
new Boolean([valors])
- -

Paràmetres

- -
-
valors
-
Opcional. El valor inicial de l'objecte Boolean.
-
- -

Descripció

- -

El valor passat com a primer paràmetre es converteix a un valor booleà, en cas necesari. Si és omés o si és 0, -0, {{jsxref("Global_Objects/null", "null")}}, false, {{jsxref("Global_Objects/NaN", "NaN")}}, {{jsxref("Global_Objects/undefined", "undefined")}}, o la cadena de caràcters buida (""), l'objecte tindrà el valor inicial false. Tots els altres valors, incloent qualsevol objecte o la cadena de caràcters "false", crea un objecte amb el valor inicial de true.

- -

No confoneu els valors Boolean primitius true i false amb els valors true i false de l'objecte Boolean.

- -

Qualsevol objecte el valor del qual no sigui {{jsxref("Global_Objects/undefined", "undefined")}} o {{jsxref("Global_Objects/null", "null")}}, incloent un objecte de tipus Boolean el valor del qual sigui false, evalua a true quan es passa a una sentència condicional. Per exemple, la condició en la següent sentència {{jsxref("Statements/if...else", "if")}} evalua a true:

- -
x = new Boolean(false);
-if (x) {
-  // aquest codi s'executarà
-}
-
- -

Aquest comportament no s'aplica a les primitives de tipus booleà. Per exemple, la condició en la següent sentència {{jsxref("Statements/if...else", "if")}} evalua a false:

- -
x = false;
-if (x) {
-  // aquest codi no s'executarà
-}
-
- -

No creeu una instància de Boolean per a convertir un valor no booleà a un valor booleà. En comptes d'això utilitzeu Boolean com una funció per a realitzar aquesta tasca:

- -
x = Boolean(expression);     // utilitzar preferentment
-x = new Boolean(expression); // no ho utilitzeu
-
- -

Si s'especifica qualsevol objecte, inclòs un objecte Boolean el valor del qual sigui false, com a valor inicial per a un objecte Boolean, el nou objecte Boolean tindrà un valor de true.

- -
myFalse = new Boolean(false);   // valor inicial false
-g = new Boolean(myFalse);       // valor inicial true
-myString = new String('Hello'); // objecte de tipus String
-s = new Boolean(myString);      // valor inicial true
-
- -

No utilitzeu un objecte Boolean quan podríeu utilitzar un valor primitiu booleà.

- -

Propietats

- -
-
Boolean.length
-
La propietat Length retorna el valor de 1.
-
{{jsxref("Boolean.prototype")}}
-
Representa el prototip pel constructor Boolean.
-
- -

{{jsOverrides("Function", "Properties", "prototype")}}

- -

Mètodes

- -

L'objecte Boolean no té mètodes propis. Hereta, però, alguns mètodes a través de la cadena de prototipus:

- -
{{jsOverrides("Function", "Methods")}}
- -

Instàncies de Boolean

- -

Totes les instàncies de Boolean hereten de {{jsxref("Boolean.prototype")}}. Com tots els constructors, el prototipus de l'objecte dicta les propietats i mètodes que heretaran les instàncies.

- -

Propietats

- -
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/Boolean/prototype', 'Properties')}}
- -

Mètodes

- -
{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean/prototype', 'Methods')}}
- -

Exemples

- -

Exemple: Crear objectes Boolean amb un valor inicial de false

- -
var bNoParam = new Boolean();
-var bZero = new Boolean(0);
-var bNull = new Boolean(null);
-var bEmptyString = new Boolean('');
-var bfalse = new Boolean(false);
-
- -

Exemple: Crear objectes Boolean amb un valor inicial de true

- -
var btrue = new Boolean(true);
-var btrueString = new Boolean('true');
-var bfalseString = new Boolean('false');
-var bSuLin = new Boolean('Su Lin');
-var bArrayProto = new Boolean([]);
-var bObjProto = new Boolean({});
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.6', 'Boolean')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-boolean-objects', 'Boolean')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatIE("6.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/objectes_globals/boolean/prototype/index.html b/files/ca/web/javascript/referencia/objectes_globals/boolean/prototype/index.html deleted file mode 100644 index e0845eb102..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/boolean/prototype/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Boolean.prototype -slug: Web/JavaScript/Referencia/Objectes_globals/Boolean/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/Boolean -translation_of_original: Web/JavaScript/Reference/Global_Objects/Boolean/prototype ---- -
{{JSRef("Global_Objects", "Boolean")}}
- -

Resum

- -

La propietat Boolean.prototype representa el prototipus pel constructor {{jsxref("Global_Objects/Boolean", "Boolean")}}.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Les instàncies de {{jsxref("Global_Objects/Boolean", "Boolean")}} hereten de Boolean.prototype. Es pot emprar l'objecte prototipus del constructor per a afegir noves propietats o mètodes a totes les instàncies de {{jsxref("Global_Objects/Boolean", "Boolean")}}.

- -

Propietats

- -
-
Boolean.prototype.constructor
-
Retorna la funció que ha creat la instància del prototipus. Aquesta funció és {{jsxref("Global_Objects/Boolean", "Boolean")}} per defecte.
-
- -
{{jsOverrides("Object", "properties", "constructor")}}
- -

Mètodes

- -
-
{{jsxref("Boolean.prototype.toSource()")}} {{non-standard_inline}}
-
Retorna una cadena de caràcters que conté el codi fond de l'objecte {{jsxref("Global_Objects/Boolean", "Boolean")}}; aquesta pot utilitzar-se per a crear un objecte equivalent. Sobreescriu el mètode {{jsxref("Object.prototype.toSource()")}}.
-
{{jsxref("Boolean.prototype.toString()")}}
-
Retorna una cadena de caràcters que valdrà o bé "true" o bé "false", depenent del valor que l'objecte representi. Sobreescriu el mètode {{jsxref("Object.prototype.toString()")}}.
-
{{jsxref("Boolean.prototype.valueOf()")}}
-
Retorna el valor primitiu de l'objecte {{jsxref("Global_Objects/Boolean", "Boolean")}}. Sobreescriu el mètode {{jsxref("Object.prototype.valueOf()")}}.
-
- -
{{jsOverrides("Object", "methods", "toSource", "toString", "valueOf")}}
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.6.3.1', 'Boolean.prototype')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-boolean.prototype', 'Boolean.prototype')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
diff --git a/files/ca/web/javascript/referencia/objectes_globals/boolean/tosource/index.html b/files/ca/web/javascript/referencia/objectes_globals/boolean/tosource/index.html deleted file mode 100644 index 6b6a1b8b2b..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/boolean/tosource/index.html +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: Boolean.prototype.toSource() -slug: Web/JavaScript/Referencia/Objectes_globals/Boolean/toSource -translation_of: Web/JavaScript/Reference/Global_Objects/Boolean/toSource ---- -
{{JSRef("Objectes_standard", "Boolean")}} {{non-standard_header}}
- -

Resum

- -

El mètode toSource() retorna una cadena de caràcters que representa el codi font de l'objecte.

- -

Sintaxi

- -
booleanObj.toSource()
-Boolean.toSource()
- -

Paràmetres

- -

Cap.

- -

Descripció

- -

El mètode toSource retorna els valors següents:

- -
    -
  • Per a objectes {{jsxref("Objectes_standard/Boolean", "Boolean")}} de la implementació de JavaScript, toSource retorna la següent cadena de caràcters indicant que el codi font no està disponible: - -
    function Boolean() {
    -    [native code]
    -}
    -
    -
  • -
  • Per a instàncies de {{jsxref("Objectes_standard/Boolean", "Boolean")}}, toSource retorna una cadena de caràcters que representa el codi font.
  • -
- -

Aquest mètode normalment és utilitzat internament per JavaScript i no explícitament al codi.

- -

Especificacions

- -

No forma part de cap standard. Implementat a JavaScript 1.3.

- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Object.prototype.toSource()")}} {{non-standard_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/boolean/tostring/index.html b/files/ca/web/javascript/referencia/objectes_globals/boolean/tostring/index.html deleted file mode 100644 index 90da6cba3a..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/boolean/tostring/index.html +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Boolean.prototype.toString() -slug: Web/JavaScript/Referencia/Objectes_globals/Boolean/toString -translation_of: Web/JavaScript/Reference/Global_Objects/Boolean/toString ---- -
{{JSRef("Global_Objects", "Boolean")}}
- -

Resum

- -

El mètode toString() retorna una cadena de caràcters que representa l'objecte Boolean.

- -

Sintaxi

- -
bool.toString()
- -

Paràmetres

- -

Cap.

- -

Descripció

- -

L'objecte {{jsxref("Objectes_standard/Boolean", "Boolean")}} sobreescriu el mètode toString de l'objecte {{jsxref("Objectes_standard/Object", "Object")}}; no hereta {{jsxref("Object.prototype.toString()")}}. Per a objectes de tipus Boolean, el mètode toString retorna una cadena de caràcters que representa l'objecte.

- -

JavaScript crida el mètode toString de manera automàtica quan aquest ha de ser representat mitjançant text o bé quan un {{jsxref("Objectes_standard/Boolean", "Boolean")}} és referenciat en una concatenació de cadenes de caràcters.

- -

Per a objectes i valors de tipus {{jsxref("Objectes_standard/Boolean", "Boolean")}}, el mètode toString incorporat retorna la cadena de caràcters "true" o bé "false", depenent del valor de l'objecte booleà.

- -

Exemples

- -

Exemple: Utilitzar toString

- -

Al codi següent flag.toString() retorna "true":

- -
var flag = new Boolean(true);
-var myVar = flag.toString();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició. Implementat a JavaScript 1.1StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-15.6.4.2', 'Boolean.prototype.toString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-boolean.prototype.tostring', 'Boolean.prototype.toString')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Object.prototype.toString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/boolean/valueof/index.html b/files/ca/web/javascript/referencia/objectes_globals/boolean/valueof/index.html deleted file mode 100644 index f99fd3c6c0..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/boolean/valueof/index.html +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: Boolean.prototype.valueOf() -slug: Web/JavaScript/Referencia/Objectes_globals/Boolean/valueOf -translation_of: Web/JavaScript/Reference/Global_Objects/Boolean/valueOf ---- -
{{JSRef("Global_Objects", "Boolean")}}
- -

Resum

- -

El mètode valueOf() retorna el valor primitiu d'un objecte {{jsxref("Objectes_standard/Boolean", "Boolean")}}.

- -

Sintaxi

- -
bool.valueOf()
- -

Paràmetres

- -

Cap.

- -

Descripció

- -

El mètode valueOf pertanyent a {{jsxref("Objectes_standard/Boolean", "Boolean")}} retorna el valor primitiu d'un objecte o literal {{jsxref("Objectes_standard/Boolean", "Boolean")}} com a tipus de dada Boolean.

- -

Aquest mètode normalment és utilitzat internament per JavaScript i no explícitament als scripts.

- -

Exemples

- -

Exemple: Utilitzar valueOf

- -
x = new Boolean();
-myVar = x.valueOf(); // assigna false a myVar
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.6.4.3', 'Boolean.prototype.valueOf')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-boolean.prototype.valueof', 'Boolean.prototype.valueOf')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Object.prototype.valueOf()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getdate/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getdate/index.html deleted file mode 100644 index 16808aaae0..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getdate/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: Date.prototype.getDate() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getDate -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDate ---- -
{{JSRef}}
- -

El mètode getDate() retorna el dia del mes per a la data especificada segons l'hora local.

- -

Sintaxi

- -
objecteData.getDate()
- -

Paràmetres

- -

Cap.

- -

Valor retornat

- -

El valor retornat per getDate() és un nombre sencer entre 1 i 31.

- -

Exemples

- -

Utilitzar getDate()

- -

La segona sentència de l'exemple de sota assigna el valor 25 a la variable dia, basant-se en el valor de l'objecte {{jsxref("Date")}} nadal95.

- -
var nadal95 = new Date('December 25, 1995 23:15:30');
-var dia = nadal95.getDate();
-
-console.log(dia); // 25
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-date.prototype.getdate', 'Date.prototype.getDate')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-15.9.5.14', 'Date.prototype.getDate')}}{{Spec2('ES5.1')}} 
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCDate()")}}
  • -
  • {{jsxref("Date.prototype.getUTCDay()")}}
  • -
  • {{jsxref("Date.prototype.setDate()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getday/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getday/index.html deleted file mode 100644 index 244562c167..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getday/index.html +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Date.prototype.getDay() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getDay -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getDay ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getDay() retorna el dia de la setmana per a la data especificada, en temps local on 0 (zero) representa el Diumenge.

- -

Sintaxi

- -
dateObj.getDay()
- -

Paràmetres

- -

Cap.

- -

Retorna

- -

El valor retornat per getDay() és un nombre sencer que correspon al dia de la setmana tal i com es mostra a continuació: 0 és Diumenge, 1 és Dilluns, 2 és Dimarts, etcètera.

- -

Exemples

- -

Exemple: Utilitzar getDay()

- -

La segona sentència que trobareu a continuació asigna el valor 1 a la variable diaSetmana, basat en el valor de l'objecte {{jsxref("Global_Objects/Date", "Date")}} nadal95, que està inicialitzat amb la data d 25 de Desembre de 1995, és un Dilluns.

- -
var nadal95 = new Date('December 25, 1995 23:15:30');
-var diaSetmana = nadal95.getDay();
-
-console.log(diaSetmana); // 1
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.16', 'Date.prototype.getDay')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getday', 'Date.prototype.getDay')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCDate()")}}
  • -
  • {{jsxref("Date.prototype.getUTCDay()")}}
  • -
  • {{jsxref("Date.prototype.setDate()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getfullyear/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getfullyear/index.html deleted file mode 100644 index 94f14f4332..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getfullyear/index.html +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Date.prototype.getFullYear() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getFullYear -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getFullYear ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getFullYear() retorna l'any de la data especificada, en temps local.

- -

Utilitzeu aquest mètode en comptes de {{jsxref("Date.prototype.getYear()", "getYear()")}}.

- -

Sintaxi

- -
dateObj.getFullYear()
- -

Paràmetres

- -

Cap.

- -

Retorna

- -

El valor retornat per getFullYear() és un nombre absolut. Per a dates entre els anys 1000 i 9999, getFullYear() retorna un nombre de 4 dígits (1995, per exemple). Utilitzeu aquesta funció per a assegurar-vos d'obtindre un any compatible amb l'efecte 2000.

- -

Exemples

- -

Exemple: Utilitzar getFullYear()

- -

L'exemple següent assigna el valor de 4 dígits de l'any actual a la variable any.

- -
var avui = new Date();
-var any = avui.getFullYear();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.10', 'Date.prototype.getFullYear')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getfullyear', 'Date.prototype.getFullYear')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • -
  • {{jsxref("Date.prototype.setFullYear()")}}
  • -
  • {{jsxref("Date.prototype.getYear()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/gethours/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/gethours/index.html deleted file mode 100644 index 3848e96339..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/gethours/index.html +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Date.prototype.getHours() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getHours -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getHours ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getHours() retorna l'hora per a la data especificada, en temps local.

- -

Sintaxi

- -
dateObj.getHours()
- -

Paràmetres

- -

Cap.

- -

Retorna

- -

El valor retornat per getHours() és un nombre sencer entre 0 i 23.

- -

Exemples

- -

Exemple: Utilitzar getHours()

- -

La segona sentència que trobareu a continuació assigna el valor 23 a la variable hora, basant-se en l'objecte {{jsxref("Global_Objects/Date", "Date")}} nadal95.

- -
var nadal95 = new Date('December 25, 1995 23:15:30');
-var hora = nadal95.getHours();
-
-console.log(hora); // 23
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.18', 'Date.prototype.getHours')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.gethours', 'Date.prototype.getHours')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCHours()")}}
  • -
  • {{jsxref("Date.prototype.setHours()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getmilliseconds/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getmilliseconds/index.html deleted file mode 100644 index d438cf8cad..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getmilliseconds/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Date.prototype.getMilliseconds() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getMilliseconds -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMilliseconds ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getMilliseconds() retorna els milisegons de la data especificada d'acord a l'hora local.

- -

Sintaxi

- -
dateObj.getMilliseconds()
- -

Paràmetres

- -

Cap.

- -

Retorna

- -

El valor retornat per getMilliseconds() és un nombre entre 0 i 999.

- -

Exemples

- -

Exemple: Utilitzar getMilliseconds()

- -

L'exemple següent assigna la part de milisegons de l'hora actual a la variable milisegons:

- -
var avui = new Date();
-var milisegonds = avui.getMilliseconds();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.24', 'Date.prototype.getMilliseconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getmilliseconds', 'Date.prototype.getMilliseconds')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCMilliseconds()")}}
  • -
  • {{jsxref("Date.prototype.setMilliseconds()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getminutes/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getminutes/index.html deleted file mode 100644 index 3ae466d56d..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getminutes/index.html +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Date.prototype.getMinutes() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getMinutes -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMinutes ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getMinutes() retorna els minuts de la data especificada segons el temps local.

- -

Sintaxi

- -
dateObj.getMinutes()
- -

Paràmetres

- -

Cap.

- -

Retorna

- -

El valor retorna per getMinutes() és un nombre sencer entre 0 i 59.

- -

Exemples

- -

Exemple: Utilitzar getMinutes()

- -

La segona sentència de  sota assigna el valor 15 a la variable minuts, prenent el valor de l'objecte nadal95 de tipus {{jsxref("Global_Objects/Date", "Date")}}.

- -
var nadal95 = new Date('December 25, 1995 23:15:30');
-var minuts = nadal95.getMinutes();
-
-console.log(minuts); // 15
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.20', 'Date.prototype.getMinutes')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getminutes', 'Date.prototype.getMinutes')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCMinutes()")}}
  • -
  • {{jsxref("Date.prototype.setMinutes()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getmonth/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getmonth/index.html deleted file mode 100644 index 2631ebef9a..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getmonth/index.html +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Date.prototype.getMonth() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getMonth -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getMonth ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getMonth() retorna el mes de la data especificada d'acord al temps local, representat per un nombre a partir de zero (on zero indica el primer mes de l'any).

- -

Sintaxi

- -
dateObj.getMonth()
- -

Paràmetres

- -

Cap.

- -

Retorna

- -

El valor retornat per getMonth() és un nombre sencer entre 0 i 11. 0 correspon a gener, 1 a febrer, etcètera.

- -

Exemples

- -

Exemple: Utilitzar getMonth()

- -

La segona sentència de sota assigna el valor 11 a la variable mes, basada en el valor de l'objecte nadal95 de tipus {{jsxref("Global_Objects/Date", "Date")}}.

- -
var nadal95 = new Date('December 25, 1995 23:15:30');
-var mes = nadal95.getMonth();
-
-console.log(mes); // 11
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.12', 'Date.prototype.getMonth')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getmonth', 'Date.prototype.getMonth')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCMonth()")}}
  • -
  • {{jsxref("Date.prototype.setMonth()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getseconds/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getseconds/index.html deleted file mode 100644 index 790c62e3e9..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getseconds/index.html +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Date.prototype.getSeconds() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getSeconds -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getSeconds ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getSeconds() retorna els segons de la data especficada d'acord al temps local.

- -

Sintaxi

- -
dateObj.getSeconds()
- -

Paràmetres

- -

Cap.

- -

Retorna

- -

El valor retornat per getSeconds() és un sencer entre 0 i 59.

- -

Exemples

- -

Exemple: Utilitzar getSeconds()

- -

La segona sentència de sota assigna el valor 30 a la variable segons, basat en el valor de l'objecte nadal95, de tipus {{jsxref("Global_Objects/Date", "Date")}}.

- -
var nadal95 = new Date('December 25, 1995 23:15:30');
-var segons = nadal95.getSeconds();
-
-console.log(segons); // 30
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.22', 'Date.prototype.getSeconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getseconds', 'Date.prototype.getSeconds')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCSeconds()")}}
  • -
  • {{jsxref("Date.prototype.setSeconds()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/gettime/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/gettime/index.html deleted file mode 100644 index 20c45f31c5..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/gettime/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Date.prototype.getTime() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getTime -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getTime ---- -
{{JSRef}}
- -

El mètode getTime() retorna el valor numèric corresponent a l'hora per a la data especificada, d'acord al temps universal.

- -

Es pot emprar aquest mètode com a ajuda per a proporcionar una data i hora per a un altre objecte de tipus {{jsxref("Global_Objects/Date", "Date")}}. Aquest mètode és funcionalment equivalnet al mètode {{jsxref("Date.valueof", "valueOf()")}}.

- -

Sintaxi

- -
dateObj.getTime()
- -

Paràmetres

- -

Cap.

- -

Retorn

- -

El valor retornat pel mètode getTime() és el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC.

- -

Exemples

- -

Utilitzar getTime() per a obtindre dates

- -

Construïr un objecte date que representi el mateix moment.

- -
var aniversari = new Date(1994, 12, 10);
-var copia= new Date();
-copia.setTime(aniversari.getTime());
-
- -

Mesurar el temps d'execució

- -

Restar dos crides seguides de getTime() en objectes {{jsxref("Date")}} acabats de generar dóne el temps transcorregut entre les dues crides. Això pot ser emprat per a calcular el temps d'execució d'algunes operacions. Vegeu també {{jsxref("Date.now()")}} per a prevenir l'instanciació d'objectes {{jsxref("Date")}} innecesaris.

- -
var fi, inici;
-
-inici= new Date();
-for (var i = 0; i < 1000; i++) {
-  Math.sqrt(i);
-}
-fi = new Date();
-
-console.log("L'operació ha trigat " + (fi.getTime() - inici.getTime()) + ' ms');
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.9', 'Date.prototype.getTime')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.gettime', 'Date.prototype.getTime')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.setTime()")}}
  • -
  • {{jsxref("Date.prototype.valueOf()")}}
  • -
  • {{jsxref("Date.now()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/gettimezoneoffset/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/gettimezoneoffset/index.html deleted file mode 100644 index 8af4d6e9e8..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/gettimezoneoffset/index.html +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: Date.prototype.getTimezoneOffset() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getTimezoneOffset -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getTimezoneOffset() retorna la desviació de la zona horària a l'hora UTC, en minuts, per a la localizació en ús.

- -

Sintaxi

- -
dateObj.getTimezoneOffset()
- -

Paràmetres

- -

Cap.

- -

Retorn

- -

La desviació de la zona horària és la diferència, en minuts, entre UTC i l'hora local. Això comporta que la desviació serà positiva si l'hora local està per darrere de la UTC i negativa si està endevant. Per exemple, si la vostra zona horària és UTC+10 (Australian Eastern Standard Time), el mètode retornarà -600. L'horari d'estalvi d'energia (d'estiu) fa que aquest valor no sigui una constant, per a qualsevol localització.

- -

Exemples

- -

Exemple: Utilitzar getTimezoneOffset()

- -
var x = new Date();
-var currentTimeZoneOffsetInHours = x.getTimezoneOffset() / 60;
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.26', 'Date.prototype.getTimezoneOffset')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.gettimezoneoffset', 'Date.prototype.getTimezoneOffset')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getutcdate/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getutcdate/index.html deleted file mode 100644 index ee3a8b881f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getutcdate/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: Date.prototype.getUTCDate() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCDate -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCDate ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getUTCDate()retorna el dia del mes per a la data especificada, segons l'hora universal.

- -

Sintaxi

- -
dateObj.getUTCDate()
- -

Paràmetres

- -

Cap.

- -

Retorn

- -

El valor retornat per getUTCDate() és un nombre sencer entre 1 i 31.

- -

Exemples

- -

Exemple: Utilitzar getUTCDate()

- -

L'exemple següent assigna la part del dia de la data actual a la variable dia.

- -
var avui = new Date();
-var dia = avui.getUTCDate();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.15', 'Date.prototype.getUTCDate')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcdate', 'Date.prototype.getUTCDate')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getDate()")}}
  • -
  • {{jsxref("Date.prototype.getUTCDay()")}}
  • -
  • {{jsxref("Date.prototype.setUTCDate()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getutcday/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getutcday/index.html deleted file mode 100644 index b6f992f9a1..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getutcday/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: Date.prototype.getUTCDay() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCDay -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCDay ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getUTCDay() retorna el dia de la setmana de la data especificada segons l'hora universal, on 0 representa Diumenge.

- -

Sintaxi

- -
dateObj.getUTCDay()
- -

Paràmetres

- -

Cap.

- -

Retorn

- -

El valor retornat per  getUTCDay() és un nombre sencer que correspón al dia de la setmana: 0 per a Diumenge, 1 per a dilluns, 2 per a Dimarts, etcètera.

- -

Exemples

- -

Exemple: Utilitzar getUTCDay()

- -

L'exemple següent assigna el dia de la setmana de la data actual a la variable diaSetmana.

- -
var avui = new Date();
-var diaSetmana = avui.getUTCDay();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.17', 'Date.prototype.getUTCDay')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcday', 'Date.prototype.getUTCDay')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCDate()")}}
  • -
  • {{jsxref("Date.prototype.getDay()")}}
  • -
  • {{jsxref("Date.prototype.setUTCDate()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getutcfullyear/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getutcfullyear/index.html deleted file mode 100644 index 3ca1526e28..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getutcfullyear/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Date.prototype.getUTCFullYear() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCFullYear -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCFullYear ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getUTCFullYear() retorna l'any de la data especificada, segons el temps universal.

- -

Sintaxi

- -
dateObj.getUTCFullYear()
- -

Paràmetres

- -

Cap.

- -

Retorn

- -

El valor retornat per getUTCFullYear() és un nombre absolut que compleix amb any-2000, per exemple, 1995.

- -

Exemples

- -

Exemple: Utilitzar getUTCFullYear()

- -

L'exemple següent assigna el valor de 4 dígits de l'any actual a la variable any.

- -
var avui = new Date();
-var any = avui.getUTCFullYear();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.11', 'Date.prototype.getUTCFullYear')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcfullyear', 'Date.prototype.getUTCFullYear')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getFullYear()")}}
  • -
  • {{jsxref("Date.prototype.setFullYear()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getutchours/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getutchours/index.html deleted file mode 100644 index f575df92a1..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getutchours/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Date.prototype.getUTCHours() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCHours -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCHours ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getUTCHours() retorna les hores especificades a la data, d'acord l'hora universal.

- -

Sintaxi

- -
dateObj.getUTCHours()
- -

Paràmetres

- -

Cap.

- -

Retorn

- -

El valor retornat per getUTCHours() és un nombre sencer entre 0 i 23.

- -

Exemples

- -

Exemple: Utilitzar getUTCHours()

- -

L'exemple següent assigna la part de les hores de la data actual a la variable hora.

- -
var avui = new Date();
-var hora = avui.getUTCHours();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.19', 'Date.prototype.getUTCHours')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutchours', 'Date.prototype.getUTCHours')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getHours()")}}
  • -
  • {{jsxref("Date.prototype.setUTCHours()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getutcmilliseconds/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getutcmilliseconds/index.html deleted file mode 100644 index d09ac5bded..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getutcmilliseconds/index.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Date.prototype.getUTCMilliseconds() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCMilliseconds -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCMilliseconds ---- -
{{JSRef}}
- -

El mètode getUTCMilliseconds() retorna els milisegons de la data especificada, d'acord al temps universal.

- -

Sintaxi

- -
objecteData.getUTCMilliseconds()
- -

Paràmetres

- -

Cap.

- -

Valor retornat

- -

El valor retorna per getUTCMilliseconds() és un nombre sencer entre 0 i 999.

- -

Exemples

- -

Utilitzar getUTCMilliseconds()

- -

L'exemple següent assigna la porció de milisegons del temps actual a la variable milisegons.

- -
var avui = new Date();
-var milisegons = avui.getUTCMilliseconds();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.25', 'Date.prototype.getUTCMilliseconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcmilliseconds', 'Date.prototype.getUTCMilliseconds')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getMilliseconds()")}}
  • -
  • {{jsxref("Date.prototype.setUTCMilliseconds()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getutcminutes/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getutcminutes/index.html deleted file mode 100644 index e18a13c52f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getutcminutes/index.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Date.prototype.getUTCMinutes() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCMinutes -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCMinutes ---- -
{{JSRef}}
- -

El mètode getUTCMinutes() retorna els minuts de la data especificada en temps universal.

- -

Sintaxi

- -
objecteData.getUTCMinutes()
- -

Paràmetres

- -

Cap.

- -

Valor a retornar

- -

El valor retornat per getUTCMinutes() és un nombre sencer entre 0 i 59.

- -

Exemples

- -

Utilitzar getUTCMinutes()

- -

L'exemple següent assigna la part de minuts del temps actual a la variable minuts.

- -
var avui = new Date();
-var minuts = avui.getUTCMinutes();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.21', 'Date.prototype.getUTCMinutes')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcminutes', 'Date.prototype.getUTCMinutes')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getMinutes()")}}
  • -
  • {{jsxref("Date.prototype.setUTCMinutes()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getutcmonth/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getutcmonth/index.html deleted file mode 100644 index 48ba78349b..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getutcmonth/index.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Date.prototype.getUTCMonth() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCMonth -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCMonth ---- -
{{JSRef}}
- -

El mètode getUTCMonth() retorna el mes de la data especificada d'acord al temps universal, com a valor basat en zero (on zero indica el primer mes de l'any.

- -

Sintaxi

- -
objecteData.getUTCMonth()
- -

Paràmetres

- -

Cap.

- -

Valor retornat

- -

El valor retornat per getUTCMonth() és un nombre sencer entre 0 i 11 corresponent al mes. 0 per al gener, 1 per al febrer, 2 per al març, etcètera.

- -

Exemples

- -

Utilitzar getUTCMonth()

- -

L'exemple següent assigna la part de la data actual corresponent al mes a la variable mes.

- -
var avui = new Date();
-var mes = mes.getUTCMonth();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.13', 'Date.prototype.getUTCMonth')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcmonth', 'Date.prototype.getUTCMonth')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getMonth()")}}
  • -
  • {{jsxref("Date.prototype.setUTCMonth()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getutcseconds/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getutcseconds/index.html deleted file mode 100644 index 1f69ca8199..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getutcseconds/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Date.prototype.getUTCSeconds() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getUTCSeconds -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getUTCSeconds ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode getUTCSeconds() retorna els segons a la data especificada, segons l'hora universal.

- -

Sintaxi

- -
dateObj.getUTCSeconds()
- -

Paràmetres

- -

Cap.

- -

Retorna

- -

El valor retornat per getUTCSeconds() és un nombre sencer entre 0 i 59.

- -

Exemples

- -

Exemple: Utilitzar getUTCSeconds()

- -

L'exemple següent assigna la porció de segons del temps actual a la variable segons.

- -
var avui = new Date();
-var segons = avui.getUTCSeconds();
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.23', 'Date.prototype.getUTCSeconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.getutcseconds', 'Date.prototype.getUTCSeconds')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getSeconds()")}}
  • -
  • {{jsxref("Date.prototype.setUTCSeconds()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/getyear/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/getyear/index.html deleted file mode 100644 index 8724b2e03b..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/getyear/index.html +++ /dev/null @@ -1,162 +0,0 @@ ---- -title: Date.prototype.getYear() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/getYear -translation_of: Web/JavaScript/Reference/Global_Objects/Date/getYear ---- -
{{JSRef("Global_Objects", "Date")}} {{deprecated_header}}
- -

Resum

- -

El mètode getYear() retorna l'any de la data especificada segons l'hora local. Com que getYear() no retorna anys sencers ("el problema de l'any 2000"), no s'utilitza més i s'ha substituït pel mètode {{jsxref("Date.prototype.getFullYear", "getFullYear()")}}.

- -

Sintaxi

- -
dateObj.getYear()
- -

Paràmetres

- -

Cap.

- -

Retorna

- -

El mètode getYear() retorna l'any menys el valor 1900; és a dir:

- -
    -
  • Per a anys majors o iguals a 2000, el valor retornat per getYear() és 100 o major. Per exemple, si l'any és el 2026, getYear() retorna 126.
  • -
  • Per a anys entre 1900 i 1999 (ambdós inclosos), el valor retornat per getYear() roman entre 0 i 99. Per exemple, per a l'any 1976 getYear() retorna 76.
  • -
  • Per a anys menors que 1900, el valor retornat per getYear() és menor que zero. Per exemple, per a l'any 1800, getYear() retorna -100.
  • -
- -

Per a tenir en compte anys abans o deprés del 2000 es recomana utilitzar {{jsxref("Date.prototype.getFullYear", "getFullYear()")}} en comptes de getYear() ja que retorna l'any sencer.

- -

Compatibilitat amb versions anteriors

- -

Comportament en JavaScript 1.2 i anteriors

- -

El mètode getYear() retorna o bé un any amb dos dígits o bé un any amb 4 dígits:

- -
    -
  • Per a anys entre 1900 i 1999 (ambdos inclosos) el valor retornat és l'any menys 1900. Per exemple, per a l'any 1976 el valor retornat és 76.
  • -
  • Per a anys menors que 1900 o majors que 1999 el valor retornat per getYear() és l'any amb 4 dígits. Per exemple, per a l'any 1856 el valor retornat és 1856. Per a l'any 2026 el valor retornat és 2026.
  • -
- -

Exemples

- -

Exemple: Anys entre1900 i 1999

- -

La segona sentència assigna el valor 95 a la variable any.

- -
var nadal = new Date('December 25, 1995 23:15:00');
-var any = nadal.getYear(); // retorna 95
-
- -

Exemple: Anys majors que 1999

- -

La segona sentència assigna el valor 100 a la variable any.

- -
var nadal = new Date('December 25, 2000 23:15:00');
-var any = Xmas.getYear(); // retorna 100
-
- -

Exemple: Anys menors que 1900

- -

La segona sentència assigna el valor -100 a la variable any.

- -
var nadal = new Date('December 25, 1800 23:15:00');
-var any = nadal.getYear(); // retorna -100
-
- -

Exemple: Assignar i obtenir un any entre1900 i 1999

- -

La segona sentència assigna el valor 95 a la variable any, que representa l'any 1995.

- -
var nadal.setYear(95);
-var any = nadal.getYear(); // retorna 95
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-B.2.4', 'Date.prototype.getYear')}}{{Spec2('ES5.1')}}Definit a l'annex de compatibilitat (amb caràcter informatiu).
{{SpecName('ES6', '#sec-date.prototype.getyear', 'Date.prototype.getYear')}}{{Spec2('ES6')}}Definit a l'annex de característiques adicionals per a navegadors web (amb caràcter normatiu).
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getFullYear()")}}
  • -
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • -
  • {{jsxref("Date.prototype.setYear()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/index.html deleted file mode 100644 index 3fb5a9368d..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/index.html +++ /dev/null @@ -1,250 +0,0 @@ ---- -title: Date -slug: Web/JavaScript/Referencia/Objectes_globals/Date -translation_of: Web/JavaScript/Reference/Global_Objects/Date ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

Crea una instància de tipus Date de JavaScript, que representa un únic moment en el temps. Els objectes de tipus Date es basen en un valor de temps que mesura el nombre de milisegons que han passat des de l'u de gener de 1970 UTC.

- -

Constructor

- -
new Date();
-new Date(valor);
-new Date(dataString);
-new Date(any, mes[, dia[, hora[, minuts[, segons[, milisegons]]]]]);
-
- -
-

Nota: Els objectes Date de JavaScript només poden ser instanciats cridant Date com a constructor: Si es crida la funció com una funció normal (és a dir, sense l'operador {{jsxref("Operators/new", "new")}}), aquesta retornarà una string en comptes d'un objecte de tipus Date; al contrari que altres tipus d'objectes JavaScript, els objectes de JavaScript de tipus Date no poden ser representats com a literals.

-
- -

Paràmetres

- -
-

Nota: Quan es crida Date com a constructor amb més d'un argument, si els valors són més grans que el seu rang lògic (per exemple, si es passa 13 com a valor pel mes o 70 com a valor de minuts), Date ajusta el valor adjacent. Per exemple, new Date(2013, 13, 1) és equivalent a new Date(2014, 1, 1), ambdós creen un objecte de tipus Date que representa 2014-02-01 (cal destacar que els mesos es comencen a contar des de zero). El mateix s'aplica per a altres valors: new Date(2013, 2, 1, 0, 70) és equivalent a new Date(2013, 2, 1, 1, 10) i ambdós representen 2013-03-01T01:10:00.

-
- -
-

Nota: Quan es crida Date com a constructor amb més d'un argument, els arguments especificats representen l'hora local. Si es pretèn passar valors UTC, utilitzeu new Date({{jsxref("Date.UTC()", "Date.UTC(...)")}}) amb aquests arguments.

-
- -
-
valor
-
Nombre sencer que representa el nombre de milisegons des de l'1 de gener de 1970 00:00:00 UTC (Època UNIX).
-
dataString
-
Valor String que representa una data. La String ha d'estar en un format reconegut pel mètode {{jsxref("Date.parse()")}} (Marques de temps RFC 2822 compatibles amb el IETF o bé una versió de la ISO8601).
-
any
-
Valor sencer que representa un any. Els valors des de 0 a 99 representen els anys des de 1900 a 1999. Vegeu l'{{anch("Example:_Two_digit_years_map_to_1900_-_1999", "exemple a continuació")}}.
-
mes
-
Valor sencer que representa un mes, començant per zero com a gener i acabant amb 11 com a desembre.
-
dia
-
Opcional. Valor sencer que representa el dia del mes.
-
hora
-
Opcional. Valor sencer que representa l'hora del dia.
-
minut
-
Opcional. Valor sencer que representa els minuts d'un segment de temps.
-
segon
-
Opcional. Valor sencer que representa els segons d'un segment de temps.
-
milisegons
-
Opcional. Valor sencer que representa els milisegons d'un segment de temps.
-
- -

Descripció

- -
    -
  • Si no es proporciona cap argument, el constructor crea un objecte de JavaScript de tipus Date i l'inicialitza amb l'hora actual proporcionada pel sistema.
  • -
  • Si es proporcionen al menys dos arguments, els arguments no proporcionats es consideren o bé 1 (si no s'especifica el dia) o bé 0 per a tots els altres.
  • -
  • L'hora de JavaScript es basa en els milisegons que han passat des de la mitja nit de l'1 de gener de 1970 UTC. Un dia té 86.400.000 milisegons. El rang de l'objecte de JavaScript Date és de -100.000.000 dies a 100.000.000 dies relatius a l'1 de gener de 1970 UTC.
  • -
  • L'objecte de JavaScript Date proporciona el mateix comportament a totes les plataformes on s'utilitzi. El valor de temps es pot passar entre sistemes per a representar el mateix moment del temps i si s'utilitza per a crear un objecte que contingui l'hora local, aquest objecte representarà l'equivalent al temps local.
  • -
  • Alguns dels mètodes de l'objecte de JavaScript Date soporten temps en UTC (universal) i temps local. UTC, també conegut com a Greenwhich Mean Time (GMT), fa referència al temps marcat pel World Time Standard. El temps local és el temps proporcionat per l'ordinador on s'executa el JavaScript.
  • -
  • Si s'invoca la funció de JavaScript Date com una funció (és a dir, sense l'operador {{jsxref("Operators/new", "new")}}), aquesta retornarà una string representant la data i hora actual.
  • -
- -

Propietats

- -
-
{{jsxref("Date.prototype")}}
-
Permet afegir propietats a l'objecte de JavaScript Date.
-
Date.length
-
El valor de Date.length és 7. Aquest és el nombre de arguments que el constructor accepta.
-
- -
{{jsOverrides("Function", "properties", "prototype")}}
- -

Mètodes

- -
-
{{jsxref("Date.now()")}}
-
Retorna el valor numèric corresponent al temps actual - el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC.
-
{{jsxref("Date.parse()")}}
-
Interpreta un string que representa una data i retorna el nombre de milisegons des de l'1 de gener de 1970 00:00:00 UTC.
-
{{jsxref("Date.UTC()")}}
-
Accepta els mateixos paràmetres que el constructor (és a dir, de 2 a 7) i retorna le nombre de milisegons des de l'1 de gener de 1970 00:00:00 UTC.
-
- -
{{jsOverrides("Function", "Methods", "now", "parse", "UTC")}}
- -

Instàncies de JavaScript Date

- -

Totes les instàncies de Date hereten de {{jsxref("Date.prototype")}}. L'objecte prototipus del constructor Date pot ser modificat per a afectar a totes les instàncies de Date.

- -

Mètodes de Date.prototype

- -
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/Date/prototype', 'Methods')}}
- -

Exemples

- -

Exemple: Vàries formes de crear un objecte de tipus Date

- -

Els següents exemples mostren diverses maneres de crear dates a JavaScript:

- -
var today = new Date();
-var birthday = new Date('December 17, 1995 03:24:00');
-var birthday = new Date('1995-12-17T03:24:00');
-var birthday = new Date(1995, 11, 17);
-var birthday = new Date(1995, 11, 17, 3, 24, 0);
-
- -

Exemple: Dos dígits per representar els anys 1900 a 1999

- -

Per a crear i obtindre dates entre els anys 0 i 99 es recomana emprar els mètodes {{jsxref("Date.prototype.setFullYear()")}} i {{jsxref("Date.prototype.getFullYear()")}}.

- -
var date = new Date(98, 1); // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
-
-// Deprecated method, 98 maps to 1998 here as well
-date.setYear(98);           // Sun Feb 01 1998 00:00:00 GMT+0000 (GMT)
-
-date.setFullYear(98);       // Sat Feb 01 0098 00:00:00 GMT+0000 (BST)
-
- -

Exemple: Calcular el temps passat

- -

Els exemples següents mostren com determinar el temps passat entre dues dates a JavaScript:

- -
// utilitzant objectes Date
-var start = Date.now();
-
-// L'event a cronometra va aquí:
-doSomethingForALongTime();
-var end = Date.now();
-var elapsed = end - start; // temps transcorregut en milisegons
-
- -
// utilitzant mètodes que formen part del sistema
-var start = new Date();
-
-// the event to time goes here:
-doSomethingForALongTime();
-var end = new Date();
-var elapsed = end.getTime() - start.getTime(); // temps transcorregut en milisegons
-
- -
// cronometra una funció i retorna el que retorni
-function printElapsedTime(fTest) {
-  var nStartTime = Date.now(),
-      vReturn = fTest(),
-      nEndTime = Date.now();
-
-  console.log('Temps transcorregut: ' + String(nEndTime - nStartTime) + ' miliseconds');
-  return vReturn;
-}
-
-yourFunctionReturn = printElapsedTime(yourFunction);
-
- -
-

Nota: En navegadors que suporten la característica de temps en alta resolució de la {{domxref("window.performance", "API d'Alt Rendiment Web", "", 1)}}, {{domxref("Performance.now()")}} pot proporcionar mesures de temps més concises i fiables pel temps transcorregut que {{jsxref("Date.now()")}}.

-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.9', 'Date')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date-objects', 'Date')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Informes de compatiblitat amb navegadors

- - - -

Notes específiques de Internet Explorer

- -

Internet Explorer 8 no suporta el format de dates ISO8601.

diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/now/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/now/index.html deleted file mode 100644 index c3ef05fa86..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/now/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: Date.now() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/now -translation_of: Web/JavaScript/Reference/Global_Objects/Date/now ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

El mètode Date.now() retorna el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC.

- -

Sintaxi

- -
var timeInMs = Date.now();
- -

Paràmetres

- -

Cap.

- -

Descripció

- -

El mètode now() retorna el nombre de method returns el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC fins al moment actual representat en un  {{jsxref("Global_Objects/Number", "Nombre")}}.

- -

Com que now() és un mètode estàtic de {{jsxref("Global_Objects/Date", "Date")}}, sempre es crida com a Date.now().

- -

Polyfill

- -

Aquest mètode va ser estandaritzat a la cinquena edició de l'ECMA-262. Els motors que encara no hagin sigut actualitzats per a suportar aquest mètode poden utilitzar el bocí de codi següent per a paliar l'absència d'aquest mètode:

- -
if (!Date.now) {
-  Date.now = function now() {
-    return new Date().getTime();
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.9.4.4', 'Date.now')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.5.
{{SpecName('ES6', '#sec-date.now', 'Date.now')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterístiquesChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("5")}}{{CompatGeckoDesktop("1.9")}}{{CompatIE("9")}}{{CompatOpera("10.50")}}{{CompatSafari("4")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterístiquesAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
- - - - - - -
Suport bàsic
-
{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Basat en la  taula de compatibilitat de Kangax.

- -

Vegeu també

- -
    -
  • {{domxref("Performance.now()")}} — proporciona marques de temps amb una resolució submilimètrica per a utilitzar al mesurar el rendiment de pàgines web
  • -
  • {{domxref("console.time()")}} / {{domxref("console.timeEnd()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/prototype/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/prototype/index.html deleted file mode 100644 index 91e2dff38f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/prototype/index.html +++ /dev/null @@ -1,222 +0,0 @@ ---- -title: Date.prototype -slug: Web/JavaScript/Referencia/Objectes_globals/Date/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/Date -translation_of_original: Web/JavaScript/Reference/Global_Objects/Date/prototype ---- -
{{JSRef("Global_Objects", "Date")}}
- -

Resum

- -

La propietat Date.prototype representa el prototipus per al constructor {{jsxref("Global_Objects/Date", "Date")}}.

- -
{{js_property_attributes(0, 0, 1)}}
- -

Descripció

- -

Les instàncies de JavaScript de {{jsxref("Global_Objects/Date", "Date")}} hereten de Date.prototype. L'objecte prototipus del constructor pot modificar-se per a afectar a les propietats i mètodes heretats per les instàncies de {{jsxref("Global_Objects/Date", "Date")}}.

- -

Per a compatibilitat amb càlculs amb milenis (en altres paraules, per a tindre en compte l'any 2000), sempre s'hauria d'especificar l'any sencer, per exemple, 1998, en comptes de 98. Per a ajudar a proveïr l'any sencer JavaScript inclou els mètodes {{jsxref("Date.prototype.getFullYear()", "getFullYear()")}}, {{jsxref("Date.prototype.setFullYear()", "setFullYear()")}}, {{jsxref("Date.prototype.getUTCFullYear()", "getUTCFullYear()")}} i {{jsxref("Date.prototype.setUTCFullYear()", "setUTCFullYear()")}}.

- -

Propietats

- -
-
Date.prototype.constructor
-
Retorna la funció que va crear la instància. És a dir, per defecte el constructor {{jsxref("Global_Objects/Date", "Date")}}.
-
- -
{{jsOverrides("Object", "properties", "constructor")}}
- -

Mètodes

- -

Getter

- -
-
{{jsxref("Date.prototype.getDate()")}}
-
Retorna el dia del mes (1-31) per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.getDay()")}}
-
Retorna el dia de la setmana (0-6) per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.getFullYear()")}}
-
Retorna l'any (4 digits per a anys de 4 digits) per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.getHours()")}}
-
Retorna l'hora (0-23) per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.getMilliseconds()")}}
-
Retorna els milisegons (0-999) per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.getMinutes()")}}
-
Retorna els minuts (0-59) per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.getMonth()")}}
-
Retorna el mes (0-11) per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.getSeconds()")}}
-
Retorna els segons (0-59) per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.getTime()")}}
-
Retorna un valor numèric per a la data especificada que representa la data especificada com al nombre de milisegons que han passat des de l'1 de gener de 1970, 00:00:00 UTC (negatiu per a dates anteriors).
-
{{jsxref("Date.prototype.getTimezoneOffset()")}}
-
Retorna la diferència d'ús horari en minuts del temps local.
-
{{jsxref("Date.prototype.getUTCDate()")}}
-
Retorna el dia del mes (1-31) per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.getUTCDay()")}}
-
Retorna el dia de la setmana (0-6) per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.getUTCFullYear()")}}
-
Retorna l'any (4 digits per a anys de 4 digits) per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.getUTCHours()")}}
-
Retorna l'hora (0-23) per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.getUTCMilliseconds()")}}
-
Retorna els milisegons (0-999) per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.getUTCMinutes()")}}
-
Retorna els minuts (0-59) per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.getUTCMonth()")}}
-
Retorna el mes (0-11) per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.getUTCSeconds()")}}
-
Retorna els segons (0-59) per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.getYear()")}} {{deprecated_inline}}
-
Retorna l'any (normalment 2-3 digits) per a la data especificada, en temps local. En comptes d'aquest mètode, utilitzeu  {{jsxref("Date.prototype.getFullYear()", "getFullYear()")}}.
-
- -

Setter

- -
-
{{jsxref("Date.prototype.setDate()")}}
-
Assigna el dia del mes per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.setFullYear()")}}
-
Assigna l'any sencer (és a dir, de 4 digits per a un any amb 4 digits) per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.setHours()")}}
-
Assigna l'hora per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.setMilliseconds()")}}
-
Assigna els milisegons per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.setMinutes()")}}
-
Assigna els minuts per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.setMonth()")}}
-
Assigna el mes per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.setSeconds()")}}
-
Assigna els segons per a la data especificada, en temps local.
-
{{jsxref("Date.prototype.setTime()")}}
-
Assigna la data que representarà la instància de l'objecte {{jsxref("Global_Objects/Date", "Date")}} al temps representat pel nombre de milisegons passats des de l'1 de gener de 1970, 00:00:00 UTC. Permet nombres negatius per a temps anteriors a aquesta data.
-
{{jsxref("Date.prototype.setUTCDate()")}}
-
Assigna el dia del mes per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.setUTCFullYear()")}}
-
Assigna l'any sencer (és a dir, 4 digits per a anys de 4 digits) per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.setUTCHours()")}}
-
Assigna l'hora per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.setUTCMilliseconds()")}}
-
Assigna els milisegons per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.setUTCMinutes()")}}
-
Assigna els minuts per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.setUTCMonth()")}}
-
Assigna el mes per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.setUTCSeconds()")}}
-
Assigna els segons per a la data especificada en temps universal (UTC).
-
{{jsxref("Date.prototype.setYear()")}} {{deprecated_inline}}
-
Assigna l'any (normalment 2-3 digits) per a la data especificada en temps local. Utilitzeu {{jsxref("Date.prototype.setFullYear()", "setFullYear()")}} en comptes d'aquest mètode.
-
- -

Getters amb conversió

- -
-
{{jsxref("Date.prototype.toDateString()")}}
-
Retorna la part part de data de {{jsxref("Global_Objects/Date", "Date")}} com a string inteligible per humans.
-
{{jsxref("Date.prototype.toISOString()")}}
-
Converteix una data a un string seguint el Format Extés del ISO 8601.
-
{{jsxref("Date.prototype.toJSON()")}}
-
Retorna un string que representa l'objecte {{jsxref("Global_Objects/Date", "Date")}} utilitzant  {{jsxref("Date.prototype.toISOString()", "toISOString()")}}. Ideat per a ser usat per {{jsxref("JSON.stringify()")}}.
-
{{jsxref("Date.prototype.toGMTString()")}} {{deprecated_inline}}
-
Retorna un string que representa l'objecte {{jsxref("Global_Objects/Date", "Date")}} basat en la zona horària GMT (UT). Utilitzeu {{jsxref("Date.prototype.toUTCString()", "toUTCString()")}} en comptes d'aquest mètode.
-
{{jsxref("Date.prototype.toLocaleDateString()")}}
-
Retorna un string que representa la part de la data amb temps local, basat en la configuració del sistema.
-
{{jsxref("Date.prototype.toLocaleFormat()")}} {{non-standard_inline}}
-
Converteix una data a string tot utilitzant un format string.
-
{{jsxref("Date.prototype.toLocaleString()")}}
-
Retorna un string que representa la data tenint en compte el temps local. Sobreescriu el mètode {{jsxref("Object.prototype.toLocaleString()")}}.
-
{{jsxref("Date.prototype.toLocaleTimeString()")}}
-
Retorna un string que representa la part de temps de la data local basada en la configuració del sistema.
-
{{jsxref("Date.prototype.toSource()")}} {{non-standard_inline}}
-
Retorna un string que representa el codi font per a un objecte {{jsxref("Global_Objects/Date", "Date")}} equivalent; aquest valor pot emprar-se per a crear un nou objecte. Sobreescriu el mètode {{jsxref("Object.prototype.toSource()")}}.
-
{{jsxref("Date.prototype.toString()")}}
-
Retorna un string que representa l'objecte {{jsxref("Global_Objects/Date", "Date")}} especificat. Sobreescriu el mètode {{jsxref("Object.prototype.toString()")}}.
-
{{jsxref("Date.prototype.toTimeString()")}}
-
Retorna la part de temps de l'objecte {{jsxref("Global_Objects/Date", "Date")}} com a string comprensible per humans.
-
{{jsxref("Date.prototype.toUTCString()")}}
-
Converteix una data a un string utilitzant la zona horària UTC.
-
{{jsxref("Date.prototype.valueOf()")}}
-
Retorna el valor primitiu d'un objecte {{jsxref("Global_Objects/Date", "Date")}}. Sobreescriu el mètode {{jsxref("Object.prototype.valueOf()")}}.
-
- -
{{jsOverrides("Object", "methods", "getDate", "getDay", "getFullYear", "getHours", "getMilliseconds", "getMinutes", "getMonth", "getSeconds", "getTime", "getTimezoneOffset", "getUTCDate", "getUTCDay", "getUTCFullYear", "getUTCHours", "getUTCMilliseconds", "getUTCMinutes", "getUTCMonth", "getUTCSeconds", "getYear", "setdate", "setFullYear", "setHours", "setMilliseconds", "setMinutes", "setMontth", "setSeconds", "setTime", "setUTCDate", "setUTCFullYear", "setUTCHours", "setUTCMilliseconds", "setUTCMinutes", "setUTCMonth", "setUTCSeconds", "setYear", "toDateString", "toGMTString", "toLocaleDateString", "toLocaleFormat", "toLocaleString", "toLocaleTimeString", "toSource", "toString", "toTimeString", "toUTCString", "valueOf")}}
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.9.5', 'Date.prototype')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-properties-of-the-date-prototype-object', 'Date.prototype')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setdate/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setdate/index.html deleted file mode 100644 index 746de134fe..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setdate/index.html +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: Date.prototype.setDate() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setDate -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setDate ---- -
{{JSRef}}
- -

El mètode setDate() assigna el dia de l'objecte {{jsxref("Date")}} relatiu al principi del mes assignat en aquell moment.

- -

Sintaxi

- -
objecteData.setDate(dia)
- -

Paràmetres

- -
-
dia
-
Un nombre sencer que representa el dia del mes.
-
- -

Valor retornat

- -

El valor retornat per setDate() és el nombre de milisegons que han passat des de l'ú de gener de 1970 00:00:00 UTC de la data resultant (l'objecte {{jsxref("Date")}} també canvia).

- -

Descripció

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setDate() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 0 com a dia, la data representarà l'últim dia del mes anterior.

- -

Exemples

- -

Utilitzar setDate()

- -
var elGranDia = new Date(1962, 6, 7); // 1962-07-07
-elGranDia.setDate(24);  // 1962-07-24
-elGranDia.setDate(32);  // 1962-08-01
-elGranDia.setDate(22);  // 1962-08-22
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.36', 'Date.prototype.setDate')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setdate', 'Date.prototype.setDate')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getDate()")}}
  • -
  • {{jsxref("Date.prototype.setUTCDate()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setfullyear/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setfullyear/index.html deleted file mode 100644 index c29d56ca4e..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setfullyear/index.html +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Date.prototype.setFullYear() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setFullYear -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setFullYear ---- -
{{JSRef}}
- -

El mètode setFullYear() assigna l'any sencerr per a la data especificada, d'acord a l'hora local. Retorna una nova marca de temps.

- -

Sintaxi

- -
objecteData.setFullYear(any[, mes[, dia]])
- -

Paràmetres

- -
-
any
-
Un nombre sencer que representa el valor numèric de l'any, per exemple, 1995.
-
mes
-
Un nombre sencer entre 0 i 11 que representa el mes.
-
dia
-
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes.
-
- -

Valor retornat

- -

Una nova marca de temps amb el valor de l'objecte actual.

- -

Descripció

- -

Si no s'especifica el paràmetre dia s'utilitza el valor retornat pels mètodes {{jsxref("Date.prototype.getMonth()", "getMonth()")}} i {{jsxref("Date.prototype.getDate()", "getDate()")}}.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode UTC() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

- -

Exemples

- -

Utilitzar setFullYear()

- -
var elGranDia = new Date();
-elGranDia.setFullYear(1997);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.40', 'Date.prototype.setFullYear')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setfullyear', 'Date.prototype.setFullYear')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • -
  • {{jsxref("Date.prototype.setUTCFullYear()")}}
  • -
  • {{jsxref("Date.prototype.setYear()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/sethours/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/sethours/index.html deleted file mode 100644 index 7f660ba344..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/sethours/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Date.prototype.setHours() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setHours -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setHours ---- -
{{JSRef}}
- -

El mètode setHours() assigna l'hora per a una data especificada d'acord a l'hora local, i retorna el nombre de milisegons que han passat des de l'u de gener de 1970 00:00:00 UTC fins al temps representat per la instància de {{jsxref("Date")}} actualitzada.

- -

Sintaxi

- -
objecteData.setHours(hores[, minuts[, segons[, milisegons]]])
- -

Versions anteriors a JavaScript 1.3

- -
objecteData.setHours(hores)
- -

Paràmetres

- -
-
hores
-
Un nombre sencer entre 0 i 23, que representa l'hora.
-
minuts
-
Opcional. Un nombre sencer entre 0 i 59 que representa els minuts.
-
segons
-
Opcional. Un nombre sencer entre 0 i 59 que representa els segons.
-
milisegons
-
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
-
- -

Descripció

- -

Si no s'especifiquen els paràmetres minuts, segons i milisegons s'utilitzen els valors retornats per {{jsxref("Date.prototype.getMinutes()", "getMinutes()")}}, {{jsxref("Date.prototype.getSeconds()", "getSeconds()")}} i {{jsxref("Date.prototype.getMilliseconds()", "getMilliseconds()")}}.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setHours() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

- -

Exemples

- -

Utilitzar setHours()

- -
var elGranDia = new Date();
-elGranDia.setHours(7);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.34', 'Date.prototype.setHours')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.sethours', 'Date.prototype.setHours')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getHours()")}}
  • -
  • {{jsxref("Date.prototype.setUTCHours()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setmilliseconds/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setmilliseconds/index.html deleted file mode 100644 index 53dc451ad4..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setmilliseconds/index.html +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: Date.prototype.setMilliseconds() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setMilliseconds -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setMilliseconds ---- -
{{JSRef}}
- -

El mètode setMilliseconds() assigna els milisegons per a una data especificada d'acord a l'hora local.

- -

Sintaxi

- -
objecteData.setMilliseconds(milisegons)
- -

Paràmetres

- -
-
milisegons
-
Un nombre sencer entre 0 i 999 que representa els milisegons.
-
- -

Descripció

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setMilliseconds() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 1005 com a milisegons, els segonsseran incrementats en 1 (segons + 1), i s'emprarà 5 com a milisegons.

- -

Exemples

- -

Utilitzar setMilliseconds()

- -
var elGranDia= new Date();
-elGranDia.setMilliseconds(100);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComenataris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.28', 'Date.prototype.setMilliseconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setmilliseconds', 'Date.prototype.setMilliseconds')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getMilliseconds()")}}
  • -
  • {{jsxref("Date.prototype.setUTCMilliseconds()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setminutes/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setminutes/index.html deleted file mode 100644 index 7dba61cade..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setminutes/index.html +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Date.prototype.setMinutes() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setMinutes -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setMinutes ---- -
{{JSRef}}
- -

El mètode setMinutes() assigna els minuts a una data especificada, d'acord a l'hora local.

- -

Sintaxi

- -
objecteData.setMinutes(minuts[, segons[, milisegons]])
- -

Versions anteriors a JavaScript 1.3

- -
objecteData.setMinutes(minuts)
- -

Paràmetres

- -
-
minuts
-
Un nombre sencer entre 0 i 59 que representa els minuts.
-
segons
-
Opcional. Un nombre sencer entre 0 i 59 que representa els segons.
-
milisegons
-
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
-
- -

Descripció

- -

Si no s'especifiquen els paràmetres minuts, segons i milisegons s'utilitzen els valors retornats per {{jsxref("Date.prototype.getSeconds()", "getSeconds()")}} i {{jsxref("Date.prototype.getMilliseconds()", "getMilliseconds()")}}.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setMinutes() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

- -

Exemples

- -

Utilitzar setMinutes()

- -
var elGranDia = new Date();
-elGranDia.setMinutes(45);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.32', 'Date.prototype.setMinutes')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setminutes', 'Date.prototype.setMinutes')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getMinutes()")}}
  • -
  • {{jsxref("Date.prototype.setUTCMinutes()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setmonth/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setmonth/index.html deleted file mode 100644 index a84f51df7c..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setmonth/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: Date.prototype.setMonth() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setMonth -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setMonth ---- -
{{JSRef}}
- -

El mètode setMonth() assigna el mes per a una data especificada d'acord a l'any assignat previament.

- -

Sintaxi

- -
objecteData.setMonth(mes[, dia])
- -

Versions anteriors a JavaScript 1.3

- -
objecteData.setMonth(mes)
- -

Paràmetres

- -
-
mes
-
Un nombre sencer entre 0 i 11 que representa els mesos des de gener fins a desembre
-
dia
-
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes.
-
 
-
- -

Descripció

- -

Si no s'especifica el paràmetre dia s'utilitza el valor retornat pel mètode {{jsxref("Date.prototype.getDate()", "getDate()")}}.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setMonth() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

- -

Exemples

- -

Utilitzar setMonth()

- -
var elGranDia = new Date();
-elGranDia.setMonth(6);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.38', 'Date.prototype.setMonth')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setmonth', 'Date.prototype.setMonth')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getMonth()")}}
  • -
  • {{jsxref("Date.prototype.setUTCMonth()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setseconds/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setseconds/index.html deleted file mode 100644 index 60ea2c0ae3..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setseconds/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: Date.prototype.setSeconds() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setSeconds -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setSeconds ---- -
{{JSRef}}
- -

El mètode setSeconds() assigna els segons per a una data especificada, en temps local.

- -

Sintaxi

- -
objecteData.setSeconds(segons[, milisegons])
- -

Versions anteriors a JavaScript 1.3

- -
objecteData.setSeconds(segons)
- -

Paràmetres

- -
-
segons
-
Un nombre sencer entre 0 i 59 que representa els segons.
-
milisegons
-
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
-
- -

Descripció

- -

Si no s'especifica el paràmetre milisegons s'utilitza el valor retornat pel mètode {{jsxref("Date.prototype.getMilliseconds()", "getMilliseconds()")}}.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setSeconds() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

- -

Exemples

- -

Utilitzar setSeconds()

- -
var elGranDia = new Date();
-elGranDia.setSeconds(30);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacionsEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.30', 'Date.prototype.setSeconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setseconds', 'Date.prototype.setSeconds')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getSeconds()")}}
  • -
  • {{jsxref("Date.prototype.setUTCSeconds()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/settime/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/settime/index.html deleted file mode 100644 index 9774f3ee4c..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/settime/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Date.prototype.setTime() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setTime -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setTime ---- -
{{JSRef}}
- -

El mètode setTime() configura l'objecte {{jsxref("Date")}} amb un nombre que representa un temps en milisegons que han passat des de la mitjanit de l'ú de gener de 1970, en temps universal.

- -

Sintaxi

- -
objecteData.setTime(temps)
- -

Paràmetres

- -
-
temps
-
Un nombre sencer que representa el nombre de milisegons que han passat des de l'1 de gener de 1970 00:00:00 UTC.
-
- -

Descripció

- -

Utilitzeu el mètode setTime() per a assignar una data i hora a un objecte de tipus {{jsxref("Date")}}.

- -

Exemples

- -

Utilitzar setTime()

- -
var elGranDia = new Date('July 1, 1999');
-var elMateixGranDia = new Date();
-elMateixGranDia.setTime(elGranDia.getTime());
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.27', 'Date.prototype.setTime')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.settime', 'Date.prototype.setTime')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getTime()")}}
  • -
  • {{jsxref("Date.prototype.setUTCHours()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setutcdate/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setutcdate/index.html deleted file mode 100644 index 109178f66a..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setutcdate/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: Date.prototype.setUTCDate() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCDate -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCDate ---- -
{{JSRef}}
- -

El mètode setUTCDate() assigna el dia del mes per a una data especificada, en temps universal.

- -

Sintaxi

- -
objecteData.setUTCDate(dia)
- -

Paràmetres

- -
-
dia
-
Un nombre sencer de 1 a 31, que representa el dia del mes.
-
- -

Descripció

- -

If a parameter you specify is outside of the expected range, setUTCDate() attempts to update the date information in the {{jsxref("Date")}} object accordingly. For example, if you use 40 for dayValue, and the month stored in the {{jsxref("Date")}} object is June, the day will be changed to 10 and the month will be incremented to July.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCDate() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 40 com a dia, i el mes especificat a l'objecte {{jsxref("Date")}} és juny, el dia es canviarà a 10 i el mes serà incrementat a juliol.

- -

Exemples

- -

Utilitzar setUTCDate()

- -
var elGranDia = new Date();
-elGranDia.setUTCDate(20);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.37', 'Date.prototype.setUTCDate')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcdate', 'Date.prototype.setUTCDate')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCDate()")}}
  • -
  • {{jsxref("Date.prototype.setDate()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setutcfullyear/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setutcfullyear/index.html deleted file mode 100644 index 55185a431b..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setutcfullyear/index.html +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: Date.prototype.setUTCFullYear() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCFullYear -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCFullYear ---- -
{{JSRef}}
- -

El mètode setUTCFullYear() assigna l'any sencer a la data especificada d'acord amb el temps universal.

- -

Sintaxi

- -
objecteData.setUTCFullYear(any[, mes[, dia]])
- -

Paràmetres

- -
-
any
-
Un nombre sencer que representa el valor numèric de l'any, per exemple, 1995.
-
mes
-
Un nombre sencer entre 0 i 11 que representa el mes.
-
dia
-
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes. Si s'especifica el paràmetre dia, també s'ha d'especificar el paràmetre mes.
-
- -

Descripció

- -

Si no s'especifica els paràmetres mes o dia s'utilitza el valor retornat pels mètodes getMonth() i getDate().

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCFullYear() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

- -

Exemples

- -

Utilitzar setUTCFullYear()

- -
var elGranDia = new Date();
-elGranDia.setUTCFullYear(1997);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.41', 'Date.prototype.setUTCFullYear')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcfullyear', 'Date.prototype.setUTCFullYear')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • -
  • {{jsxref("Date.prototype.setFullYear()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setutchours/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setutchours/index.html deleted file mode 100644 index 3c75ea903c..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setutchours/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: Date.prototype.setUTCHours() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCHours -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCHours ---- -
{{JSRef}}
- -

El mètode setUTCHours() assigna l'hora per a una data especificada d'acord al temps universal, i retorna el nombre de milisegons que han passat des de l'ú de gener de 1970 00:00:00 UTC fins al temps representat per l'instància {{jsxref("Date")}} actualitzada.

- -

Sintaxi

- -
objecteData.setUTCHours(hores[, minuts[, segons[, milisegons]]])
- -

Paràmetres

- -
-
hores
-
Un nombre sencer entre 0 i 23, que representa l'hora.
-
minuts
-
Opcional. Un nombre sencer entre 0 i 59 que representa els minuts.
-
segons
-
Oppcional. Un nombre sencer entre 0 i 59 que representa els segons. Si s'especifica segons també s'ha d'expecificar minuts.
-
milisegons
-
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons. Si s'especifica milisegons també s'han d'especificar minuts i segons.
-
- -

Descripció

- -

Si no s'especifica els paràmetres minuts, segons o milisegons s'utilitza el valor retornat pels mètodes {{jsxref("Date.prototype.getUTCMinutes()", "getUTCMinutes()")}}, {{jsxref("Date.prototype.getUTCSeconds()", "getUTCSeconds()")}}, i {{jsxref("Date.prototype.getUTCMilliseconds()", "getUTCMilliseconds()")}}.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCHours() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

- -

Exemples

- -

Utilitzar setUTCHours()

- -
var elGranDia = new Date();
-elGranDia.setUTCHours(8);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.35', 'Date.prototype.setUTCHours')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutchours', 'Date.prototype.setUTCHours')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCHours()")}}
  • -
  • {{jsxref("Date.prototype.setHours()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setutcmilliseconds/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setutcmilliseconds/index.html deleted file mode 100644 index e3265e247f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setutcmilliseconds/index.html +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: Date.prototype.setUTCMilliseconds() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCMilliseconds -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCMilliseconds ---- -
{{JSRef}}
- -

El mètode setUTCMilliseconds() assigna els milisegons a la data sepecificada d'acord l'hora local.

- -

Sintaxi

- -
objecteData.setUTCMilliseconds(milisegons)
- -

Paràmetres

- -
-
milisegons
-
Un nombre sencer entre 0 i 999 que representa els milisegons.
-
- -

Descripció

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCMilliseconds() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 1100 com a milisegons, els segons seran incrementats en 1 (segons + 1), i s'emprarà 100 com a milisegons.

- -

Exemples

- -

Utilitzar setUTCMilliseconds()

- -
var elGranDia = new Date();
-elGranDia.setUTCMilliseconds(500);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.29', 'Date.prototype.setUTCMilliseconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcmilliseconds', 'Date.prototype.setUTCMilliseconds')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCMilliseconds()")}}
  • -
  • {{jsxref("Date.prototype.setMilliseconds()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setutcminutes/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setutcminutes/index.html deleted file mode 100644 index 5551364e52..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setutcminutes/index.html +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: Date.prototype.setUTCMinutes() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCMinutes -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCMinutes ---- -
{{JSRef}}
- -

El mètode setUTCMinutes() assigna els minuts per a la data especificada, segons l'hora local.

- -

Sintaxi

- -
objecteData.setUTCMinutes(minuts[, segons[, milisegons]])
- -

Paràmetres

- -
-
minuts
-
Un nombre sencer entre 0 i 59, que representa els minuts.
-
segons
-
Oppcional. Un nombre sencer entre 0 i 59 que representa els segons. Si s'especifica segons també s'ha d'expecificar minuts.
-
milisegons
-
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons. Si s'especifica milisegons també s'han d'especificar minuts i segons.
-
- -

Descripció

- -

Si no s'especifica els paràmetres segons o milisegons s'utilitza el valor retornat pels mètodes {{jsxref("Date.prototype.getUTCSeconds()", "getUTCSeconds()")}} i {{jsxref("Date.prototype.getUTCMilliseconds()", "getUTCMilliseconds()")}}.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCMinutes() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

- -

Exemples

- -

Utilitzar setUTCMinutes()

- -
var elGranDia = new Date();
-elGranDia.setUTCMinutes(43);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.33', 'Date.prototype.setUTCMinutes')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcminutes', 'Date.prototype.setUTCMinutes')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCMinutes()")}}
  • -
  • {{jsxref("Date.prototype.setMinutes()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setutcmonth/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setutcmonth/index.html deleted file mode 100644 index e06f0fba64..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setutcmonth/index.html +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Date.prototype.setUTCMonth() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCMonth -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCMonth ---- -
{{JSRef}}
- -

El mètode setUTCMonth() assigna el mes per a la data especificada segons el temps universal.

- -

Sintaxi

- -
objecteData.setUTCMonth(mes[, dia])
- -

Paràmetres

- -
-
mes
-
Un nombre sencer entre 0 i 11 que representa els mesos des de gener fins a desembre
-
dia
-
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes.
-
- -

Descripció

- -

Si no s'especifica el paràmetre dia s'utilitza el valor retornat pel mètode.{{jsxref("Date.prototype.getUTCDate()", "getUTCDate()")}}.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCMonth() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

- -

Exemples

- -

Utilitzar setUTCMonth()

- -
var elGranDia = new Date();
-elGranDia.setUTCMonth(11);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.39', 'Date.prototype.setUTCMonth')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcmonth', 'Date.prototype.setUTCMonth')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCMonth()")}}
  • -
  • {{jsxref("Date.prototype.setMonth()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setutcseconds/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setutcseconds/index.html deleted file mode 100644 index 66f33a9e1b..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setutcseconds/index.html +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: Date.prototype.setUTCSeconds() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setUTCSeconds -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setUTCSeconds ---- -
{{JSRef}}
- -

El mètode setUTCSeconds() assigna els segons a la data especificada, segons el temps universal.

- -

Sintaxi

- -
objecteData.setUTCSeconds(segons[, milisegons])
- -

Paràmetres

- -
-
segons
-
Un nombre sencer entre 0 i 59 que representa els segons.
-
milisegons
-
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
-
- -

Descripció

- -

Si no s'especifica el paràmetre milisegons s'utilitza el valor retornat pel mètode {{jsxref("Date.prototype.getUTCMilliseconds()", "getUTCMilliseconds()")}}.

- -

Si es passa un paràmetre que està fora del rang esperat, el mètode setUTCSeconds() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 100 com a segons, els minuts seran incrementats en 1 (minuts + 1), i s'emprarà 40 com a segons.

- -

Exemples

- -

Utilitzar setUTCSeconds()

- -
var elGranDia = new Date();
-elGranDia.setUTCSeconds(20);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.3.
{{SpecName('ES5.1', '#sec-15.9.5.31', 'Date.prototype.setUTCSeconds')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.setutcseconds', 'Date.prototype.setUTCSeconds')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getUTCSeconds()")}}
  • -
  • {{jsxref("Date.prototype.setSeconds()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/setyear/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/setyear/index.html deleted file mode 100644 index ead16f2d21..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/setyear/index.html +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: Date.prototype.setYear() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/setYear -translation_of: Web/JavaScript/Reference/Global_Objects/Date/setYear ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode setYear() assigna l'any per a una data especificada, d'acord a l'hora local. Com que setYear() no utilitza anys complerts ("el problema de l'any 2000"), aquest mètode està en desús i s'ha reemplaçat pel mètode {{jsxref("Date.prototype.setFullYear()", "setFullYear()")}}.

- -

Sintaxi

- -
objecteData.setYear(any)
- -

Paràmetres

- -
-
any
-
Un nombre sencer.
-
- -

Descripció

- -

Si any és un nombre entre 0 i 99 (inclòs), llavors s'assigna 1900 + any a objecteData. En cas contrari, s'assigna any a objecteData.

- -

Exemples

- -

Utilitzar setYear()

- -

Les dues primeres línies assignen el valor 1996 a l'any. La tercera línia assigna el valor 2000 a l'any.

- -
var elGranDia = new Date();
-
-elGranDia.setYear(96);
-elGranDia.setYear(1996);
-elGranDia.setYear(2000);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-B.2.5', 'Date.prototype.getYear')}}{{Spec2('ES5.1')}}Definit a l'annex de compatibilitat (informatiu).
{{SpecName('ES6', '#sec-date.prototype.setyear', 'Date.prototype.getYear')}}{{Spec2('ES6')}}Definit a l'annex de característiques adicionals per a navegadors web (normatiu).
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.getFullYear()")}}
  • -
  • {{jsxref("Date.prototype.getUTCFullYear()")}}
  • -
  • {{jsxref("Date.prototype.setFullYear()")}}
  • -
  • {{jsxref("Date.prototype.setUTCFullYear()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/todatestring/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/todatestring/index.html deleted file mode 100644 index 9548215179..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/todatestring/index.html +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: Date.prototype.toDateString() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/toDateString -translation_of: Web/JavaScript/Reference/Global_Objects/Date/toDateString ---- -
{{JSRef}}
- -

El mètode toDateString() retorna la part de la data d'un objecte {{jsxref("Date")}} en un format entenible per persones en anglés amerià.

- -

Sintaxi

- -
objecteData.toDateString()
- -

Descripció

- -

Les instàncies de Date representen un punt específic en el temps. Una crida al mètode toString() retornarà la dada en un format entenible per persones, en anglés americà. Al motor SpiderMonkey, aquest format consisteix en la part de la data (dia, mes i any) seguida de la part de l'hora (hores, minuts, segons i zona horària). De vegades és convenient obtenir un string només de la part de l'hora; aquesta és la raó de ser del mètode toDateString().

- -

El mètode toDateString() resulta especialment útil perquè els motors que compleixen amb el standard ECMA-262 poden retornar resultats diferents al string obtingut mitjançant el mètode toString() en objectes Date, ja que el format depèn totalment de la implementació; això implica que partir el string per a obtenir només la part de temps pot no produïr un resultat consistent en tots els motors.

- -

Exemples

- -

Ús bàsic de toDateString()

- -
var d = new Date(1993, 6, 28, 14, 39, 7);
-
-console.log(d.toString());     // imprimeix Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
-console.log(d.toDateString()); // imprimeix Wed Jul 28 1993
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.9.5.3', 'Date.prototype.toDateString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.todatestring', 'Date.prototype.toDateString')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.toLocaleDateString()")}}
  • -
  • {{jsxref("Date.prototype.toTimeString()")}}
  • -
  • {{jsxref("Date.prototype.toString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/togmtstring/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/togmtstring/index.html deleted file mode 100644 index 08e63be739..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/togmtstring/index.html +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: Date.prototype.toGMTString() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/toGMTString -translation_of: Web/JavaScript/Reference/Global_Objects/Date/toGMTString ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode toGMTString() converteix una data a un string, utilitzant les convencions del Greenwich Mean Time (GMT). El format exacte del valor retornat per toGMTString() és depenent de la plataforma i el navegador, per norma general hauria de representar la data en una forma entenible per persones.

- -
-

Nota: toGMTString() està en desús i no es recomana fer-lo servir més. Es mantè només per a compatibilitat amb codi vell que l'utilitzi; en comptes d'aquest mètode utilitzeu {{jsxref("Date.prototype.toUTCString()", "toUTCString()")}}.

-
- -

Sintaxi

- -
objecteData.toGMTString()
- -

Exemples

- -

Exemple senzill

- -

En aquest exemple el mètode toGMTString() converteix la data a GMT (UTC) utilitzant el desplaçament de zona horaria donat pel sistema operatiu i retorna un valor string que té aproximadament la forma que trobareu a continuació. El format exacte dependrà de la plataforma.

- -
var avui = new Date();
-var str = avui.toGMTString();  // en desús! utilitzeu toUTCString()
-
-console.log(str);               // Mon, 18 Dec 1995 17:28:35 GMT
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial, però ja marcat com a en desús. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-B.2.6', 'Date.prototype.toGMTString')}}{{Spec2('ES5.1')}}Definit a l'annex de compatibilitat (informatiu).
{{SpecName('ES6', '#sec-date.prototype.togmtstring', 'Date.prototype.toGMTString')}}{{Spec2('ES6')}}Definit a l'annex per a característiques adicionals per a navegadors web (normatiu).
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.toLocaleDateString()")}}
  • -
  • {{jsxref("Date.prototype.toTimeString()")}}
  • -
  • {{jsxref("Date.prototype.toUTCString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/toisostring/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/toisostring/index.html deleted file mode 100644 index 759e53225c..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/toisostring/index.html +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Date.prototype.toISOString() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/toISOString -translation_of: Web/JavaScript/Reference/Global_Objects/Date/toISOString ---- -
{{JSRef}}
- -

El mètode toISOString() retorna una cadena en un format ISO extès simplificat (ISO 8601), el qual sempre té 24 caràcters de llargària: YYYY-MM-DDTHH:mm:ss.sssZ. La zona horària és sempre UTC, tal i com indica el sufix "Z".

- -

Sintaxi

- -
dateObj.toISOString()
- -

Exemples

- -

Utilitzar toISOString()

- -
var today = new Date('05 October 2011 14:48 UTC');
-
-console.log(today.toISOString()); // Retorna 2011-10-05T14:48:00.000Z
-
- -

L'exemple anterior interpreta una cadena no estàndard que pot no ser interpretada correctament per navegadors que no siguin mozilla.

- -

Polyfill

- -

Aquest mètode es va estandaritzar en la 5a edició d'ECMA-262. Els motors que no s'hagin actualitzat per suportar aquest mètode poden evitar al mancança d'aquest mètode utilitzant les següents accions:

- -
if (!Date.prototype.toISOString) {
-  (function() {
-
-    function pad(number) {
-      if (number < 10) {
-        return '0' + number;
-      }
-      return number;
-    }
-
-    Date.prototype.toISOString = function() {
-      return this.getUTCFullYear() +
-        '-' + pad(this.getUTCMonth() + 1) +
-        '-' + pad(this.getUTCDate()) +
-        'T' + pad(this.getUTCHours()) +
-        ':' + pad(this.getUTCMinutes()) +
-        ':' + pad(this.getUTCSeconds()) +
-        '.' + (this.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) +
-        'Z';
-    };
-
-  }());
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.9.5.43', 'Date.prototype.toISOString')}}{{Spec2('ES5.1')}}Definició inicial. Implementat en JavaScript 1.8.
{{SpecName('ES6', '#sec-date.prototype.toisostring', 'Date.prototype.toISOString')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatIE("9")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.toLocaleDateString()")}}
  • -
  • {{jsxref("Date.prototype.toTimeString()")}}
  • -
  • {{jsxref("Date.prototype.toUTCString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/tojson/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/tojson/index.html deleted file mode 100644 index 8b583470bf..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/tojson/index.html +++ /dev/null @@ -1,108 +0,0 @@ ---- -title: Date.prototype.toJSON() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/toJSON -translation_of: Web/JavaScript/Reference/Global_Objects/Date/toJSON ---- -
{{JSRef}}
- -

El mètode toJSON() retorna una representació de tipus cadena de l'objecte {{jsxref("Date")}}.

- -

Sintaxi

- -
dateObj.toJSON()
- -

Descripció

- -

Les instàncies {{jsxref("Date")}} referencien a un punt concret en el temps. La crida toJSON() retorna una cadena (usant {{jsxref("Date.prototype.toISOString()", "toISOString()")}}) en representació del valor de l'objecte {{jsxref("Date")}}. Generalment aquest mètode s'utilitza, per defecte, per serialitzar eficaçment objectes {{jsxref("Date")}} durant la serialització {{Glossary("JSON")}}.

- -

Exemples

- -

Utilitzar toJSON()

- -
var jsonDate = (new Date()).toJSON();
-var backToDate = new Date(jsonDate);
-
-console.log(jsonDate); //2015-10-26T07:46:36.611Z
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.9.5.44', 'Date.prototype.toJSON')}}{{Spec2('ES5.1')}}Definició inicial. Implementat en JavaScript 1.8.5.
{{SpecName('ES6', '#sec-date.prototype.tojson', 'Date.prototype.toJSON')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.toLocaleDateString()")}}
  • -
  • {{jsxref("Date.prototype.toTimeString()")}}
  • -
  • {{jsxref("Date.prototype.toUTCString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/tostring/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/tostring/index.html deleted file mode 100644 index 8482fe5298..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/tostring/index.html +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: Date.prototype.toString() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/toString -translation_of: Web/JavaScript/Reference/Global_Objects/Date/toString ---- -
{{JSRef}}
- -

El mètode toString() retorna un string que representa l'objecte {{jsxref("Date")}} especificat.

- -

Sintaxi

- -
objecteDate.toString()
- -

Paràmetres

- -

Cap.

- -

Descripció

- -

L'objecte {{jsxref("Date")}} sobreescriu el mètode toString() de l'objecte {{jsxref("Object")}}; no hereta {{jsxref("Object.prototype.toString()")}}. Per a objectes {{jsxref("Date")}}, el mètode toString() retorna un string que representa l'objecte.

- -

El mètode toString() sempre retorna una representació en forma de string de la data en anglés americà.

- -

JavaScript cridarà el mètode toString() de manera automàtica quan una data requereix ser representada com a text o bé quan una data formi part d'una concatenació de strings.

- -

El mètode toString() és genèric. Si this no fa referència a una instància de {{jsxref("Date")}}, retornarà "Invalid Date".

- -

Exemples

- -

Utilitzar toString()

- -

L'exemple següent assigna el valor de toString() d'un objecte {{jsxref("Date")}} a myVar:

- -
var x = new Date();
-myVar = x.toString(); // assigna un valor a myVar simimlar a:
-// Mon Sep 28 1998 14:36:22 GMT-0700 (Pacific Daylight Time)
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.9.5.2', 'Date.prototype.toLocaleTimeString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.tostring', 'Date.prototype.toString')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Mètode genèric{{CompatUnknown}}{{CompatGeckoDesktop("41")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
Mètode genèric{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("41")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Object.prototype.toString()")}}
  • -
  • {{jsxref("Date.prototype.toDateString()")}}
  • -
  • {{jsxref("Date.prototype.toLocaleString()")}}
  • -
  • {{jsxref("Date.prototype.toTimeString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/totimestring/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/totimestring/index.html deleted file mode 100644 index aac8de7a85..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/totimestring/index.html +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: Date.prototype.toTimeString() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/toTimeString -translation_of: Web/JavaScript/Reference/Global_Objects/Date/toTimeString ---- -
{{JSRef}}
- -

El mètode toTimeString() retorna la part de temps d'un objecte de tipus {{jsxref("Date")}} formatada de tal forma que és entenible per les persones, utilitzan anglés americà.

- -

Sintaxi

- -
objecteData.toTimeString()
- -

Descripció

- -

Les instàncies de {{jsxref("Date")}} representen un punt específic en el temps. Una crida al mètode {{jsxref("Date.prototype.toString()", "toString()")}} retornarà la dada en un format entenible per persones, en anglés americà. Al motor SpiderMonkey, aquest format consisteix en la part de la data (dia, mes i any) seguida de la part de l'hora (hores, minuts, segons i zona horària). De vegades és convenient obtenir un string només de la part de l'hora; aquesta és la raó de ser del mètode toTimeString().

- -

El mètode toTimeString() resulta especialment útil perquè els motors que compleixen amb el standard ECMA-262 poden retornar resultats diferents al string obtingut mitjançant el mètode {{jsxref("Date.prototype.toString()", "toString()")}} en objectes {{jsxref("Date")}}, ja que el format depèn totalment de la implementació; això implica que partir el string per a obtenir només la part de temps pot no produïr un resultat consistent en tots els motors.

- -

Exemples

- -

Utilització bàsica de toTimeString()

- -
var d = new Date(1993, 6, 28, 14, 39, 7);
-
-console.log(d.toString());     // escriu Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
-console.log(d.toTimeString()); // escriu 14:39:07 GMT-0600 (PDT)
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.9.5.4', 'Date.prototype.toTimeString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.totimestring', 'Date.prototype.toTimeString')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.toLocaleTimeString()")}}
  • -
  • {{jsxref("Date.prototype.toDateString()")}}
  • -
  • {{jsxref("Date.prototype.toString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/utc/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/utc/index.html deleted file mode 100644 index 37bb2bc369..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/utc/index.html +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: Date.UTC() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/UTC -translation_of: Web/JavaScript/Reference/Global_Objects/Date/UTC ---- -
{{JSRef}}
- -

El mètode Date.UTC() accepta els mateixos paràmetres que la forma més llarga del constructor, i retorna en un objecte de tipus {{jsxref("Date")}} el nombre de milisegons que han passat des de l'u de gener de 1970 a les 00:00:00, temps universal.

- -

Sintaxi

- -
Date.UTC(any, mes[, dia[, hora[, minuts[, segons[, milisegons]]]]])
- -

Paràmetres

- -
-
any
-
Un any major que 1900.
-
mes
-
Un nombre sencer entre 0 i 11 que representa el mes.
-
dia
-
Opcional. Un nombre sencer entre 1 i 31 que representa el dia del mes.
-
hora
-
Opcional. Un nombre sencer entre 0 i 23 que representa l'hora.
-
minuts
-
Opcional. Un nombre sencer entre 0 i 59 que representa els minuts.
-
segons
-
Opcional. Un nombre sencer entre 0 i 59 que representa els segons.
-
milisegons
-
Opcional. Un nombre sencer entre 0 i 999 que representa els milisegons.
-
- -

Descripció

- -

UTC() accepta una data en forma de paràmetres separats per comes i retorna el nombre de milisegons que han passat entre l'u de gener de 1970 a les 00:00:00 en temps universal, i el temps especificat pels paràmetres.

- -

L'any ha de ser especificat plenament; per exemple, 1998. Si s'especifica un any entre 0 i 99, el mètode el converteix a un any del segle 20 (1900 + any); per exemple, si s'especifica 95, s'emprarà l'any 1995.

- -

El mètode UTC() es diferencia del constructor {{jsxref("Date")}} en dues coses.

- -
    -
  • Date.UTC() utilitza el temps universal en comptes del temps local.
  • -
  • Date.UTC() retorna el temps com a nombre en comptes de crear un objecte de tipus {{jsxref("Date")}}.
  • -
- -

Si es passa un paràmetre que està fora del rang esperat, el mètode UTC() actualitza els altres paràmetres per a acceptar el nombre. Per exemple, si es passa 15 com a mes, l'any serà incrementat en 1 (any + 1), i s'emprarà 3 com a mes.

- -

Com que UTC() és un mètode estàtic de {{jsxref("Date")}}, sempre es crida com a Date.UTC() en comptes de com un mètode d'una instància de {{jsxref("Date")}}.

- -

Exemples

- -

Utilitzar Date.UTC()

- -

La instrucció següent crea un objecte {{jsxref("Date")}} utilitzant temps UTC en comptes del temps local:

- -
var dataUTC = new Date(Date.UTC(96, 11, 1, 0, 0, 0));
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-date.utc', 'Date.UTC')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-15.9.4.3', 'Date.UTC')}}{{Spec2('ES5.1')}} 
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísicaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísicaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Date.parse()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/date/valueof/index.html b/files/ca/web/javascript/referencia/objectes_globals/date/valueof/index.html deleted file mode 100644 index 6c5f810ead..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/date/valueof/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Date.prototype.valueOf() -slug: Web/JavaScript/Referencia/Objectes_globals/Date/valueOf -translation_of: Web/JavaScript/Reference/Global_Objects/Date/valueOf ---- -
{{JSRef}}
- -

El mètode valueOf() retorna el valor primitiu d'un objecte de tipus {{jsxref("Date")}}.

- -

Sintaxi

- -
dateObj.valueOf()
- -

Paràmetres

- -

Cap.

- -

Descripció

- -

El mètode valueOf() retorna el valor primitiu d'un objecte de tipus {{jsxref("Date")}} en forma de nombre, el nombre de milisegons des de la mitjanit de l'ú de gener de 1970 UTC.

- -

Aquest mètode és funcionalment equivalent al mètode {{jsxref("Date.prototype.getTime()")}}.

- -

Aquest mètode és tot sovint emprat internament per JavaScript i no explícitament en codi.

- -

Exemples

- -

Utilitzar valueOf()

- -
var x = new Date(56, 6, 17);
-var myVar = x.valueOf();      // assigna -424713600000 a myVar
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.9.5.8', 'Date.prototype.valueOf')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-date.prototype.valueof', 'Date.prototype.valueOf')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Object.prototype.valueOf()")}}
  • -
  • {{jsxref("Date.prototype.getTime()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/columnnumber/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/columnnumber/index.html deleted file mode 100644 index 377c797cd3..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/columnnumber/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: Error.prototype.columnNumber -slug: Web/JavaScript/Referencia/Objectes_globals/Error/columnNumber -translation_of: Web/JavaScript/Reference/Global_Objects/Error/columnNumber ---- -
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}} {{non-standard_header}}
- -

Resum

- -

La propietat columnNumber conté el nombre de la columna dins la línia del fitxer on s'ha produit l'error.

- -

Exemples

- -

Exemple: Utilitzar columnNumber

- -
var e = new Error('Error interpretant les dades');
-throw e;
-console.log(e.columnNumber) // 0
-
- -

Especificacions

- -

No forma part de cap especificació. No és standard.

- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype.stack")}} {{non-standard_inline}}
  • -
  • {{jsxref("Error.prototype.lineNumber")}} {{non-standard_inline}}
  • -
  • {{jsxref("Error.prototype.fileName")}} {{non-standard_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/filename/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/filename/index.html deleted file mode 100644 index dcca532f86..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/filename/index.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Error.prototype.fileName -slug: Web/JavaScript/Referencia/Objectes_globals/Error/fileName -translation_of: Web/JavaScript/Reference/Global_Objects/Error/fileName ---- -
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}} {{non-standard_header}}
- -

Resum

- -

La propietat fileName conté la ruta al fitxer que ha provocat aquest error.

- -

Descripció

- -

Aquesta propietat no standard conté la ruta al fitxer que ha provocat l'error. Si es crida des d'un contexte de depuració, com ara des de Firefox Developer Tools, retorna "debugger eval code".

- -

Exemples

- -

Exemple: Utilitzar fileName

- -
var e = new Error('Dades no tractades');
-throw e;
-// e.fileName podria contrindre quelcom semblant a "file:///C:/example.html"
-
- -

Especificacions.

- -

No format part de cap especificació. No és standard.

- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype.stack")}} {{non-standard_inline}}
  • -
  • {{jsxref("Error.prototype.columnNumber")}} {{non-standard_inline}}
  • -
  • {{jsxref("Error.prototype.lineNumber")}} {{non-standard_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/index.html deleted file mode 100644 index 2e1592edc5..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/index.html +++ /dev/null @@ -1,224 +0,0 @@ ---- -title: Error -slug: Web/JavaScript/Referencia/Objectes_globals/Error -translation_of: Web/JavaScript/Reference/Global_Objects/Error ---- -
{{JSRef}}
- -

Resum

- -

El constructor Error crea un objecte que representa un error. Quan succeeix un error en temps d'execució JavaScript llença una instància de tipus Error. L'objecte Error també es pot emprar com a objecte base per a excepcions definides per l'usuari. Vegeu més abaix per a tipus d'errors standard que forment part del nucli.

- -

Sintaxi

- -
new Error([missatge[, fitxer[, numeroLinia]]])
- -

Paràmetres

- -
-
missatge
-
Opcional. Descripció entenible per persones de l'error.
-
fitxer {{non-standard_inline}}
-
Opcional. El valor de la propietat fitxer a l'objecte Error creat. Per defecte pren el valor del nom del fitxer que conté el codi que ha cridat el constructor Error().
-
numeroLinia {{non-standard_inline}}
-
Opcional. El valor de la propietat numeroLinia de l'objecte Error creat. Per defecte rep el valor del número de línia que conté la invocació al constructor Error().
-
- -

Descripció

- -

Els errors en temps d'execució esdevenen objectes Error nous que són creats i llençats.

- -

Aquesta pàgina documenta l'ús de l'objecte Error en si mateix, així com el seu ús com funció constructora. Per a un llistat de les propietats i mètodes heretats per les instàncies de Error, vegeu {{jsxref("Error.prototype")}}.

- -

Tipus d'errors

- -

A més del construtor genèric Error hi ha altres sis constructors d'errors que formen part del nucli de JavaScript. Per a excepcions al cantó del client vegeu Sentències manegadores d'excepcions.

- -
-
{{jsxref("Global_Objects/EvalError", "EvalError")}}
-
Crea una instància que representa un error que succeeix a l'emprar la funció global {{jsxref("Global_Objects/eval", "eval()")}}.
-
{{jsxref("Global_Objects/InternalError", "InternalError")}} {{non-standard_inline}}
-
Crea una instància que representa un error que succeeix quan es llença un error intern des del motor de JavaScript. Per exemple: "massa recursivitat".
-
{{jsxref("Global_Objects/RangeError", "RangeError")}}
-
Crea una instància que representa un error que succeeix quan una variable numèrica o paràmetre està fora del seu rang vàlid.
-
{{jsxref("Global_Objects/ReferenceError", "ReferenceError")}}
-
Crea una instància que representa un error que succeeix quan es deixa de referenciar una referència invàlida.
-
{{jsxref("Global_Objects/SyntaxError", "SyntaxError")}}
-
Crea una instància que representa un error de sintaxi que succeeix a l'interpretar codi dins {{jsxref("Global_Objects/eval", "eval()")}}.
-
{{jsxref("Global_Objects/TypeError", "TypeError")}}
-
Crea una instància que representa un error que succeeix quan una variable o paràmetre és d'un tipus no vàlid.
-
{{jsxref("Global_Objects/URIError", "URIError")}}
-
Crea un error que representa un error que succeeix quan {{jsxref("Global_Objects/encodeURI", "encodeURI()")}} o {{jsxref("Global_Objects/decodeURI", "decodeURl()")}} reben paràmetres invàlids.
-
- -

Propietats

- -
-
{{jsxref("Error.prototype")}}
-
Permet afegir propietats a instàncies Error.
-
- -

Mètodes

- -

L'objecte global Error no contè mètodes propis. Tot i així, hereta alguns mètodes a través de la cadena de prototipus.

- -

Instàncies Error

- -
{{page('ca/docs/JavaScript/Reference/Global_Objects/Error/prototype', 'Descripció')}}
- -

Propietats

- -
{{page('ca/docs/JavaScript/Reference/Global_Objects/Error/prototype', 'Propietats')}}
- -

Mètodes

- -
{{page('ca/docs/JavaScript/Reference/Global_Objects/Error/prototype', 'Mètodes')}}
- -

Exemples

- -

Exemple: Llençar un error genèric

- -

Normalment hom crea un objecte Error amb la intenció de llençar-lo tot emprant la paraula clau {{jsxref("Statements/throw", "throw")}}. Els errors es poden manegar utilitzant la construcció {{jsxref("Statements/try...catch", "try...catch")}}:

- -
try {
-  throw new Error('Oooops!');
-} catch (e) {
-  alert(e.name + ': ' + e.message);
-}
-
- -

Exemple: Manegar un error específic

- -

this should probably be removedEs pot escollir fer-se càrrec només de tipus d'errors específics comparant el tipus d'error amb la propietat {{jsxref("Object.prototype.constructor", "constructor")}} de l'error o bé, si s'està escrivint el codi per a motors JavaScript moderns, mitjançant la paraula clau {{jsxref("Operators/instanceof", "instanceof")}}:

- -
try {
-  foo.bar();
-} catch (e) {
-  if (e instanceof EvalError) {
-    alert(e.name + ': ' + e.message);
-  } else if (e instanceof RangeError) {
-    alert(e.name + ': ' + e.message);
-  }
-  // ... etc
-}
-
- -

Exemple: Tipus d'errors personalitzats

- -

És possible definir tipus d'errors propis derivats de Error, llençar-los mitjançant throw new MyError()  i utilitzar instanceof MyError per a comprovarel tipus d'error al manegador d'excepcions. A sota trobareu la forma més comuna de fer això.

- -
-

Advertim que la instància MyError llençada reportarà lineNumber i fileName invàlids, com a mínim a Firefox.

-
- -

Vegeu també la discussió a StackOverflow "Quina és una bona forma d'extrendre Error a JavaScript?".

- -
// Crea un nou objecte, que hereta del prototipus constructor Error.
-function MyError(message) {
-  this.name = 'MyError';
-  this.message = message || 'Missatge per defecte';
-}
-MyError.prototype = Object.create(Error.prototype);
-MyError.prototype.constructor = MyError;
-
-try {
-  throw new MyError();
-} catch (e) {
-  console.log(e.name);     // 'MyError'
-  console.log(e.message);  // 'Missatge per defecte'
-}
-
-try {
-  throw new MyError('custom message');
-} catch (e) {
-  console.log(e.name);     // 'MyError'
-  console.log(e.message);  // 'Missatge per defecte'
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.11', 'Error')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error-objects', 'Error')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype")}}
  • -
  • {{jsxref("Statements/throw", "throw")}}
  • -
  • {{jsxref("Statements/try...catch", "try...catch")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/linenumber/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/linenumber/index.html deleted file mode 100644 index 7b85f29c19..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/linenumber/index.html +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: Error.prototype.lineNumber -slug: Web/JavaScript/Referencia/Objectes_globals/Error/lineNumber -translation_of: Web/JavaScript/Reference/Global_Objects/Error/lineNumber ---- -
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}} {{non-standard_header}}
- -

Resum

- -

La propietat lineNumber conté el nombre de la línia del fitxer que ha llençat aquest erro.

- -

Exemples

- -

Exemple: Utilitzar lineNumber

- -
var e = new Error('No he pogut interpretar l\'entrada');
-throw e;
-console.log(e.lineNumber) // 2
-
- -

Exemple: Exemple alternatiu usant l'event error

- -
window.addEventListener('error', function(e) {
-  console.log(e.lineno); // 5
-});
-var e = new Error('No he pogut interpretar l\'entrada');
-throw e;
-
- -

Això és standard i suportat per Chrome, Firefox i provablement altres.

- -

Especificacions

- -

No forma part de cap especificació. No és standard.

- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsicOn error object in handled errors{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype.stack")}} {{non-standard_inline}}
  • -
  • {{jsxref("Error.prototype.columnNumber")}} {{non-standard_inline}}
  • -
  • {{jsxref("Error.prototype.fileName")}} {{non-standard_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/message/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/message/index.html deleted file mode 100644 index 4aa07268fa..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/message/index.html +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: Error.prototype.message -slug: Web/JavaScript/Referencia/Objectes_globals/Error/message -translation_of: Web/JavaScript/Reference/Global_Objects/Error/message ---- -
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}}
- -

Resum

- -

La propietat message és una descripció en un format amigable pels humans de l'error.

- -

Descripció

- -

Aquesta propietat conté una breu descripció de l'error sempre i quan estigui disponible o hagi sigut assignada. SpiderMonkey fa un ús extensiu de la propietat message per a excepcions. El mètode {{jsxref("Error.prototype.toString()")}} utilitza la propietat message combinada amb la propietat {{jsxref("Error.prototype.name", "name")}} per a crear una representació de l'error.

- -

Per defecte la propietat message és un string buit, però aquest comportament pot ser sobreescrit per una instàcia simplement passant un missatge com a primer argument del {{jsxref("Error", "constructor Error")}}.

- -

Exemples

- -

Exemple: Llençar un error personalitzat

- -
var e = new Error('No he pogut interpretar l\'entrada'); // e.message valdrà 'No he pogut interpretar l\'entrada'
-throw e;
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-15.11.4.3', 'Error.prototype.message')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype.message', 'Error.prototype.message')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype.name")}}
  • -
  • {{jsxref("Error.prototype.toString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/name/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/name/index.html deleted file mode 100644 index 995ecafd5f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/name/index.html +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: Error.prototype.name -slug: Web/JavaScript/Referencia/Objectes_globals/Error/name -translation_of: Web/JavaScript/Reference/Global_Objects/Error/name ---- -
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}}
- -

Resum

- -

La propietat name representa un nom per al tipus de error. El valor que rep inicialment aquesta propietat és "Error".

- -

Descripció

- -

Per defecte, les instàncies de {{jsxref("Error")}} reben el nom "Error". El mètode Error.prototype.toString() utilitza la propietat name combinada amb la propietat message per a crear una representació de l'error.

- -

Exemples

- -

Exemple: Llençar un error personalitzat

- -
var e = new Error('Entrada no vàlida'); // e.name is 'Error'
-
-e.name = 'ParseError';
-throw e;
-// e.toString() would return 'ParseError: Entrada no vàlida'
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-15.11.4.2', 'Error.prototype.name')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype.name', 'Error.prototype.name')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype.message")}}
  • -
  • {{jsxref("Error.prototype.toString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/prototype/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/prototype/index.html deleted file mode 100644 index 53e22669e9..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/prototype/index.html +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Error.prototype -slug: Web/JavaScript/Referencia/Objectes_globals/Error/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/Error -translation_of_original: Web/JavaScript/Reference/Global_Objects/Error/prototype ---- -
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}}
- -

Resum

- -

La propietat Error.prototype representa el prototipus per al constructor {{jsxref("Global_Objects/Error", "Error")}}.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Totes les instàncies de {{jsxref("Global_Objects/Error", "Error")}} i les instàncies de {{jsxref("Global_Objects/Error", "non-generic errors", "#Error_types", 1)}} heretèn de Error.prototype. Com totes les funcions constructores, es pot utilitzar el prototipus del constructor per a afegir propietats o mètodes a totes les instànces creades amb aquest constructor.

- -

Propietats

- -

Propietats standard

- -
-
Error.prototype.constructor
-
Especifica la funció que ha creat la instància del prototipus.
-
{{jsxref("Error.prototype.message")}}
-
Missatge d'error.
-
{{jsxref("Error.prototype.name")}}
-
Nom de l'error.
-
- -

Extensions específiques del venedor

- -
{{non-standard_header}}
- -

Microsoft

- -
-
{{jsxref("Error.prototype.description")}}
-
Descripció de l'error. Similar a {{jsxref("Error.prototype.message", "message")}}.
-
{{jsxref("Error.prototype.number")}}
-
Nombre de l'error.
-
- -

Mozilla

- -
-
{{jsxref("Error.prototype.fileName")}}
-
Ruta al fitxer que ha llençat l'error.
-
{{jsxref("Error.prototype.lineNumber")}}
-
Línia del fitxer que ha llençat l'error.
-
{{jsxref("Error.prototype.columnNumber")}}
-
Nombre de columna de la línia que ha llençat l'error.
-
{{jsxref("Error.prototype.stack")}}
-
Conté la traça de l'error.
-
- -

Mètodes

- -
-
{{jsxref("Error.prototype.toSource()")}} {{non-standard_inline}}
-
Retorna un string que conté el codi font de l'objecte {{jsxref("Global_Objects/Error", "Error")}} especificat; es pot emprar aquest valor per a crear un objecte nou. Sobreescriu el mètode {{jsxref("Object.prototype.toSource()")}}.
-
{{jsxref("Error.prototype.toString()")}}
-
Retorna un string que representa l'objecte especificat. Sobreescriu el mètode {{jsxref("Object.prototype.toString()")}}.
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.11.3.1', 'Error')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype', 'Error')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error")}}
  • -
  • {{jsxref("Object.prototype")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/stack/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/stack/index.html deleted file mode 100644 index aa41949423..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/stack/index.html +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: Error.prototype.stack -slug: Web/JavaScript/Referencia/Objectes_globals/Error/Stack -translation_of: Web/JavaScript/Reference/Global_Objects/Error/Stack ---- -
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}} {{non-standard_header}}
- -

Resum

- -

La propietat no standard stack dels objectes {{jsxref("Error")}} ofereix una traça de quines funcions han estat cridades, en quin ordre, des de quina línia i fitxer, i amb quins arguments. La stack, en forma de string, va de les crides més recent a les més antigues, fins a arribar a la crida original del context global.

- -

Descripció

- -

Cada pas estarà separat per una nova línia, on la primera part de cada línia és el nom de la funció (si no es tracta d'una crida des del context global), seguit per pel símbol arroba (@), la ruta del fitxer (excepte quan la funció és la funció constructora de l'error mentre s'està llençant l'error), un punt i coma, i, si hi ha una ruta de fitxer, el nombre de línia. Fixeu-vos que l'objecte {{jsxref("Error")}} també disposa de les propietats filename, lineNumber i columnNumber de l'error llençat (però no de la traça).

- -

Cal remarcar que aquest és el format utilitzat per Firefox. No hi ha un formateig standard. Tot i així, Safari 6+ i Opera 12- utilitzen un format molt similar. Els navegadors que utilitzen el motor de JavaScript V8 (com ara Chrome, Opera 15+ i el navegador de Android), així com IE10+, d'altra banda, utilitzen un format diferent (vegeu el document de la MSDN error.stack).

- -

Valors dels arguments a la pila: Abans del ({{bug("744842")}}) de Firefox 14, el nom de la funció anava seguit dels valors dels arguments convertits a string entre parèntesi immediatament abans de l'arroba (@). Un objecte (o un array, etc) apareixeria en la forma convertida "[object Object]", i en conseqüència no podria ser evaluada de nou en objectes. Si que es poden obtenir els valors escalars (tot i que resulta més senzill utilitzar arguments.callee.caller.arguments, així com es pot trobar el nom de la funció a arguments.callee.caller.name). "undefined" apareix com a "(void 0)". Cal tenir en compte que si s'han passat arguments de tipus string que continguin caracters com ara "@", "(", ")" (o bé noms de fitxers), resulta força complicat utiltizar-los per a trencar la línia en les diferents parts que la composen. Degut a això, a partir de Firefox 14 això deixa de ser un problema.

- -

Exemple

- -

El següent codi HTML mostra l'ús de la propietat stack.

- -
<!DOCTYPE HTML>
-<meta charset="UTF-8">
-<title>Exemple de pila de traça</title>
-<body>
-<script>
-function trace() {
-  try {
-    throw new Error('myError');
-  }
-  catch(e) {
-    alert(e.stack);
-  }
-}
-function b() {
-  trace();
-}
-function a() {
-  b(3, 4, '\n\n', undefined, {});
-}
-a('primera crida, primerArgument');
-</script>
-
- -

Assumint que el codi resideix al fitxer C:\exemple.html en un sistema de fitxers de Windows, aquest generarà un missatge d'alerta amb el text següent:

- -

A partir de Firefox 30 contindrà el nombre de la columna ({{bug("762556")}}):

- -
trace@file:///C:/exemple.html:9:17
-b@file:///C:/exemple.html:16:13
-a@file:///C:/exemple.html:19:13
-@file:///C:/exemple.html:21:9
- -

Firefox 14 a Firefox 29:

- -
trace@file:///C:/exemple.html:9
-b@file:///C:/exemple.html:16
-a@file:///C:/exemple.html:19
-@file:///C:/exemple.html:21
- -

Per contra, Firefox 13 i versions prèvies produian el següent text:

- -
Error("myError")@:0
-trace()@file:///C:/exemple.html:9
-b(3,4,"\n\n",(void 0),[object Object])@file:///C:/exemple.html:16
-a("primera crida, primerArgument")@file:///C:/exemple.html:19
-@file:///C:/exemple.html:21
- -

Pila de codi evaluat

- -

A partir de Firefox 30 {{geckoRelease("30")}}, la pila d'error pertanyent a codi dins de crides a Function() i eval() conté informació més detallada sobre la línia i la columna que ha produït l'error dins aquestes crides. Les crides a funcions s'indiquen amb "> Function" i les crides a eval amb "> eval". Vegeu {{bug("332176")}}.

- -
try {
-  new Function('throw new Error()')();
-} catch (e) {
-  console.log(e.stack);
-}
-
-// anonymous@file:///C:/exemple.html line 7 > Function:1:1
-// @file:///C:/example.html:7:6
-
-
-try {
-  eval("eval('FAIL')");
-} catch (x) {
-  console.log(x.stack);
-}
-
-// @file:///C:/exemple.html line 7 > eval line 1 > eval:1:1
-// @file:///C:/exemple.html line 7 > eval:1:1
-// @file:///C:/exemple.html:7:6
-
- -

També podeu utilitzar la directiva //# sourceURL per a donar nom a codi eval. Vegeu també Depurar codi eval als documents de Depurar així com en aquesta entrada d'un bloc.

- -

Especificacions

- -

No forma part de cap especificació. No és standard.

- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatIE("10")}}{{CompatVersionUnknown}}{{CompatSafari("6")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsicAndroid 4 (potser Android 3, però en cap cas Android 2){{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatSafari("6")}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/tosource/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/tosource/index.html deleted file mode 100644 index c766aa312b..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/tosource/index.html +++ /dev/null @@ -1,91 +0,0 @@ ---- -title: Error.prototype.toSource() -slug: Web/JavaScript/Referencia/Objectes_globals/Error/toSource -translation_of: Web/JavaScript/Reference/Global_Objects/Error/toSource ---- -
{{JSRef}} {{non-standard_header}}
- -

El mètode toSource() reotrna codi capaç de generar el mateix error en case de ser evaluat.

- -

Sintaxi

- -
e.toSource()
- -

Descripció

- -

La crida al mètode toSource d'una instància d'{{jsxref("Error")}}(incloent NativeErrors) retorna un string que conté el codi font de l'error. Aquest string pot ser evaluat per a crear un objecte (aproximadament) igual. Per defecte la string contenint el codi font segueix l'estructura del construtor {{jsxref("Error")}}. Per exemple:

- -
(newname(message ,fileName,lineNumber))
-
- -

on aquests atributs corresponen a les propietats de la instància de l'error, respectivament.

- -
-

Advertència: Cal tenir en compte que les propietats utilitzades pel mètode toSource a l'hora de crear l'string són mutables i per tant poden no representar de forma acurada la funció utilitzada per a crear la instància de l'error, el nom del fitxer o el nombre de la línia on l'error real ha tingut lloc.

-
- -

Especificacions

- -

No forma part de cap standard. Implementat a JavaScript 1.3.

- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype.fileName")}}
  • -
  • {{jsxref("Error.prototype.lineNumber")}}
  • -
  • {{jsxref("Error.prototype.message")}}
  • -
  • {{jsxref("Error.prototype.name")}}
  • -
  • {{jsxref("Object.prototype.toSource()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/tostring/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/tostring/index.html deleted file mode 100644 index 79fd20f77f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/error/tostring/index.html +++ /dev/null @@ -1,146 +0,0 @@ ---- -title: Error.prototype.toString() -slug: Web/JavaScript/Referencia/Objectes_globals/Error/toString -translation_of: Web/JavaScript/Reference/Global_Objects/Error/toString ---- -
{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}}
- -

Resum

- -

El mètode toString() retorna un string que representa l'error especificat per l'objecte {{jsxref("Error")}}.

- -

Sintaxi

- -
e.toString()
- -

Descripció

- -

L'objecte {{jsxref("Error")}} sobreescriu el mètode {{jsxref("Object.prototype.toString()")}} heretat per tots els objectes. La seva semàntica és la següent (suposant que {{jsxref("Object")}} i {{jsxref("String")}} tenen els seus valors originals):

- -
Error.prototype.toString = function() {
-  'use strict';
-
-  var obj = Object(this);
-  if (obj !== this) {
-    throw new TypeError();
-  }
-
-  var name = this.name;
-  name = (name === undefined) ? 'Error' : String(name);
-
-  var msg = this.message;
-  msg = (msg === undefined) ? '' : String(msg);
-
-  if (name === '') {
-    return msg;
-  }
-  if (msg === '') {
-    return name;
-  }
-
-  return name + ': ' + msg;
-};
-
- -

Exemples

- -
var e = new Error('fatal error');
-print(e.toString()); // 'Error: fatal error'
-
-e.name = undefined;
-print(e.toString()); // 'Error: fatal error'
-
-e.name = '';
-print(e.toString()); // 'fatal error'
-
-e.message = undefined;
-print(e.toString()); // 'Error'
-
-e.name = 'hello';
-print(e.toString()); // 'hello'
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.11.4.4', 'Error.prototype.toString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-error.prototype.tostring', 'Error.prototype.toString')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype.toSource()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/index.html b/files/ca/web/javascript/referencia/objectes_globals/index.html deleted file mode 100644 index 60bd0333f7..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/index.html +++ /dev/null @@ -1,167 +0,0 @@ ---- -title: Objectes Standard -slug: Web/JavaScript/Referencia/Objectes_globals -translation_of: Web/JavaScript/Reference/Global_Objects ---- -
-
{{jsSidebar("Objects")}}
-
- -

Resum

- -

Aquest capítol llista tots els objectes que Javascript proporciona per defecte, així com els seus mètodes i propietats.

- -
-

És important no confondre el terme "objectes globals" (també anomenats objectes standard o built-in) amb objecte global. En aquesta pàgina objecte global es refereix a objectes en l'àmbit global (però només si no s'utilitza el mode estricte de ECMAScript 5! En qualsevol altre cas retorna undefined). Es pot accedir a l'objecte global en si mateix mitjançant l'operador {{jsxref("Referencia/Objectes_standard/this", "this")}} en l'àmbit global. De fet l'àmbit global consisteix  en les propietats de l'objecte global (propietats heredades incloses, si s'escau).

- -

Altres objectes en l'àmbit global són o bé creats per l'script de l'usuari o bé proporcionats per l'aplicació del host. Els objectes proporcionats pel host disponibles en els àmbits del navegador estan documentats a la referència de la API.

- -

Objectes standard (per categoria)

- -

Propietats de valor

- -

Propietats globals que retornen un valor simple.

- -
    -
  • {{jsxref("Infinity")}}
  • -
  • {{jsxref("NaN")}}
  • -
  • {{jsxref("undefined")}}
  • -
  • El literal {{jsxref("null")}}
  • -
- -

Funcions globals

- -

Funcions globals que retornen el resultat d'una rutina específica.

- -
    -
  • {{jsxref("eval", "eval()")}}
  • -
  • {{jsxref("uneval", "uneval()")}} {{non-standard_inline()}}
  • -
  • {{jsxref("isFinite", "isFinite()")}}
  • -
  • {{jsxref("isNaN", "isNaN()")}}
  • -
  • {{jsxref("parseFloat", "parseFloat()")}}
  • -
  • {{jsxref("parseInt", "parseInt()")}}
  • -
  • {{jsxref("decodeURI", "decodeURI()")}}
  • -
  • {{jsxref("decodeURIComponent", "decodeURIComponent()")}}
  • -
  • {{jsxref("encodeURI", "encodeURI()")}}
  • -
  • {{jsxref("encodeURIComponent", "encodeURIComponent()")}}
  • -
  • {{jsxref("escape", "escape()")}} {{deprecated_inline()}}
  • -
  • {{jsxref("unescape", "unescape()")}} {{deprecated_inline()}}
  • -
- -

Objectes fonamentals

- -

Objectes generals del llenguatge, funcions i errors.

- -
    -
  • {{jsxref("Object")}}
  • -
  • {{jsxref("Function")}}
  • -
  • {{jsxref("Boolean")}}
  • -
  • {{jsxref("Symbol")}} {{experimental_inline()}}
  • -
  • {{jsxref("Error")}}
  • -
  • {{jsxref("EvalError")}}
  • -
  • {{jsxref("InternalError")}}
  • -
  • {{jsxref("RangeError")}}
  • -
  • {{jsxref("ReferenceError")}}
  • -
  • {{jsxref("SyntaxError")}}
  • -
  • {{jsxref("TypeError")}}
  • -
  • {{jsxref("URIError")}}
  • -
- -

Nombres i dates

- -

Objectes que emmagatzemen nombres, dades i càlculs matemàtics.

- -
    -
  • {{jsxref("Number")}}
  • -
  • {{jsxref("Math")}}
  • -
  • {{jsxref("Date")}}
  • -
- -

Processament de text

- -

Objectes per manipular text.

- -
    -
  • {{jsxref("String")}}
  • -
  • {{jsxref("RegExp")}}
  • -
- -

Col·leccions indexades

- -

Col·leccions ordenades per un índex. Objectes de tipus array.

- -
    -
  • {{jsxref("Array")}}
  • -
  • {{jsxref("Int8Array")}}
  • -
  • {{jsxref("Uint8Array")}}
  • -
  • {{jsxref("Uint8ClampedArray")}}
  • -
  • {{jsxref("Int16Array")}}
  • -
  • {{jsxref("Uint16Array")}}
  • -
  • {{jsxref("Int32Array")}}
  • -
  • {{jsxref("Uint32Array")}}
  • -
  • {{jsxref("Float32Array")}}
  • -
  • {{jsxref("Float64Array")}}
  • -
- -

Diccionaris (mapes)

- -

Col·leccions d'objectes de tipus diccionari (també coneguts com a mapes o col·leccions d'entrades clau-valor). Els elements són iterables per ordre d'inserció.

- -
    -
  • {{jsxref("Map")}} {{experimental_inline()}}
  • -
  • {{jsxref("Set")}} {{experimental_inline()}}
  • -
  • {{jsxref("WeakMap")}} {{experimental_inline()}}
  • -
  • {{jsxref("WeakSet")}} {{experimental_inline()}}
  • -
- -

Dades estructurades

- -

Buffers de dades i JavaScript Object Notation.

- -
    -
  • {{jsxref("ArrayBuffer")}}
  • -
  • {{jsxref("DataView")}}
  • -
  • {{jsxref("JSON")}}
  • -
- -

Objectes d'abstracció de control

- -
    -
  • {{jsxref("Promise")}} {{experimental_inline()}}
  • -
- -

Reflexió

- -
    -
  • {{jsxref("Reflect")}} {{experimental_inline()}}
  • -
  • {{jsxref("Proxy")}} {{experimental_inline()}}
  • -
- -

Internacionalització

- -

Adicions al nucli de ECMAScript per a funcionalitats sensibles a l'idioma.

- -
    -
  • {{jsxref("Intl")}}
  • -
  • {{jsxref("Collator", "Intl.Collator")}}
  • -
  • {{jsxref("DateTimeFormat", "Intl.DateTimeFormat")}}
  • -
  • {{jsxref("NumberFormat", "Intl.NumberFormat")}}
  • -
- -

Objectes no-standard

- -
    -
  • {{jsxref("Generator")}} {{non-standard_inline()}}
  • -
  • {{jsxref("Iterator")}} {{non-standard_inline()}}
  • -
  • {{jsxref("ParallelArray")}} {{non-standard_inline()}}
  • -
  • {{jsxref("StopIteration")}} {{non-standard_inline()}}
  • -
- -

Altres

- - -
- -

 

diff --git a/files/ca/web/javascript/referencia/objectes_globals/infinity/index.html b/files/ca/web/javascript/referencia/objectes_globals/infinity/index.html deleted file mode 100644 index 409609bfd2..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/infinity/index.html +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: Infinity -slug: Web/JavaScript/Referencia/Objectes_globals/Infinity -translation_of: Web/JavaScript/Reference/Global_Objects/Infinity ---- -
-
-
{{jsSidebar("Objects")}}
-
-
- -

Resum

- -

La propietat global Infinity és un valor numèric que representa l'infinit.

- -

{{js_property_attributes(0,0,0)}}

- -

Sintaxi

- -
Infinity 
- -

Descripció

- -

Infinity és una propietat de l'objecte global, és a dir, és una variable dins l'àmbit global.

- -

El valor inical de Infinity és {{jsxref("Number.POSITIVE_INFINITY")}}. El valor Infinity (infinit positiu) és major que qualsevol altre nombre. Aquest valor es comporta matemàticament com l'infinit; per exemple, qualsevol nombre positiu multiplicat per Infinity dóna com a resultat Infinity, qualsevol valor dividit per Infinity dóna 0.

- -

Tal i com la especificació ECMAScript 5 defineix, Infinity no pot ser sobreescrit (implementat a JavaScript 1.8.5  / Firefox 4).

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacionsEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3
{{SpecName('ES5.1', '#sec-15.1.1.2', 'Infinity')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-value-properties-of-the-global-object-infinity', 'Infinity')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.NEGATIVE_INFINITY")}}
  • -
  • {{jsxref("Number.POSITIVE_INFINITY")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/json/index.html b/files/ca/web/javascript/referencia/objectes_globals/json/index.html deleted file mode 100644 index efc86409e6..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/json/index.html +++ /dev/null @@ -1,242 +0,0 @@ ---- -title: JSON -slug: Web/JavaScript/Referencia/Objectes_globals/JSON -translation_of: Web/JavaScript/Reference/Global_Objects/JSON ---- -
{{JSRef("Global_Objects", "JSON")}}
- -

Resum

- -

L'objecte JSON conté mètodes per a interpretar JavaScript Object Notation ({{glossary("JSON")}}) i convertir valors a JSON. Aquest objecte no pot ser cridat o construit, i a banda dels seus dos mètodes no té cap més funcionalitat o interès.

- -

and converting values to JSON. It can't be called or constructed, and aside from its two method properties it has no interesting functionality of its own.

- -

Descripció

- -

JavaScript Object Notation

- -

JSON és una sintaxi que permet serialitzar objectes, arrays, nombres, strings, booleans i {{jsxref("null")}}. Està basada en la sintaxi de JavaScript però és diferent: algunes parts de JavaScript no són convertibles a JSON i algunes de JSON no ho són a JavaScript. Vegeu també JSON: El subconjunt de JavaScript que no ho és.

- - - - - - - - - - - - - - - - - - - - - - - -
Diferències entre JavaScript i JSON
Tipus a JavaScriptDiferències a JSON
Objectes i ArraysEls noms de les propietats han de estar embolcallats per cometes dobles; les cometes simples estan prohibides
NombresNo són permesos zeros a l'esquerra; els nombres decimals separent la part sencera amb un punt i han de tindre al menys un digit decimal.
Strings -

Només es pot escapar un grup limitat de caràcters; alguns caràcters de control no són permesos; el separador de línies Unicode (U+2028) i el separador de paràgrafs (U+2029) són permesos; les strings han d'estar embolcallades per cometes dobles. Vegeu l'exemple següent on {{jsxref("JSON.parse()")}} funciona correctament i es llença un {{jsxref("SyntaxError")}} a l'avaluar el codi com a JavaScript:

- -
-var code = '"\u2028\u2029"';
-JSON.parse(code); // funciona correctament
-eval(code); // falla
-
-
- -

La sintaxi completa de JSON és la següent:

- -
JSON = null
-    o true o false
-    o JSONNumber
-    o JSONString
-    o JSONObject
-    o JSONArray
-
-JSONNumber = - PositiveNumber
-          o PositiveNumber
-PositiveNumber = DecimalNumber
-              o DecimalNumber . Digits
-              o DecimalNumber . Digits ExponentPart
-              o DecimalNumber ExponentPart
-DecimalNumber = 0
-             o OneToNine Digits
-ExponentPart = e Exponent
-            o E Exponent
-Exponent = Digits
-        o + Digits
-        o - Digits
-Digits = Digit
-      o Digits Digit
-Digit = 0 through 9
-OneToNine = 1 through 9
-
-JSONString = ""
-          o " StringCharacters "
-StringCharacters = StringCharacter
-                o StringCharacters StringCharacter
-StringCharacter = qualsevol caràcter excepte
-                  " o \ o U+0000 fins a U+001F
-               o EscapeSequence
-EscapeSequence = \" o \/ o \\ o \b o \f o \n o \r o \t
-              o \u HexDigit HexDigit HexDigit HexDigit
-HexDigit = 0 fins a 9
-        o A fins a F
-        o a fins a f
-
-JSONObject = { }
-          o { Members }
-Members = JSONString : JSON
-       o Members , JSONString : JSON
-
-JSONArray = [ ]
-         o [ ArrayElements ]
-ArrayElements = JSON
-             o ArrayElements , JSON
-
- -

Pot haver-hi espais en blanc sense significat a qualsevol lloc excepte dins un JSONNumber (el nombres no poden contenir espais) o JSONString (on s'interpreta com el caràcter corrsponen dins l'string, o causaria un error). Els caràcters tabulador (U+0009), retorn de carro (U+000D), nova línia (U+000A), i l'espai (U+0020) són els únics caràcters d'espai en blanc acceptats.

- -

Mètodes

- -
-
{{jsxref("JSON.parse()")}}
-
Interpreta una string com a JSON, opcionalment transforma el valor produït i les seves propietats, i retorna el valor.
-
{{jsxref("JSON.stringify()")}}
-
Retorna un JSON string corresponent al valor especificat, opcionalment només inclou determinades propietats o reemplaça el valor de propietats tal i com defineixi l'usuari.
-
- -

Polyfill

- -

L'objecte JSON no és suportat a navegadors antics. Aquest problema pot solventar-se insertant el codi següent al principi dels scripts, permetent l'ús de l'objecte JSON en implementacions on no hi ha suport natiu (com ara Internet Explorer 6).

- -

El següent algorisme emula l'objecte JSON natiu:

- -
if (!window.JSON) {
-  window.JSON = {
-    parse: function(sJSON) { return eval('(' + sJSON + ')'); },
-    stringify: (function () {
-      var toString = Object.prototype.toString;
-      var isArray = Array.isArray || function (a) { return toString.call(a) === '[object Array]'; };
-      var escMap = {'"': '\\"', '\\': '\\\\', '\b': '\\b', '\f': '\\f', '\n': '\\n', '\r': '\\r', '\t': '\\t'};
-      var escFunc = function (m) { return escMap[m] || '\\u' + (m.charCodeAt(0) + 0x10000).toString(16).substr(1); };
-      var escRE = /[\\"\u0000-\u001F\u2028\u2029]/g;
-      return function stringify(value) {
-        if (value == null) {
-          return 'null';
-        } else if (typeof value === 'number') {
-          return isFinite(value) ? value.toString() : 'null';
-        } else if (typeof value === 'boolean') {
-          return value.toString();
-        } else if (typeof value === 'object') {
-          if (typeof value.toJSON === 'function') {
-            return stringify(value.toJSON());
-          } else if (isArray(value)) {
-            var res = '[';
-            for (var i = 0; i < value.length; i++)
-              res += (i ? ', ' : '') + stringify(value[i]);
-            return res + ']';
-          } else if (toString.call(value) === '[object Object]') {
-            var tmp = [];
-            for (var k in value) {
-              if (value.hasOwnProperty(k))
-                tmp.push(stringify(k) + ': ' + stringify(value[k]));
-            }
-            return '{' + tmp.join(', ') + '}';
-          }
-        }
-        return '"' + value.toString().replace(escRE, escFunc) + '"';
-      };
-    })()
-  };
-}
-
- -

Dos polyfills complexos coneguts per a l'objecte JSON són JSON2 i JSON3.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.12', 'JSON')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-json-object', 'JSON')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatIE("8.0")}}{{CompatOpera("10.5")}}{{CompatSafari("4.0")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Basat en la taula de compatibilitat de Kangax.

- -

Vegeu també

- -
    -
  • {{jsxref("Date.prototype.toJSON()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/clear/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/clear/index.html deleted file mode 100644 index f29cc93eef..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/clear/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Map.prototype.clear() -slug: Web/JavaScript/Referencia/Objectes_globals/Map/clear -translation_of: Web/JavaScript/Reference/Global_Objects/Map/clear ---- -
{{JSRef}}
- -

El mètode clear() esborra tots els elements d'un objecte de tipus Map.

- -

Sintaxi

- -
myMap.clear();
- -

Exemples

- -

Utilitzar el mètode clear

- -
var myMap = new Map();
-myMap.set("bar", "baz");
-myMap.set(1, "foo");
-
-myMap.size;       // 2
-myMap.has("bar"); // true
-
-myMap.clear();
-
-myMap.size;       // 0
-myMap.has("bar")  // false
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.clear', 'Map.prototype.clear')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("19.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("19.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/delete/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/delete/index.html deleted file mode 100644 index 01c1b2cf28..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/delete/index.html +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: Map.prototype.delete() -slug: Web/JavaScript/Referencia/Objectes_globals/Map/delete -translation_of: Web/JavaScript/Reference/Global_Objects/Map/delete ---- -
{{JSRef}}
- -

El mètode delete() elimina l'element especificat de l'objecte Map.

- -

Sintaxi

- -
myMap.delete(clau);
- -

Paràmetres

- -
-
clau
-
Necessari. La clau de l'element a eliminar de l'objecte Map.
-
- -

valor Return

- -

Retorna true si un element de l'objecte Map s'ha eleminat amb èxit.

- -

Exemples

- -

Utilitzar el mètode delete

- -
var myMap = new Map();
-myMap.set("bar", "foo");
-
-myMap.delete("bar"); // Retorna true. Eliminat satisfactòriament.
-myMap.has("bar");    // Retorna false. L'element "bar" ja no és present.
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.delete', 'Map.prototype.delete')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/entries/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/entries/index.html deleted file mode 100644 index d5f6942695..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/entries/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Map.prototype.entries() -slug: Web/JavaScript/Referencia/Objectes_globals/Map/entries -translation_of: Web/JavaScript/Reference/Global_Objects/Map/entries ---- -
{{JSRef}}
- -

El mètode entries()retorna un nou objecte Iterator que conté la parella [clau, valor] per cadascun dels elements de l'objecte Map en l'ordre d'inserció.

- -

Sintaxi

- -
myMap.entries()
- -

Exemples

- -

Utilitzar entries()

- -
var myMap = new Map();
-myMap.set("0", "foo");
-myMap.set(1, "bar");
-myMap.set({}, "baz");
-
-var mapIter = myMap.entries();
-
-console.log(mapIter.next().value); // ["0", "foo"]
-console.log(mapIter.next().value); // [1, "bar"]
-console.log(mapIter.next().value); // [Object, "baz"]
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.entries', 'Map.prototype.entries')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("20") }}{{CompatNo}}257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("20")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map.prototype.keys()")}}
  • -
  • {{jsxref("Map.prototype.values()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/foreach/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/foreach/index.html deleted file mode 100644 index 7097bbee3d..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/foreach/index.html +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: Map.prototype.forEach() -slug: Web/JavaScript/Referencia/Objectes_globals/Map/forEach -translation_of: Web/JavaScript/Reference/Global_Objects/Map/forEach ---- -
{{JSRef}}
- -

El mètode forEach() executa la funció proporcionada un cop epr cada parell clau/valor dins l'objecte Map, seguint l'ordre en el que han estat inserits.

- -

Sintaxi

- -
myMap.forEach(callback[, thisArg])
- -

Paràmetres

- -
-
callback
-
Funció a executar per a cada element.
-
thisArg
-
Valor a utilitzar com a this mentre s'estigui executant executing callback.
-
- -

Descripció

- -

El mètode forEach executa la funció callback  proporcionada un cop per a cada clau que existeixi dins el mapa. No s'invocarà la funció per a claus que hagin estat esborrades. Tanmateix si que s'executarà per a valors amb clau present però que el seu valor sigui undefined.

- -

callback s'invocarà amb tres arguments:

- -
    -
  • el valor de l'element
  • -
  • la clau de l'element
  • -
  • l'objecte Map que s'està recorrent
  • -
- -

Si es proporciona el paràmetre thisArg a la crida de forEach, aquest es passarà a callback quan s'invoqui per a ser utilitzat com a this dins la funció.  En qualsevol altre cas el valor que rebrà this dins la funció callback serà undefined. El valor de this que serà finalment observable dins de callback és determinat d'acord a les regles habituals per a determinar el valor de this observat dins d'una funció.

- -

Cada valor serà visitat un cop, a no ser que hagi estat eliminat o tornar a afegir abans que el mètode forEach acabi. No s'invocarà callback per a valors eliminats abans de ser visitats. Si que es visitaran, però, valors nous afegits abans forEach no hagi acabat.

- -

forEach executa la funció callback un cop per cada element de l'objecte Map; no retorna cap valor.

- -

Exemples

- -

Mostrar els continguts d'un objecte Map

- -

El codi següent mostra una línia per cada element d'un objecte Map:

- -
function logMapElements(value, key, map) {
-    console.log("m[" + key + "] = " + value);
-}
-Map([["foo", 3], ["bar", {}], ["baz", undefined]]).forEach(logMapElements);
-// mostra:
-// "m[foo] = 3"
-// "m[bar] = [object Object]"
-// "m[baz] = undefined"
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("25.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("25.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.forEach()")}}
  • -
  • {{jsxref("Set.prototype.forEach()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/get/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/get/index.html deleted file mode 100644 index ec345df059..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/get/index.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Map.prototype.get() -slug: Web/JavaScript/Referencia/Objectes_globals/Map/get -translation_of: Web/JavaScript/Reference/Global_Objects/Map/get ---- -
{{JSRef}}
- -

El mètode get() retorna l'element especifciat d'un objecte Map.

- -

Sintaxi

- -
myMap.get(clau);
- -

Paràmetres

- -
-
clau
-
Obligatori. La clau de l'element a retorna de l'objecte Map.
-
- -

Valor a retornar

- -

Retorna l'element associat a la clau especificada o bé undefined si no s'ha pogut trobar la clau dins l'objecte Map.

- -

Exemples

- -

Utilitzar el mètode get

- -
var myMap = new Map();
-myMap.set("bar", "foo");
-
-myMap.get("bar");  // Retorna "foo".
-myMap.get("baz");  // Retorna undefined.
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.get', 'Map.prototype.get')}}{{Spec2('ES6')}}Definició inicial.
{{SpecName('ESDraft', '#sec-map.prototype.get', 'Map.prototype.get')}}{{Spec2('ESDraft')}} 
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map")}}
  • -
  • {{jsxref("Map.prototype.set()")}}
  • -
  • {{jsxref("Map.prototype.has()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/has/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/has/index.html deleted file mode 100644 index d0ce1bec54..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/has/index.html +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: Map.prototype.has() -slug: Web/JavaScript/Referencia/Objectes_globals/Map/has -translation_of: Web/JavaScript/Reference/Global_Objects/Map/has ---- -
{{JSRef}}
- -

El mètode has() retorna un booleà que indica si existeix un element amb la clau especificada o no.

- -

Sintaxi

- -
myMap.has(clau);
- -

Paràmetres

- -
-
clau
-
Obligatori. La clau de l'element que es comprovarà si existeix o no dins l'objecte Map.
-
- -

Valor retornat

- -
-
Booleà
-
Retorna true si existeix un element amb la clau proporcionada dins l'objecte Map; retorna false en qualsevol altre cas.
-
- -

Exemples

- -

Utilitzar el mètode has

- -
var myMap = new Map();
-myMap.set("bar", "foo");
-
-myMap.has("bar");  // retorn true
-myMap.has("baz");  // retorn false
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.has', 'Map.prototype.has')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map")}}
  • -
  • {{jsxref("Map.prototype.set()")}}
  • -
  • {{jsxref("Map.prototype.get()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/index.html deleted file mode 100644 index 8e2bb647bd..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/index.html +++ /dev/null @@ -1,385 +0,0 @@ ---- -title: Map -slug: Web/JavaScript/Referencia/Objectes_globals/Map -translation_of: Web/JavaScript/Reference/Global_Objects/Map ---- -
{{JSRef("Global_Objects", "Map")}}
- -

Resum

- -

L'objecte Map és un simple mapa de parelles clau/valor. Qualsevol valor (tant objectes com {{Glossary("Primitive", "primitive values")}}) poden fer-se servir tant com a clau com a valor.

- -

Sintaxi

- -
new Map([iterable])
-
- -

Paràmetres

- -
-
iterable
-
Iterable és un Array o un altre objecte iterable els quals els seus elements són parelles clau/valor (Arrays de 2 elements). Cada parella clau/valor serà afegida al nou mapa. nul és tracta com a indefinit.
-
- -

Descripció

- -

Un objecte Map pot iterar els seus elements en ordre d'inserció - un bucle for..of retornarà un array de [key, value] per cada iteració.

- -

Igualtat de claus

- -

La igualtat de claus es basa en l'algorisme "mateix valor": NaN es considera igual a NaN (tot i que NaN !== NaN) i tots els altres valors es consideren iguals d'acord amb la semàntica de l'operador ===. En versions anteriors a l'esborrany de l'ECMAScript 6 -0 i +0 es consideraven diferents (tot i que -0 === +0), aquest comportament s'ha canviat en versions posteriors i ha sigut adaptat al {{geckoRelease("29")}} ({{bug("952870")}}) i una versió diària de Chrome.

- -

Comparació d'objectes amb mapes

- -

Els {{jsxref("Object", "Objects")}} son similars als Maps en el sentit que tots dos permeten assignar valors a claus, obtenir aquests valors, esborrar claus i detectar si una clau té un valor assignat o no. Degut a això, històricament s'han fet anar Objects com a Maps; tot i això existeixen diferències importants entre Objects i Maps que fan que l'ús de Map sigui millor.

- -
    -
  • Un Object té un prototipus, això implica que hi haurà algunes claus definides inicialment. Aquest problem es pot adreçar utilitzant map = Object.create(null).
  • -
  • Les claus d'un Object són {{jsxref("String", "Strings")}}, mentre que les claus d'un Map poden ser de qualsevol tipus.
  • -
  • És fàcil obtindre el tamany d'un Map mentre que el tamany d'un Object ha de ser calculat manualment.
  • -
- -

Utilitzeu mapes en comptes d'objejctes quan les claus no se sàpiguin en temps d'execució, o bé quan totes les claus o els valors siguin del mateix tipus.

- -

Utilitzeu objectes quan hi hagi una lògica que operi els elements individualment.

- -

Propietats

- -
-
Map.length
-
El valor de la propietat length és 1.
-
{{jsxref("Map.prototype")}}
-
Representa el prototipus pel constructor Map. Permet afegir propietats a tots els objectes de tipus Map.
-
- -

Instàncies de Map

- -

Totes les instàncies de Map hereten de {{jsxref("Map.prototype")}}.

- -

Propietats

- -

{{page('ca/Web/JavaScript/Reference/Global_Objects/Map/prototype','Propietats')}}

- -

Mètodes

- -

{{page('ca/Web/JavaScript/Reference/Global_Objects/Map/prototype','Mètodes')}}

- -

Exemples

- -

Exemple: Utilitzar l'objecte Map

- -
var myMap = new Map();
-
-var keyObj = {},
-    keyFunc = function () {},
-    keyString = "a string";
-
-// preparar els valors
-myMap.set(keyString, "valor associat a amb 'un string'");
-myMap.set(keyObj, "valor associat amb keyObj");
-myMap.set(keyFunc, "valor associat amb with keyFunc");
-
-myMap.size; // 3
-
-// obtenir els valors
-myMap.get(keyString);    // "valor associat amb 'un string'"
-myMap.get(keyObj);       // "valor associat amb keyObj"
-myMap.get(keyFunc);      // "valor associat amb keyFunc"
-
-myMap.get("a string");   // "valor associat amb 'un string'"
-                         // com que keyString === 'un string'
-myMap.get({});           // undefined, perquè keyObj !== {}
-myMap.get(function() {}) // undefined, perquè keyFunc !== function () {}
-
- -

Exemple: Utilitzar NaN com a claus en un Map

- -

NaN també pot emprar-se com a clau. Tot i que NaN no és igual a si mateix (NaN !== NaN és cert), l'exemple següent funciona perquè els NaNs són indistinguibles entre ells:

- -
var myMap = new Map();
-myMap.set(NaN, "no un nombre");
-
-myMap.get(NaN); // "no un nombre"
-
-var altreNaN = Number("foo");
-myMap.get(altreNaN); // "no un nombre"
-
- -

Exemple: Iterar Maps amb for..of

- -

Els mapes es poden iterar fent servir un bucle for..of :

- -
var myMap = new Map();
-myMap.set(0, "zero");
-myMap.set(1, "un");
-for (var [key, value] of myMap) {
-  alert(key + " = " + value);
-}
-// Mostrarà 2 alertes; el primer amb "0 = zero" i el segon amb "1 = one"
-
-for (var key of myMap.keys()) {
-  alert(key);
-}
-// Mostrarà 2 alertes; el primer amb "0" i el segon amb "1"
-
-for (var value of myMap.values()) {
-  alert(value);
-}
-// Mostrarà 2 alertes; el primer amb "zero" i el segon amb "un"
-
-for (var [key, value] of myMap.entries()) {
-  alert(key + " = " + value);
-}
-// Mostrarà 2 alertes; el primer amb "0 = zero" i el segon amb "1 = un"
-
-myMap.forEach(function(value, key) {
-  alert(key + " = " + value);
-}, myMap)
-// Mostrarà 2 alertes; el primer amb "0 = zero" i el segon amb "1 = un"
-
- -

Exemple: Relació amb els objectes Array

- -
var kvArray = [["clau1", "valor1"], ["clau2", "valor2"]];
-
-// Utilitzeu el constructor de Map normal per a transformar un Array 2D clau-valor en un mapa
-var myMap = new Map(kvArray);
-
-myMap.get("valor1"); // retorna "valor1"
-
-// Utilitzeu l'operador spread per a transformar un mapa en un Array 2D clau-valor.
-alert(uneval([...myMap])); // Mostrarà exactament el mateix Array que kvArray
-
-// O bé utilitzeu l'operador spread a l'iterador de les claus o els valor per a obtenir
-// un array de només les claus o els valors
-alert(uneval([...myMap.keys()])); // Mostrarà ["clau1", "clau2"]
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map-objects', 'Map')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic -

{{ CompatChrome(31) }} [1]
- {{ CompatChrome(38) }}

-
{{ CompatGeckoDesktop("13") }}11257.1
Argument del constructor: new Map(iterable){{ CompatChrome(38) }}{{ CompatGeckoDesktop("13") }}{{ CompatNo() }}25{{ CompatNo() }}
iterable{{ CompatChrome(38) }}{{ CompatGeckoDesktop("17") }}{{ CompatNo() }}257.1
Map.clear(){{ CompatChrome(31) }} [1]
- {{ CompatChrome(38) }}
{{CompatGeckoDesktop("19")}}11257.1
Map.keys(), Map.values(), Map.entries(){{ CompatChrome(37) }} [1]
- {{ CompatChrome(38) }}
{{CompatGeckoDesktop("20")}}{{ CompatNo() }}257.1
Map.forEach(){{ CompatChrome(36) }} [1]
- {{ CompatChrome(38) }}
{{CompatGeckoDesktop("25")}}11257.1
Igualtat de claus per a -0 i 0{{ CompatChrome(34) }} [1]
- {{ CompatChrome(38) }}
{{CompatGeckoDesktop("29")}}{{ CompatNo() }}25{{ CompatNo() }}
Argument del constructor: new Map(null){{ CompatVersionUnknown() }}{{CompatGeckoDesktop("37")}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
Monkey-patched set() al Constructor{{ CompatVersionUnknown() }}{{CompatGeckoDesktop("37")}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{ CompatNo() }}{{ CompatChrome(31) }} [1]
- {{ CompatChrome(38) }}
{{ CompatGeckoMobile("13") }}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Argument del constructor: new Map(iterable){{ CompatNo() }}{{ CompatChrome(38) }}{{ CompatGeckoMobile("13") }}{{ CompatNo() }}{{ CompatNo() }}{{ CompatNo }}
iterable{{ CompatNo() }}{{ CompatNo() }}{{ CompatGeckoMobile("17") }}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Map.clear(){{ CompatNo() }}{{ CompatChrome(31) }} [1]
- {{ CompatChrome(38) }}
{{CompatGeckoMobile("19")}}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Map.keys(), Map.values(), Map.entries(){{ CompatNo() }}{{ CompatChrome(37) }} [1]
- {{ CompatChrome(38) }}
{{CompatGeckoMobile("20")}}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Map.forEach(){{ CompatNo() }}{{ CompatChrome(36) }} [1]
- {{ CompatChrome(38) }}
{{CompatGeckoMobile("25")}}{{ CompatNo() }}{{ CompatNo() }}iOS 8
Igualtat per a -0 i 0{{ CompatNo() }}{{ CompatChrome(34) }} [1]
- {{ CompatChrome(38) }}
{{CompatGeckoMobile("29")}}{{ CompatNo() }}{{ CompatNo() }}{{ CompatNo() }}
Argument del constructor: new Map(null){{ CompatUnknown() }}{{ CompatVersionUnknown() }}{{CompatGeckoMobile("37")}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
Monkey-patched set() al Constructor{{ CompatUnknown() }}{{ CompatVersionUnknown() }}{{CompatGeckoMobile("37")}}{{ CompatUnknown() }}{{ CompatUnknown() }}{{ CompatUnknown() }}
-
- -

[1] The feature is available behind a preference. In chrome://flags, activate the entry “Enable Experimental JavaScript”.

- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/keys/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/keys/index.html deleted file mode 100644 index 47c975a891..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/keys/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Map.prototype.keys() -slug: Web/JavaScript/Referencia/Objectes_globals/Map/keys -translation_of: Web/JavaScript/Reference/Global_Objects/Map/keys ---- -
{{JSRef}}
- -

El mètode keys() retorna un nou objecte Iterator que conté les claus per cadascún dels elements de l'objecte Map en l'ordre d'insersió.

- -

Sintaxi

- -
myMap.keys()
- -

Exemples

- -

Utilitzar keys()

- -
var myMap = new Map();
-myMap.set("0", "foo");
-myMap.set(1, "bar");
-myMap.set({}, "baz");
-
-var mapIter = myMap.keys();
-
-console.log(mapIter.next().value); // "0"
-console.log(mapIter.next().value); // 1
-console.log(mapIter.next().value); // Objecte
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.keys', 'Map.prototype.keys')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("20")}}{{CompatNo}}257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("20") }}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map.prototype.entries()")}}
  • -
  • {{jsxref("Map.prototype.values()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/prototype/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/prototype/index.html deleted file mode 100644 index 3a7508f042..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/prototype/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: Map.prototype -slug: Web/JavaScript/Referencia/Objectes_globals/Map/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/Map -translation_of_original: Web/JavaScript/Reference/Global_Objects/Map/prototype ---- -
{{JSRef}}
- -

La propietat Map.prototype representa el prototipus per al constructor de {{jsxref("Map")}}.

- -
{{js_property_attributes(0,0,0)}}
- -

Descripció

- -

Les instàncies de {{jsxref("Map")}} hereten de {{jsxref("Map.prototype")}}. Es pot utilitzar el prototipus de l'objecte constructor per a afegir propietats o mètodes a totes les instàncies de Map.

- -

Propietats

- -
-
Map.prototype.constructor
-
Retorna la funció que ha creat el una instància del prototipus. Per defecte és la funció {{jsxref("Map")}}.
-
{{jsxref("Map.prototype.size")}}
-
Retorna el nombre de parells clau-valor que conté l'objecte Map.
-
- -

Mètodes

- -
-
{{jsxref("Map.prototype.clear()")}}
-
Elimina tots els parells clau-valor de l'objecte Map.
-
{{jsxref("Map.delete", "Map.prototype.delete(clau)")}}
-
Elimina el valor associat a la clau especificada i retorna el valor que el mètode Map.prototype.has(valor) hagués retornat abans d'eliminar-lo. Map.prototype.has(clau) retornarà false després de cridar aquest mètode.
-
{{jsxref("Map.prototype.entries()")}}
-
Retorna un nou objecte Iterator que conté un array de [clau, valor] per a cada element dins l'objecte Map, en estricte ordre d'inserció.
-
{{jsxref("Map.forEach", "Map.prototype.forEach(callbackFn[, thisArg])")}}
-
Crida callbackFn per a cada parell clau-valor present a l'objecte Map, recorreguts per ordre d'inserció. Si es proporciona el paràmetre thisArg, aquest s'utilitzarà com a valor de this per a cada crida a callbackFn.
-
{{jsxref("Map.get", "Map.prototype.get(clau)")}}
-
Retorna el valor associat a la clau, o bé undefined si aquesta clau no té cap valor associat.
-
{{jsxref("Map.has", "Map.prototype.has(clau)")}}
-
Retorna un booleà que especifica si la clau té un valor associat en aquest objecte Map o no.
-
{{jsxref("Map.prototype.keys()")}}
-
Retorna un nou objecte Iterator que conté les claus de cada element de l'objecte Map, en ordre d'inserció.
-
{{jsxref("Map.set", "Map.prototype.set(clau, valor)")}}
-
Assigna valor a la clau a l'objecte Map. Retorna l'objecte Map.
-
{{jsxref("Map.prototype.values()")}}
-
Retorna un nou objecte Iterator que conté els valors de cada element de l'objecte Map, en ordre d'inserció.
-
{{jsxref("Map.@@iterator", "Map.prototype[@@iterator]()")}}
-
Retorna un nou objecte Iterator que conté un array de [clau, valor] per a cada element de l'objecte Map, en ordre d'inserció.
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype', 'Map.prototype')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("13") }}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13")}}{{CompatNo}}{{CompatNo}} -

8

-
-
- -

Vegeu també

- -
    -
  • {{jsxref("Set.prototype")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/set/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/set/index.html deleted file mode 100644 index 3b77060831..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/set/index.html +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: Map.prototype.set() -slug: Web/JavaScript/Referencia/Objectes_globals/Map/set -translation_of: Web/JavaScript/Reference/Global_Objects/Map/set ---- -
{{JSRef}}
- -

El mètode set() afegeig un nou element amb la clau i el valor especificats a un objecte de tipus Map.

- -

Sintaxi

- -
myMap.set(clau, valor);
- -

Paràmetres

- -
-
clau
-
Obligatori. La clau de l'element a afegir a l'objecte Map.
-
valor
-
Obligatori. El valor de l'element a afegir a l'objecte Map.
-
- -

Valor retornat

- -

L'objecte Map.

- -

Exemples

- -

Utilitzar el mètode set

- -
var myMap = new Map();
-
-// Afegim nous elements al mapa
-myMap.set("bar", "foo");
-myMap.set(1, "foobar");
-
-// Actualitzem un element amb una clau ja existent al mapa
-myMap.set("bar", "fuuu");
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.set', 'Map.prototype.set')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Notes sobre compatibilitat

- -
    -
  • Abans del Firefox 33 {{geckoRelease("33")}}, Map.prototype.set retornava undefined i en conseqüència no permitia la crida encadenada. Aquest problema va ser solucionat ({{bug(1031632)}}). Aquest comportament també es pot observar al Chrome/v8 (problema).
  • -
- -

Vegeu també

- -
    -
  • {{jsxref("Map")}}
  • -
  • {{jsxref("Map.prototype.get()")}}
  • -
  • {{jsxref("Map.prototype.has()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/size/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/size/index.html deleted file mode 100644 index aa70c7d84b..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/size/index.html +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Map.prototype.size -slug: Web/JavaScript/Referencia/Objectes_globals/Map/size -translation_of: Web/JavaScript/Reference/Global_Objects/Map/size ---- -
{{JSRef}}
- -

La propietat d'accés size retorna el número d'elements en un objecte {{jsxref("Map")}}.

- -

Descripció

- -

El valor de size és un nombre sencer que representa quantes entrades té l'objecte Map. Una funció d'accés establerta per size és undefined; aquesta propietat no es pot canviar.

- -

Exemples

- -

Utilitzar size

- -
var myMap = new Map();
-myMap.set("a", "alpha");
-myMap.set("b", "beta");
-myMap.set("g", "gamma");
-
-myMap.size // 3
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-get-map.prototype.size', 'Map.prototype.size')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support38{{ CompatGeckoDesktop("19") }}{{ CompatIE("11") }}257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatNo}}38{{CompatGeckoMobile("19")}}{{CompatNo}}{{CompatNo}}8
-
- -

Notes específiques de Gecko

- -
    -
  • A partir de Gecko 13 {{geckoRelease("13")}} fins Gecko 18 {{geckoRelease("18")}} la propietat size era implementada com un mètode Map.prototype.size(), aquesta s'ha canviat a una propietat en versions posteriors conforme l'especificació d'ECMAScript 6 ({{bug("807001")}}).
  • -
- -

Vegeu també

- -
    -
  • {{jsxref("Map")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/map/values/index.html b/files/ca/web/javascript/referencia/objectes_globals/map/values/index.html deleted file mode 100644 index f1b23be7e7..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/map/values/index.html +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: Map.prototype.values() -slug: Web/JavaScript/Referencia/Objectes_globals/Map/values -translation_of: Web/JavaScript/Reference/Global_Objects/Map/values ---- -
{{JSRef}}
- -

El mètode values() retorna un nou objecte Iterator que conté els valor per cadascún dels elements de l'objecte Map en l'ordre d'inserció.

- -

Sintaxi

- -
myMap.values()
- -

Exemples

- -

Utilitzar values()

- -
var myMap = new Map();
-myMap.set("0", "foo");
-myMap.set(1, "bar");
-myMap.set({}, "baz");
-
-var mapIter = myMap.values();
-
-console.log(mapIter.next().value); // "foo"
-console.log(mapIter.next().value); // "bar"
-console.log(mapIter.next().value); // "baz"
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-map.prototype.values', 'Map.prototype.values')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("20") }}{{CompatNo}}257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{ CompatGeckoMobile("20") }}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map.prototype.entries()")}}
  • -
  • {{jsxref("Map.prototype.keys()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/abs/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/abs/index.html deleted file mode 100644 index 34d3e5beb9..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/abs/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Math.abs() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/abs -translation_of: Web/JavaScript/Reference/Global_Objects/Math/abs ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La funció Math.abs() retorna el valor absolut d'un nombre. És a dir:

- -

Math.abs(x)=|x|={xifx>00ifx=0-xifx<0{\mathtt{\operatorname{Math.abs}(x)}} = {|x|} = \begin{cases} x & \text{if} \quad x \geq 0 \\ -x & \text{if} \quad x < 0 \end{cases}

- -

Sintaxi

- -
Math.abs(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Degut a que abs() és un mètode estàtic de Math, sempre s'utilitza com a Math.abs(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Comportament de Math.abs()

- -

Si li passem una string no numèric o bé una variable {{jsxref("undefined")}}/buida retorna {{jsxref("NaN")}}. Passar {{jsxref("null")}} retorna 0.

- -
Math.abs('-1');     // 1
-Math.abs(-2);       // 2
-Math.abs(null);     // 0
-Math.abs('string'); // NaN
-Math.abs();         // NaN
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.1', 'Math.abs')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.abs', 'Math.abs')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.ceil()")}}
  • -
  • {{jsxref("Math.floor()")}}
  • -
  • {{jsxref("Math.round()")}}
  • -
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/acos/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/acos/index.html deleted file mode 100644 index fdf781a4e2..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/acos/index.html +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: Math.acos() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/acos -translation_of: Web/JavaScript/Reference/Global_Objects/Math/acos ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La funció Math.acos() retorna l'arccosinus (mesurat en radians) d'un nombre, és a dir:x[-1;1],Math.acos(x)=arccos(x)= l'únic y[0;π]tal quecos(y)=x\forall x \in [{-1};1],\;\mathtt{\operatorname{Math.acos}(x)} = \arccos(x) = \text{ the unique } \; y \in [0; \pi] \, \text{such that} \; \cos(y) = x

- -

Sintaxi

- -
Math.acos(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

El mètode Math.acos() retorna un valor numèric entre 0 i π radians per a x entre -1 i 1. Si el valor de x està fora d'aquest rang, retorna {{jsxref("NaN")}}.

- -

Degut a que acos() és un mètode estàtic de Math, sempre s'utilitza com a Math.acos(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.acos()

- -
Math.acos(-2);  // NaN
-Math.acos(-1);  // 3.141592653589793
-Math.acos(0);   // 1.5707963267948966
-Math.acos(0.5); // 1.0471975511965979
-Math.acos(1);   // 0
-Math.acos(2);   // NaN
-
- -

Per a valors menors que -1 o majors que 1, Math.acos() retorna {{jsxref("NaN")}}.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.2', 'Math.acos')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.acos', 'Math.acos')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.asin()")}}
  • -
  • {{jsxref("Math.atan()")}}
  • -
  • {{jsxref("Math.atan2()")}}
  • -
  • {{jsxref("Math.cos()")}}
  • -
  • {{jsxref("Math.sin()")}}
  • -
  • {{jsxref("Math.tan()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/acosh/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/acosh/index.html deleted file mode 100644 index edfe1dd8c0..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/acosh/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: Math.acosh() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/acosh -translation_of: Web/JavaScript/Reference/Global_Objects/Math/acosh ---- -
{{JSRef}}
- -

La funció Math.acosh() retorna l'accosinus hiperbòlic d'un nombre, és a dir

- -

x1,Math.acosh(x)=arcosh(x)= l'única y0tal quecosh(y)=x\forall x \geq 1, \mathtt{\operatorname{Math.acosh}(x)} = \operatorname{arcosh}(x) = \text{ the unique } \; y \geq 0 \; \text{such that} \; \cosh(y) = x

- -

Sintaxi

- -
Math.acosh(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Com que que acosh() és un mètode estàtic de Math, sempre s'utilitza com a Math.acosh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.acosh()

- -
Math.acosh(-1); // NaN
-Math.acosh(0);  // NaN
-Math.acosh(0.5) // NaN
-Math.acosh(1);  // 0
-Math.acosh(2);  // 1.3169578969248166
-
- -

Math.acosh() retorna {{jsxref("NaN")}} per a valors menors que 1.

- -

Polyfill

- -

Per a tot x1x \geq 1, tenim que arcosh(x)=ln(x+x2-1)\operatorname {arcosh} (x) = \ln \left(x + \sqrt{x^{2} - 1} \right) i, per tant, es pot emular mitjançant la funció següent:

- -
Math.acosh = Math.acosh || function(x) {
-  return Math.log(x + Math.sqrt(x * x - 1));
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacionsEstatComentaris
{{SpecName('ES6', '#sec-math.acosh', 'Math.acosh')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/asin/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/asin/index.html deleted file mode 100644 index 81288af5b6..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/asin/index.html +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: Math.asin() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/asin -translation_of: Web/JavaScript/Reference/Global_Objects/Math/asin ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La funció Math.asin() retorna l'arcsinus (en radians) d'un nombre, és a dir:

- -

x[-1;1],Math.asin(x)=arcsin(x)= l'únic y[-π2;π2]tal que  sin(y)=x\forall x \in [{-1};1],\;\mathtt{\operatorname{Math.asin}(x)} = \arcsin(x) = \text{ the unique } \; y \in \left[-\frac{\pi}{2}; \frac{\pi}{2}\right] \, \text{such that} \; \sin(y) = x

- -

Sintaxi

- -
Math.asin(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

El mètode Math.asin() retorna un valor numèric entre -π2-\frac{\pi}{2} i π2\frac{\pi}{2} radians per a x entre -1 i 1. Si el valor de x està fora d'aquest rang la funció retorna {{jsxref("NaN")}}.

- -

Degut a que asin() és un mètode estàtic de Math, sempre s'utilitza com a Math.asin(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Ús de Math.asin()

- -
Math.asin(-2);  // NaN
-Math.asin(-1);  // -1.5707963267948966 (-pi/2)
-Math.asin(0);   // 0
-Math.asin(0.5); // 0.5235987755982989
-Math.asin(1);   // 1.570796326794897 (pi/2)
-Math.asin(2);   // NaN
-
- -

Per a valors menors que -1 o majors que 1, Math.asin() retorna {{jsxref("NaN")}}.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.3', 'Math.asin')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.asin', 'Math.asin')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acos()")}}
  • -
  • {{jsxref("Math.atan()")}}
  • -
  • {{jsxref("Math.atan2()")}}
  • -
  • {{jsxref("Math.cos()")}}
  • -
  • {{jsxref("Math.sin()")}}
  • -
  • {{jsxref("Math.tan()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/asinh/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/asinh/index.html deleted file mode 100644 index 9a249bb202..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/asinh/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: Math.asinh() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/asinh -translation_of: Web/JavaScript/Reference/Global_Objects/Math/asinh ---- -
{{JSRef}}
- -

La funció Math.asinh() retorna l'arcsinus hiperbòlic d'un nombre, és a dir

- -

Math.asinh(x)=arsinh(x)= l'única ytal quesinh(y)=x\mathtt{\operatorname{Math.asinh}(x)} = \operatorname{arsinh}(x) = \text{ the unique } \; y \; \text{such that} \; \sinh(y) = x

- -

Sintaxi

- -
Math.asinh(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Com que que asinh() és un mètode estàtic de Math, sempre s'utilitza com a Math.asinh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.asinh()

- -
Math.asinh(1);  // 0.881373587019543
-Math.asinh(0);  // 0
-
- -

Polyfill

- -

Tenim que arsinh(x)=ln(x+x2+1)\operatorname {arsinh} (x) = \ln \left(x + \sqrt{x^{2} + 1} \right) amb el que podem emular el comportament amb la funció següent:

- -
Math.asinh = Math.asinh || function(x) {
-  if (x === -Infinity) {
-    return x;
-  } else {
-    return Math.log(x + Math.sqrt(x * x + 1));
-  }
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.asinh', 'Math.asinh')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/atan/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/atan/index.html deleted file mode 100644 index 034578fd54..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/atan/index.html +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Math.atan() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/atan -translation_of: Web/JavaScript/Reference/Global_Objects/Math/atan ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La funció Math.atan() retorna l'arctangent (en radians) d'un nombre, és a dir:

- -

Math.atan(x)=arctan(x)= l'unic y[-π2;π2]tal quetan(y)=x\mathtt{\operatorname{Math.atan}(x)} = \arctan(x) = \text{ the unique } \; y \in \left[-\frac{\pi}{2}; \frac{\pi}{2}\right] \, \text{such that} \; \tan(y) = x

- -

Sintaxi

- -
Math.atan(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

El mètode Math.atan() retorna un valor numèric entre -π2-\frac{\pi}{2} i π2\frac{\pi}{2} radians.

- -

Degut a que atan() és un mètode estàtic de Math, sempre s'utilitza com a Math.atan(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.atan()

- -
Math.atan(1);  // 0.7853981633974483
-Math.atan(0);  // 0
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.4', 'Math.atan')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.atan', 'Math.atan')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acos()")}}
  • -
  • {{jsxref("Math.asin()")}}
  • -
  • {{jsxref("Math.atan2()")}}
  • -
  • {{jsxref("Math.cos()")}}
  • -
  • {{jsxref("Math.sin()")}}
  • -
  • {{jsxref("Math.tan()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/atan2/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/atan2/index.html deleted file mode 100644 index 2816bb40b8..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/atan2/index.html +++ /dev/null @@ -1,139 +0,0 @@ ---- -title: Math.atan2() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/atan2 -translation_of: Web/JavaScript/Reference/Global_Objects/Math/atan2 ---- -
{{JSRef}}
- -

La funció Math.atan2() retorna l'arctangent del quocient dels arguments passats.

- -

Sintaxi

- -
Math.atan2(y, x)
- -

Paràmetres

- -
-
y
-
Primer nombre.
-
x
-
Segon nombre.
-
- -

Descripció

- -

El mètode Math.atan2() retorn aun valor numèric entre -π i π que representa l'angle theta d'un punt (x, y). Aquest angle es representa en radiants, en sentit contrari a les agulles del rellotge, entre l'eix positiu X i el punt (x, y). Cal destacar que els arguments d'aquesta funció representen les coordenades del punt, on el primer argument representa la coordenada y i el segon argument representa la coordenada x.

- -

Math.atan2() rep els arguments x i y de forma separada mentre que Math.atan() rep la relació (ratio) entre aquests dos arguments.

- -

Com que que atan2() és un mètode estàtic de Math, sempre s'utilitza com a Math.atan2(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.atan2()

- -
Math.atan2(90, 15); // 1.4056476493802699
-Math.atan2(15, 90); // 0.16514867741462683
-
-Math.atan2(±0, -0);               // ±PI.
-Math.atan2(±0, +0);               // ±0.
-Math.atan2(±0, -x);               // ±PI for x > 0.
-Math.atan2(±0, x);                // ±0 for x > 0.
-Math.atan2(-y, ±0);               // -PI/2 for y > 0.
-Math.atan2(y, ±0);                // PI/2 for y > 0.
-Math.atan2(±y, -Infinity);        // ±PI for finite y > 0.
-Math.atan2(±y, +Infinity);        // ±0 for finite y > 0.
-Math.atan2(±Infinity, x);         // ±PI/2 for finite x.
-Math.atan2(±Infinity, -Infinity); // ±3*PI/4.
-Math.atan2(±Infinity, +Infinity); // ±PI/4.
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.5', 'Math.atan2')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.atan2', 'Math.atan2')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acos()")}}
  • -
  • {{jsxref("Math.asin()")}}
  • -
  • {{jsxref("Math.atan()")}}
  • -
  • {{jsxref("Math.cos()")}}
  • -
  • {{jsxref("Math.sin()")}}
  • -
  • {{jsxref("Math.tan()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/atanh/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/atanh/index.html deleted file mode 100644 index 8a6b7cc2c8..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/atanh/index.html +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Math.atanh() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/atanh -translation_of: Web/JavaScript/Reference/Global_Objects/Math/atanh ---- -
{{JSRef}}
- -

La funció Math.atanh() retorna l'arctangent hiperbòlica d'un nombre, és a dir

- -

x(-1,1),Math.atanh(x)=arctanh(x)= l'única ytal quetanh(y)=x\forall x \in \left( -1, 1 \right), \mathtt{\operatorname{Math.atanh}(x)} = \operatorname{arctanh}(x) = \text{ the unique } \; y \; \text{such that} \; \tanh(y) = x

- -

Sintaxi

- -
Math.atanh(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Com que que atanh() és un mètode estàtic de Math, sempre s'utilitza com a Math.atanh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.atanh()

- -
Math.atanh(-2);  // NaN
-Math.atanh(-1);  // -Infinity
-Math.atanh(0);   // 0
-Math.atanh(0.5); // 0.5493061443340548
-Math.atanh(1);   // Infinity
-Math.atanh(2);   // NaN
-
- -

Es retorna {{jsxref("NaN")}} per a valors més grans que 1 o més petits que -1.

- -

Polyfill

- -

Per a |x|<1\left|x\right| < 1, tenim que artanh(x)=12ln(1+x1-x)\operatorname {artanh} (x) = \frac{1}{2}\ln \left( \frac{1 + x}{1 - x} \right) , que podem emular amb la funció següent:

- -
Math.atanh = Math.atanh || function(x) {
-  return Math.log((1+x)/(1-x)) / 2;
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.atanh', 'Math.atanh')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/cbrt/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/cbrt/index.html deleted file mode 100644 index 70d6767183..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/cbrt/index.html +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: Math.cbrt() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/cbrt -translation_of: Web/JavaScript/Reference/Global_Objects/Math/cbrt ---- -
{{JSRef}}
- -

La funció Math.cbrt() retorna la rel cúbica d'un nombre, és a dir

- -

Math.cbrt(x)=x3=la únicaytal quey3=x\mathtt{Math.cbrt(x)} = \sqrt[3]{x} = \text{the unique} \; y \; \text{such that} \; y^3 = x

- -

Sintaxi

- -
Math.cbrt(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Degut a que cbrt() és un mètode estàtic de Math, sempre s'utilitza com a Math.cbrt(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.cbrt()

- -
Math.cbrt(-1); // -1
-Math.cbrt(0);  // 0
-Math.cbrt(1);  // 1
-
-Math.cbrt(2);  // 1.2599210498948734
-
- -

Polyfill

- -

Per a tot x0x \geq 0, tenim que x3=x1/3\sqrt[3]{x} = x^{1/3} , podem llavors emular aquest comportament amb la funció següent:

- -
Math.cbrt = Math.cbrt || function(x) {
-  var y = Math.pow(Math.abs(x), 1/3);
-  return x < 0 ? -y : y;
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.cbrt', 'Math.cbrt')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.pow()")}}
  • -
  • {{jsxref("Math.sqrt()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/ceil/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/ceil/index.html deleted file mode 100644 index a96880eecd..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/ceil/index.html +++ /dev/null @@ -1,197 +0,0 @@ ---- -title: Math.ceil() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/ceil -translation_of: Web/JavaScript/Reference/Global_Objects/Math/ceil ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La funció Math.ceil() retorna el més petit dels nombres sencers més grans o iguals a un nombre donat.

- -

Sintaxi

- -
Math.ceil(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Degut a que ceil() és un mètode estàtic de Math, sempre s'utilitza com a Math.ceil(), ren comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Ús de Math.ceil()

- -

L'exemple següent mostra l'ús de Math.ceil().

- -
Math.ceil(.95);   // 1
-Math.ceil(4);     // 4
-Math.ceil(7.004); // 8
-
- -

Exemple: Ajust decimal

- -
// Closure
-(function() {
-  /**
-   * Decimal adjustment of a number.
-   *
-   * @param {String}  type  The type of adjustment.
-   * @param {Number}  value The number.
-   * @param {Integer} exp   The exponent (the 10 logarithm of the adjustment base).
-   * @returns {Number} The adjusted value.
-   */
-  function decimalAdjust(type, value, exp) {
-    // If the exp is undefined or zero...
-    if (typeof exp === 'undefined' || +exp === 0) {
-      return Math[type](value);
-    }
-    value = +value;
-    exp = +exp;
-    // If the value is not a number or the exp is not an integer...
-    if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
-      return NaN;
-    }
-    // Shift
-    value = value.toString().split('e');
-    value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
-    // Shift back
-    value = value.toString().split('e');
-    return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
-  }
-
-  // Decimal round
-  if (!Math.round10) {
-    Math.round10 = function(value, exp) {
-      return decimalAdjust('round', value, exp);
-    };
-  }
-  // Decimal floor
-  if (!Math.floor10) {
-    Math.floor10 = function(value, exp) {
-      return decimalAdjust('floor', value, exp);
-    };
-  }
-  // Decimal ceil
-  if (!Math.ceil10) {
-    Math.ceil10 = function(value, exp) {
-      return decimalAdjust('ceil', value, exp);
-    };
-  }
-})();
-
-// Round
-Math.round10(55.55, -1);   // 55.6
-Math.round10(55.549, -1);  // 55.5
-Math.round10(55, 1);       // 60
-Math.round10(54.9, 1);     // 50
-Math.round10(-55.55, -1);  // -55.5
-Math.round10(-55.551, -1); // -55.6
-Math.round10(-55, 1);      // -50
-Math.round10(-55.1, 1);    // -60
-// Floor
-Math.floor10(55.59, -1);   // 55.5
-Math.floor10(59, 1);       // 50
-Math.floor10(-55.51, -1);  // -55.6
-Math.floor10(-51, 1);      // -60
-// Ceil
-Math.ceil10(55.51, -1);    // 55.6
-Math.ceil10(51, 1);        // 60
-Math.ceil10(-55.59, -1);   // -55.5
-Math.ceil10(-59, 1);       // -50
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.6', 'Math.ceil')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.ceil', 'Math.ceil')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.abs()")}}
  • -
  • {{jsxref("Math.floor()")}}
  • -
  • {{jsxref("Math.round()")}}
  • -
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/clz32/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/clz32/index.html deleted file mode 100644 index 5cde08c7a8..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/clz32/index.html +++ /dev/null @@ -1,155 +0,0 @@ ---- -title: Math.clz32() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/clz32 -translation_of: Web/JavaScript/Reference/Global_Objects/Math/clz32 ---- -
{{JSRef}}
- -

La funció Math.clz32() retorna el nombre de zeros a l'esquerra que apareixen en una representació binària de 32 bits per a un nombre.

- -

Sintaxi

- -
Math.clz32(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

"clz32" és una abreviació de CountLeadingZeroes32.

- -

Si x no és un nombre, primer es convertirà a un nombre, i després es convertirà a un nombre sencer de 32 bits sense signe.

- -

Si el nombre sencer sense signe de 32 bits és 0, la funció retornarà 32 ja que tots els bits són 0.

- -

Aquesta funció és particulament útil per a sistemes que compilin en JavaScript, com ara Emscripten.

- -

Exemples

- -

Utilitzar Math.clz32()

- -
Math.clz32(1);                // 31
-Math.clz32(1000);             // 22
-Math.clz32();                 // 32
-
-[NaN, Infinity, -Infinity, 0, -0, null, undefined, 'foo', {}, []].filter(
-function(n) {
-  return Math.clz32(n) !== 32
-});                           // []
-
-Math.clz32(true);             // 31
-Math.clz32(3.5);              // 30
-
- -

Polyfill

- -

Aquesta funció polyfill utilitza {{jsxref("Math.imul")}}.

- -
Math.clz32 = Math.clz32 || (function () {
-  'use strict';
-
-  var table = [
-    32, 31,  0, 16,  0, 30,  3,  0, 15,  0,  0,  0, 29, 10,  2,  0,
-     0,  0, 12, 14, 21,  0, 19,  0,  0, 28,  0, 25,  0,  9,  1,  0,
-    17,  0,  4,   ,  0,  0, 11,  0, 13, 22, 20,  0, 26,  0,  0, 18,
-     5,  0,  0, 23,  0, 27,  0,  6,  0, 24,  7,  0,  8,  0,  0,  0]
-
-  // Adaptat d'un algorisme trobat a Hacker's Delight, pàgina 103.
-  return function (x) {
-    // Tingueu en compte que les variables no tenen perquè ser les mateixes.
-
-    // 1. On n = ToUint32(x).
-    var v = Number(x) >>> 0
-
-    // 2. On p és el nombre de zeros a l'esquerra en la representació binària de 32 bits de n.
-    v |= v >>> 1
-    v |= v >>> 2
-    v |= v >>> 4
-    v |= v >>> 8
-    v |= v >>> 16
-    v = table[Math.imul(v, 0x06EB14F9) >>> 26]
-
-    // Retorna p.
-    return v
-  }
-})();
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.clz32', 'Math.clz32')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("31")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("31")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/cos/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/cos/index.html deleted file mode 100644 index 0236b38c9c..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/cos/index.html +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Math.cos() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/cos -translation_of: Web/JavaScript/Reference/Global_Objects/Math/cos ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La funció Math.cos() retorna el cosinus d'un nombre.

- -

Sintaxi

- -
Math.cos(x)
- -

Paràmetres

- -
-
x
-
Un nombre, mesurat en radians.
-
- -

Descripció

- -

El mètode Math.cos() retorna un valor numèric entre -1 i 1, que representa el cosinus d'un angle.

- -

Degut a que cos() és un mètode estàtic de Math, sempre s'utilitza com a Math.cos(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.cos()

- -
Math.cos(0);           // 1
-Math.cos(1);           // 0.5403023058681398
-
-Math.cos(Math.PI);     // -1
-Math.cos(2 * Math.PI); // 1
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.7', 'Math.cos')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.cos', 'Math.cos')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acos()")}}
  • -
  • {{jsxref("Math.asin()")}}
  • -
  • {{jsxref("Math.atan()")}}
  • -
  • {{jsxref("Math.atan2()")}}
  • -
  • {{jsxref("Math.sin()")}}
  • -
  • {{jsxref("Math.tan()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/cosh/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/cosh/index.html deleted file mode 100644 index 00ebc259b9..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/cosh/index.html +++ /dev/null @@ -1,130 +0,0 @@ ---- -title: Math.cosh() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/cosh -translation_of: Web/JavaScript/Reference/Global_Objects/Math/cosh ---- -
{{JSRef}}
- -

La funció Math.cosh() retorna el cosinus hiperbòlic d'un nombre, això es pot expressar utilitzant la {{jsxref("Math.E", "constant e", "", 1)}}:

- -

Math.cosh(x)=ex+e-x2\mathtt{\operatorname{Math.cosh(x)}} = \frac{e^x + e^{-x}}{2}

- -

Sintaxi

- -
Math.cosh(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Com que que cosh() és un mètode estàtic de Math, sempre s'utilitza com a Math.cosh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.cosh()

- -
Math.cosh(0);  // 1
-Math.cosh(1);  // 1.5430806348152437
-Math.cosh(-1); // 1.5430806348152437
-
- -

Polyfill

- -

Aquesta funció es pot emular amb l'ajuda de la funció {{jsxref("Math.exp()")}}:

- -
Math.cosh = Math.cosh || function(x) {
-  return (Math.exp(x) + Math.exp(-x)) / 2;
-}
-
- -

o bé utilitzant només una crida a la funció {{jsxref("Math.exp()")}}:

- -
Math.cosh = Math.cosh || function(x) {
-  var y = Math.exp(x);
-  return (y + 1 / y) / 2;
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.cosh', 'Math.cosh')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/e/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/e/index.html deleted file mode 100644 index efe7476396..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/e/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Math.E -slug: Web/JavaScript/Referencia/Objectes_globals/Math/E -translation_of: Web/JavaScript/Reference/Global_Objects/Math/E ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La propietat Math.E representa la base dels logaritmes naturals, e, el seu valor aproximat és de 2.718.

- -

Math.E=e2.718\mathtt{\mi{Math.E}} = e \approx 2.718

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Com que E és una propietat estàtica de Math, sempre s'utilitza com Math.E en comptes de com una propietat d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.E

- -

La funció que trobareu a continuació retorna e:

- -
function getNapier() {
-  return Math.E;
-}
-
-getNapier(); // 2.718281828459045
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat en JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.1', 'Math.E')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.e', 'Math.E')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/exp/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/exp/index.html deleted file mode 100644 index c6d6c6c098..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/exp/index.html +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: Math.exp() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/exp -translation_of: Web/JavaScript/Reference/Global_Objects/Math/exp ---- -
{{JSRef}}
- -

La funció Math.exp() retorna ex, on x és l'argument, i e és {{jsxref("Math.E", "la constant d'Euler", "", 1)}}, la base dels logaritmes naturals.

- -

Sintaxi

- -
Math.exp(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Deguat a que exp() és un mètode estàtic de Math, aquest pot emprar-se com a Math.exp(), en comptes de cridar-lo com un mètode d'un objecte de tipus Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.exp()

- -
Math.exp(-1); // 0.36787944117144233
-Math.exp(0);  // 1
-Math.exp(1);  // 2.718281828459045
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.8', 'Math.exp')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.exp', 'Math.exp')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.E")}}
  • -
  • {{jsxref("Math.expm1()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.pow()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/expm1/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/expm1/index.html deleted file mode 100644 index b8055fba45..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/expm1/index.html +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: Math.expm1() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/expm1 -translation_of: Web/JavaScript/Reference/Global_Objects/Math/expm1 ---- -
{{JSRef}}
- -

La funció Math.expm1() retorna ex - 1, on x és l'argument i {{jsxref("Math.E", "e", "", 1)}} és la base dels logaritmes naturals.

- -

Sintaxi

- -
Math.expm1(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Com que expm1() és un mètode estàtic de Math, sempre s'utilitza com Math.expm1() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.expm1()

- -
Math.expm1(-1); // -0.6321205588285577
-Math.expm1(0);  // 0
-Math.expm1(1);  // 1.718281828459045
-
- -

Polyfill

- -

Aquesta funció pot ser emulada amb l'ajuda de la funció {{jsxref("Math.exp()")}}:

- -
Math.expm1 = Math.expm1 || function(x) {
-  return Math.exp(x) - 1;
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.expm1', 'Math.expm1')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.E")}}
  • -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.pow()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/floor/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/floor/index.html deleted file mode 100644 index 4a83b8d0e8..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/floor/index.html +++ /dev/null @@ -1,194 +0,0 @@ ---- -title: Math.floor() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/floor -translation_of: Web/JavaScript/Reference/Global_Objects/Math/floor ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La funció Math.floor() retorna el nombre més gran dels nombres més petits o iguals a un nombre donat.

- -

Sintaxi

- -
Math.floor(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Degut a que floor() és un mètode estàtic de Math, sempre s'utilitza com a Math.floor(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.floor()

- -
Math.floor( 45.95); //  45
-Math.floor(-45.95); // -46
-
- -

Exemple: Ajust decimal

- -
// Closure
-(function() {
-  /**
-   * Ajust decimal d'un nombre.
-   *
-   * @param {String}  type  El tipus d'ajust.
-   * @param {Number}  value El nombre.
-   * @param {Integer} exp   L'exponent (L'algoritme en base 10  de la base d'ajust
-   * @returns {Number} El valor ajustat.
-   */
-  function decimalAdjust(type, value, exp) {
-    // Si exp és undefined o zero...
-    if (typeof exp === 'undefined' || +exp === 0) {
-      return Math[type](value);
-    }
-    value = +value;
-    exp = +exp;
-    // Si value no és un nombre o exp no és un nombre sencer...
-    if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
-      return NaN;
-    }
-    // Desplaçament
-    value = value.toString().split('e');
-    value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
-    // Desfer el desplaçament
-    value = value.toString().split('e');
-    return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
-  }
-
-  // Arrodoniment decimal
-  if (!Math.round10) {
-    Math.round10 = function(value, exp) {
-      return decimalAdjust('round', value, exp);
-    };
-  }
-  // Arrodoniment decimal a la baixa
-  if (!Math.floor10) {
-    Math.floor10 = function(value, exp) {
-      return decimalAdjust('floor', value, exp);
-    };
-  }
-  // Arrodoniment decimal a l'alça
-  if (!Math.ceil10) {
-    Math.ceil10 = function(value, exp) {
-      return decimalAdjust('ceil', value, exp);
-    };
-  }
-})();
-
-// Arrodoniments
-Math.round10(55.55, -1);   // 55.6
-Math.round10(55.549, -1);  // 55.5
-Math.round10(55, 1);       // 60
-Math.round10(54.9, 1);     // 50
-Math.round10(-55.55, -1);  // -55.5
-Math.round10(-55.551, -1); // -55.6
-Math.round10(-55, 1);      // -50
-Math.round10(-55.1, 1);    // -60
-// Arrodoniments a la baixa
-Math.floor10(55.59, -1);   // 55.5
-Math.floor10(59, 1);       // 50
-Math.floor10(-55.51, -1);  // -55.6
-Math.floor10(-51, 1);      // -60
-// Arrodoniments a l'alça
-Math.ceil10(55.51, -1);    // 55.6
-Math.ceil10(51, 1);        // 60
-Math.ceil10(-55.59, -1);   // -55.5
-Math.ceil10(-59, 1);       // -50
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a EdicióStandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.9', 'Math.floor')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.floor', 'Math.floor')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.abs()")}}
  • -
  • {{jsxref("Math.ceil()")}}
  • -
  • {{jsxref("Math.round()")}}
  • -
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/fround/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/fround/index.html deleted file mode 100644 index 7411993dbc..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/fround/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Math.fround() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/fround -translation_of: Web/JavaScript/Reference/Global_Objects/Math/fround ---- -
{{JSRef}}
- -

La funció Math.fround() retorna la representació en coma flotant de precisió simple més propera d'un nombre.

- -

Sintaxi

- -
Math.fround(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Com que fround() és un mètode estàtic de Math, sempre s'utilitza com Math.fround() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.fround()

- -
Math.fround(0);     // 0
-Math.fround(1);     // 1
-Math.fround(1.337); // 1.3370000123977661
-Math.fround(1.5);   // 1.5
-Math.fround(NaN);   // NaN
-
- -

Polyfill

- -

El comportament d'aquesta funció pot ser emulat amb la funció següent, si {{jsxref("Float32Array")}} està suportat:

- -
Math.fround = Math.fround || function(x) {
-  return new Float32Array([x])[0];
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.fround', 'Math.fround')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("26")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.round()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/hypot/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/hypot/index.html deleted file mode 100644 index e29bb754f1..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/hypot/index.html +++ /dev/null @@ -1,139 +0,0 @@ ---- -title: Math.hypot() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/hypot -translation_of: Web/JavaScript/Reference/Global_Objects/Math/hypot ---- -
{{JSRef}}
- -

La funció Math.hypot() retorna la rel quadrada de la suma dels quadrats dels seus arguments, és a dir:

- -

Math.hypot(v1,v2,,vn)=i=1nvi2=v12+v22++vn2\mathtt{\operatorname{Math.hypot}(v_1, v_2, \dots, v_n)} = \sqrt{\sum_{i=1}^n v_i^2} = \sqrt{v_1^2 + v_2^2 + \dots + v_n^2}

- -

Sintaxi

- -
Math.hypot([valor1[, valor2[, ...]]])
- -

Paràmetres

- -
-
valor1, valor2, ...
-
Nombres.
-
- -

Descripció

- -

Com que que hypot() és un mètode estàtic de Math, sempre s'utilitza com a Math.hypot(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Si no es passa cap argument, el resultat és +0.

- -

Si al menys un dels arguments no pot ser convertit a nombre el resultat és {{jsxref("Global_Objects/NaN", "NaN")}}.

- -

Quan se li passa només un argument, Math.hypot() retorna el mateix valor que retornaria Math.abs().

- -

Exemples

- -

Utilitzar Math.hypot()

- -
Math.hypot(3, 4);        // 5
-Math.hypot(3, 4, 5);     // 7.0710678118654755
-Math.hypot();            // 0
-Math.hypot(NaN);         // NaN
-Math.hypot(3, 4, 'foo'); // NaN, +'foo' => NaN
-Math.hypot(3, 4, '5');   // 7.0710678118654755, +'5' => 5
-Math.hypot(-3);          // 3, el mateix que Math.abs(-3)
-
- -

Polyfill

- -

Aquest mètode pot emular-se mitjançant la funció següent:

- -
Math.hypot = Math.hypot || function() {
-  var y = 0;
-  var length = arguments.length;
-
-  for (var i = 0; i < length; i++) {
-    if (arguments[i] === Infinity || arguments[i] === -Infinity) {
-      return Infinity;
-    }
-    y += arguments[i] * arguments[i];
-  }
-  return Math.sqrt(y);
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.hypot', 'Math.hypot')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("27")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("27")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.abs()")}}
  • -
  • {{jsxref("Math.pow()")}}
  • -
  • {{jsxref("Math.sqrt()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/imul/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/imul/index.html deleted file mode 100644 index 53050a9cd6..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/imul/index.html +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Math.imul() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/imul -translation_of: Web/JavaScript/Reference/Global_Objects/Math/imul ---- -
{{JSRef}}
- -

La funció Math.imul() retorna el resultat de la multiplicació de 32 bits similar a la de C dels dos paràmetres.

- -

Sintaxi

- -
Math.imul(a, b)
- -

Paràmetres

- -
-
a
-
Primer nombre.
-
b
-
Segon nombre.
-
- -

Descripció

- -

Math.imul() permet una multiplicació ràpida de nombres sencers de 32 bits amb una semàtica similar a la de C. Aquesta característica esdevé útil per a projectes com Emscripten. Com que imul() és un mètode estàtic de Math, sempre s'utilitza com Math.imul() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.imul()

- -
Math.imul(2, 4);          // 8
-Math.imul(-1, 8);         // -8
-Math.imul(-2, -2);        // 4
-Math.imul(0xffffffff, 5); // -5
-Math.imul(0xfffffffe, 5); // -10
-
- -

Polyfill

- -

Aquesta funció pot ser emulada mitjançant la següent funció:

- -
Math.imul = Math.imul || function(a, b) {
-  var ah = (a >>> 16) & 0xffff;
-  var al = a & 0xffff;
-  var bh = (b >>> 16) & 0xffff;
-  var bl = b & 0xffff;
-  // el desplaçament de zero posicions solventa el signe a la part més significativa
-  // el |0 del final converteix el valor sense signe en un valor amb signe
-  return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0)|0);
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.imul', 'Math.imul')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("28")}}{{CompatGeckoDesktop("20")}}{{CompatUnknown}}{{CompatOpera("16")}}{{CompatSafari("7")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("20")}}{{CompatUnknown}}{{CompatUnknown}}7
-
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/index.html deleted file mode 100644 index d493f51b40..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/index.html +++ /dev/null @@ -1,205 +0,0 @@ ---- -title: Math -slug: Web/JavaScript/Referencia/Objectes_globals/Math -translation_of: Web/JavaScript/Reference/Global_Objects/Math ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

Math és un objecte proporcionat pel llenguatge que té propietats i mètodes que pretenen ajudar en càlculs matemàtics. L'objecte conté constants i funcions matemàtiques.

- -

Descripció

- -

A diferència d'altres objectes globals, Math no és un constructor. Totes les propietats i mètodes de Math són estàtics. Per a utilitzar la constant pi es fa anar Math.PI i la funció sinus es crida Math.sin(x), on x és l'argument que rebrà el mètode. Les constants tenen la presició d'un nombre real de JavaScript.

- -

Propietats

- -
-
{{jsxref("Math.E")}}
-
La constant de Euler (també coneguda com a nombre E) i la base dels logaritmes naturals, el seu valor aproximat és de 2.718.
-
{{jsxref("Math.LN2")}}
-
El logaritme natural de 2, el seu valor aproximat és de 0.693.
-
{{jsxref("Math.LN10")}}
-
El logaritme natural de 10, el seu valor aproximat és de 2.303.
-
{{jsxref("Math.LOG2E")}}
-
El logaritme de E en base 2, el seu valor aproximat és de 1.443.
-
{{jsxref("Math.LOG10E")}}
-
El logaritme de E en base 10, el seu valor aproximat és de 0.434.
-
{{jsxref("Math.PI")}}
-
La proporció entre la circumferència d'un cercle i el seu diàmetre, el seu valor aproximat és de 3.14159.
-
{{jsxref("Math.SQRT1_2")}}
-
La rel quadrada de un mig (1/2); tanmateix 1 dividit per la rel quadrada de 2, el seu valor aproximat és de 0.707.
-
{{jsxref("Math.SQRT2")}}
-
La rel quadrada de 2, el seu valor aproximat és de 1.414.
-
- -

Mètodes

- -
-

Fixeu-vos que les funcions (sin(), cos(), tan(), asin(), acos(), atan(), atan2()) reben i retornen angles en radians. Per a convertir radians a graus cal dividir per (Math.PI / 180), o bé multiplicar si el que es pretèn es transformar graus a radians.

-
- -
-

Cal destacar que la precisió de moltes de les funcions matemàtiques és depenent de la implementació. Això vol dir que el mateix codi pot donar resultats diferent en diferents navegadors, i fins i tot sota el mateix navegador o motor JS si es prova en diferents sistemes operatius or arquitectures.

-
- -
-
{{jsxref("Global_Objects/Math/abs", "Math.abs(x)")}}
-
Retorna el valor absolut d'un nombre.
-
{{jsxref("Global_Objects/Math/acos", "Math.acos(x)")}}
-
Retorna l'arccosinus d'un nombre.
-
{{jsxref("Global_Objects/Math/acosh", "Math.acosh(x)")}} {{experimental_inline}}
-
Retorna l'arccosinus hiperbòlic d'un nombre.
-
{{jsxref("Global_Objects/Math/asin", "Math.asin(x)")}}
-
Tetorna l'arcsinus d'un nombre.
-
{{jsxref("Global_Objects/Math/asinh", "Math.asinh(x)")}} {{experimental_inline}}
-
Retorna l'arcsinus hiperbòlic d'un nombre.
-
{{jsxref("Global_Objects/Math/atan", "Math.atan(x)")}}
-
Retorna l'arctangent d'un nombre.
-
{{jsxref("Global_Objects/Math/atanh", "Math.atanh(x)")}} {{experimental_inline}}
-
Retorna l'arctangent hiperbòlic d'un nombre.
-
{{jsxref("Global_Objects/Math/atan2", "Math.atan2(y, x)")}}
-
Retorna l'arctangent del cocient dels paràmetres donats.
-
{{jsxref("Global_Objects/Math/cbrt", "Math.cbrt(x)")}} {{experimental_inline}}
-
Retorna la rel cúbica d'un nombre.
-
{{jsxref("Global_Objects/Math/ceil", "Math.ceil(x)")}}
-
Retorna el nombre sencer més petit que és més gran o igual al nombre donat.
-
{{jsxref("Global_Objects/Math/clz32", "Math.clz32(x)")}} {{experimental_inline}}
-
Retorna el nombre de zeros a l'esquerra que el nombre donat tindria si fós emmagatzemat en 32 bits.
-
{{jsxref("Global_Objects/Math/cos", "Math.cos(x)")}}
-
Retorna el cosinus d'un nombre.
-
{{jsxref("Global_Objects/Math/cosh", "Math.cosh(x)")}} {{experimental_inline}}
-
Retorna el cosinus hiperbòlic d'un nombre.
-
{{jsxref("Global_Objects/Math/exp", "Math.exp(x)")}}
-
Retorna Ex, on x és el paràmetre i E és la constant de Euler (2.718 aproximadament).
-
{{jsxref("Global_Objects/Math/expm1", "Math.expm1(x)")}} {{experimental_inline}}
-
Retorna exp(x) - 1.
-
{{jsxref("Global_Objects/Math/floor", "Math.floor(x)")}}
-
Retorna el nombre sencer més gran que és igual o menor que el nombre donat.
-
{{jsxref("Global_Objects/Math/fround", "Math.fround(x)")}} {{experimental_inline}}
-
Retorna el nombre en coma float de precisió simple més proper al nombre donat.
-
{{jsxref("Global_Objects/Math/hypot", "Math.hypot([x[, y[, …]]])")}} {{experimental_inline}}
-
Retorna la rel quadrada del quadrat dels dos paràmetres donats.
-
{{jsxref("Global_Objects/Math/imul", "Math.imul(x, y)")}} {{experimental_inline}}
-
Retorna el resultat de multiplicar els dos paràmetres com a nombres sencers de 32 bits.
-
{{jsxref("Global_Objects/Math/log", "Math.log(x)")}}
-
Retorna el logaritme natural (loge, també ln) d'un nombre.
-
{{jsxref("Global_Objects/Math/log1p", "Math.log1p(x)")}} {{experimental_inline}}
-
Retorna el logaritme natural de 1 + x (loge, també ln) del nombre donat.
-
{{jsxref("Global_Objects/Math/log10", "Math.log10(x)")}} {{experimental_inline}}
-
Retorna el logaritme en base 10 d'un nombre.
-
{{jsxref("Global_Objects/Math/log2", "Math.log2(x)")}} {{experimental_inline}}
-
Retorna el logaritme en base 2 d'un nombre.
-
{{jsxref("Global_Objects/Math/max", "Math.max([x[, y[, …]]])")}}
-
Retorna el major de zero o més nombres donats.
-
{{jsxref("Global_Objects/Math/min", "Math.min([x[, y[, …]]])")}}
-
Retorna el menor de zero o més nombres donats.
-
{{jsxref("Global_Objects/Math/pow", "Math.pow(base, exponent)")}}
-
Retorna la base elevada a l'exponent, és a dir, baseexponent.
-
{{jsxref("Global_Objects/Math/random", "Math.random()")}}
-
Retorna un nombre pseudo aleatori comprés entre 0 i 1.
-
{{jsxref("Global_Objects/Math/round", "Math.round(x)")}}
-
Retorna el nombre sencer més proper al nombre donat.
-
{{jsxref("Global_Objects/Math/sign", "Math.sign(x)")}} {{experimental_inline}}
-
Retorna el signe de x, indicant si x és positiu, negatiu o zero.
-
{{jsxref("Global_Objects/Math/sin", "Math.sin(x)")}}
-
Retorna el sinus d'un nombre.
-
{{jsxref("Global_Objects/Math/sinh", "Math.sinh(x)")}} {{experimental_inline}}
-
Retorna el sinus hiperbòlic d'un nombre.
-
{{jsxref("Global_Objects/Math/sqrt", "Math.sqrt(x)")}}
-
Retorna el resultat positiu de la rel quadrada d'un nombre.
-
{{jsxref("Global_Objects/Math/tan", "Math.tan(x)")}}
-
Retorna la tangent d'un nombre.
-
{{jsxref("Global_Objects/Math/tanh", "Math.tanh(x)")}} {{experimental_inline}}
-
Retorna la tangent hiperbòlica d'un nombre.
-
Math.toSource() {{non-standard_inline}}
-
Retorna la cadena de caràcters "Math".
-
{{jsxref("Global_Objects/Math/trunc", "Math.trunc(x)")}} {{experimental_inline}}
-
Retorna la part sencera del nombre donat.
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementada a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.8', 'Math')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math-object', 'Math')}}{{Spec2('ES6')}}Nous mètodes afegits: {{jsxref("Math.log10()", "log10()")}}, {{jsxref("Math.log2()", "log2()")}}, {{jsxref("Math.log1p()", "log1p()")}}, {{jsxref("Math.expm1()", "expm1()")}}, {{jsxref("Math.cosh()", "cosh()")}}, {{jsxref("Math.sinh()", "sinh()")}}, {{jsxref("Math.tanh()", "tanh()")}}, {{jsxref("Math.acosh()", "acosh()")}}, {{jsxref("Math.asinh()", "asinh()")}}, {{jsxref("Math.atanh()", "atanh()")}}, {{jsxref("Math.hypot()", "hypot()")}}, {{jsxref("Math.trunc()", "trunc()")}}, {{jsxref("Math.sign()", "sign()")}}, {{jsxref("Math.imul()", "imul()")}}, {{jsxref("Math.fround()", "fround()")}}, {{jsxref("Math.cbrt()", "cbrt()")}} i {{jsxref("Math.clz32()", "clz32()")}}.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Global_Objects/Number", "Number")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/ln10/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/ln10/index.html deleted file mode 100644 index 42107c85f5..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/ln10/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Math.LN10 -slug: Web/JavaScript/Referencia/Objectes_globals/Math/LN10 -translation_of: Web/JavaScript/Reference/Global_Objects/Math/LN10 ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La propietat Math.LN10 representa el logaritme natural de 10, aproximadament 2.302:

- -

Math.LN10=ln(10)2.302\mathtt{\mi{Math.LN10}} = \ln(10) \approx 2.302

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Degut a que LN10 és una propietat estàtica de Math, aquesta sempre s'accedeix mitjançant el codi Math.LN10, en comptes de com una propietat d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.LN10

- -

La funció següent retorna el logaritme natural de 10:

- -
function getNatLog10() {
-  return Math.LN10;
-}
-
-getNatLog10(); // 2.302585092994046
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.2', 'Math.LN10')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.ln10', 'Math.LN10')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterístiquesChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterístiquesAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/ln2/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/ln2/index.html deleted file mode 100644 index 92cf2693f2..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/ln2/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Math.LN2 -slug: Web/JavaScript/Referencia/Objectes_globals/Math/LN2 -translation_of: Web/JavaScript/Reference/Global_Objects/Math/LN2 ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La propietat Math.LN2 representa el logaritme natural de 2, aproximadament 0.693:

- -

Math.LN2=ln(2)0.693\mathtt{\mi{Math.LN2}} = \ln(2) \approx 0.693

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Degut a que LN2 és una propietat estàtica de Math, sempre s'accedeix a aquesta mitjançant el codi Math.LN2 en comptes d'accedir a la propietat d'un objecte de Math ja creat (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.LN2

- -

La següent funció retorna el logaritme natural de 2:

- -
function getNatLog2() {
-  return Math.LN2;
-}
-
-getNatLog2(); // 0.6931471805599453
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.3', 'Math.LN2')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.ln2', 'Math.LN2')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/log/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/log/index.html deleted file mode 100644 index a3d8467ae5..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/log/index.html +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: Math.log() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/log -translation_of: Web/JavaScript/Reference/Global_Objects/Math/log ---- -
{{JSRef}}
- -

La funció Math.log() retorna el logaritme natural (base {{jsxref("Math.E", "e")}}) d'un nombre, és a dir

- -

x>0,Math.log(x)=ln(x)=la únicaytal queey=x\forall x > 0, \mathtt{\operatorname{Math.log}(x)} = \ln(x) = \text{the unique} \; y \; \text{such that} \; e^y = x

- -

Sintaxi

- -
Math.log(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Si el valor de x és negatiu, el valor retornat sempre serà {{jsxref("NaN")}}.

- -

Degut a que log() és un mètode estàtic de Math, sempre s'utilitza com a Math.log(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.log()

- -
Math.log(-1); // NaN, fora de rang
-Math.log(0);  // -Infinit
-Math.log(1);  // 0
-Math.log(10); // 2.302585092994046
-
- -

Utilitzar Math.log() amb una base diferent

- -

La funció següent retorna el logaritme de y amb base x (és a dir, logxy\log_x y):

- -
function getBaseLog(x, y) {
-  return Math.log(y) / Math.log(x);
-}
-
- -

Si es crida getBaseLog(10, 1000) retornarà 2.9999999999999996 degut a l'arrodoniment de punt flotant, el qual és molt proper a la resposta real: 3.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacionsEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.10', 'Math.log')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.log', 'Math.log')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.pow()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/log10/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/log10/index.html deleted file mode 100644 index 1a82f34848..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/log10/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: Math.log10() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/log10 -translation_of: Web/JavaScript/Reference/Global_Objects/Math/log10 ---- -
{{JSRef}}
- -

La funció Math.log10() retorna el logaritme en base 10 d'un nombre, és a dir

- -

x>0,Math.log10(x)=log10(x)=la únicaytal que10y=x\forall x > 0, \mathtt{\operatorname{Math.log10}(x)} = \log_10(x) = \text{the unique} \; y \; \text{such that} \; 10^y = x

- -

Sintaxi

- -
Math.log10(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Si el valor de x és menor que 0, el valor retornat sempre és {{jsxref("NaN")}}.

- -

Com que log10() és un mètode estàtic de Math, sempre s'utilitza com Math.log10() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.log10()

- -
Math.log10(2);      // 0.3010299956639812
-Math.log10(1);      // 0
-Math.log10(0);      // -Infinit
-Math.log10(-2);     // NaN
-Math.log10(100000); // 5
-
- -

Polyfill

- -

Aquesta funció pot ser emulada mitjançant el següent codi:

- -
Math.log10 = Math.log10 || function(x) {
-  return Math.log(x) / Math.LN10;
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.log10', 'Math.log10')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.pow()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/log10e/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/log10e/index.html deleted file mode 100644 index 299c8d12ed..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/log10e/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Math.LOG10E -slug: Web/JavaScript/Referencia/Objectes_globals/Math/LOG10E -translation_of: Web/JavaScript/Reference/Global_Objects/Math/LOG10E ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La propietat Math.LOG10E representa el logaritme en base 10 de e, el valor del qual és aproximadament 0.434:

- -

Math.LOG10E=log10(e)0.434\mathtt{\mi{Math.LOG10E}} = \log_10(e) \approx 0.434

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Degut a que LOG10E és una propietat estàtica de l'objecte Math, sempre s'obté el seu valor mitjançant Math.LOG10E en comptes d'accedir a la propietat d'un objecte instanciat de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.LOG10E

- -

La funció següent retorna el logaritme en base 10 de e:

- -
function getLog10e() {
-  return Math.LOG10E;
-}
-
-getLog10e(); // 0.4342944819032518
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.5', 'Math.LOG10E')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.log10e', 'Math.LOG10E')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/log1p/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/log1p/index.html deleted file mode 100644 index 1a0eb32cd5..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/log1p/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: Math.log1p() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/log1p -translation_of: Web/JavaScript/Reference/Global_Objects/Math/log1p ---- -
{{JSRef}}
- -

La funció Math.log1p() retorna el logaritme natural (base {{jsxref("Math.E", "e")}}) de 1 + un nombre, és a dir

- -

x>-1,Math.log1p(x)=ln(1+x)\forall x > -1, \mathtt{\operatorname{Math.log1p}(x)} = \ln(1 + x)

- -

Sintaxi

- -
Math.log1p(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Si el valor de x és menor que -1, el valor retornat sempre serà {{jsxref("NaN")}}.

- -

Com que log1p() és un mètode estàtic de Math, sempre s'utilitza com Math.log1p() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.log1p()

- -
Math.log1p(1);  // 0.6931471805599453
-Math.log1p(0);  // 0
-Math.log1p(-1); // -Infinit
-Math.log1p(-2); // NaN
-
- -

Polyfill

- -

Aquesta funció pot ser emulada mitjançant la funció següent:

- -
Math.log1p = Math.log1p || function(x) {
-  return Math.log(1 + x);
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.log1p', 'Math.log1p')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.pow()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/log2/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/log2/index.html deleted file mode 100644 index 0806bd75ff..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/log2/index.html +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Math.log2() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/log2 -translation_of: Web/JavaScript/Reference/Global_Objects/Math/log2 ---- -
{{JSRef}}
- -

La funció Math.log2() retorna el logaritme en base 2 d'un nombre, és a dir

- -

x>0,Math.log2(x)=log2(x)=la únicaytal que2y=x\forall x > 0, \mathtt{\operatorname{Math.log2}(x)} = \log_2(x) = \text{the unique} \; y \; \text{such that} \; 2^y = x

- -

Sintaxi

- -
Math.log2(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Si el valor de x és menor que 0, el valor retornat sempre serà {{jsxref("NaN")}}.

- -

Com que log2() és un mètode estàtic de Math, sempre s'utilitza com Math.log2() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.log2()

- -
Math.log2(3);    // 1.584962500721156
-Math.log2(2);    // 1
-Math.log2(1);    // 0
-Math.log2(0);    // -Infinit
-Math.log2(-2);   // NaN
-Math.log2(1024); // 10
-
- -

Polyfill

- -

Aquest Polyfill emula la funció Math.log2. Cal destacar que retorna valors imprecisos per a algunes entrades (com ara 1 << 29), embolcalleu-la amb {{jsxref("Math.round()")}} si esteu treballant amb màscares de bits.

- -
Math.log2 = Math.log2 || function(x) {
-  return Math.log(x) / Math.LN2;
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.log2', 'Math.log2')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log10()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.log1p()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.pow()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/log2e/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/log2e/index.html deleted file mode 100644 index 2f37ae44c1..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/log2e/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Math.LOG2E -slug: Web/JavaScript/Referencia/Objectes_globals/Math/LOG2E -translation_of: Web/JavaScript/Reference/Global_Objects/Math/LOG2E ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La propietat Math.LOG2E representa el logaritme de e en base 2, el valor del qual és aproximadament 1.442:

- -

Math.LOG2E=log2(e)1.442\mathtt{\mi{Math.LOG2E}} = \log_2(e) \approx 1.442

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Com que LOG2E és una propietat estàtica de Math, sempre s'utilitza mitjançant la forma Math.LOG2E, en comptes d'accedir a la propietat d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.LOG2E

- -

La següent funció retorna el logaritme de e en base 2:

- -
function getLog2e() {
-  return Math.LOG2E;
-}
-
-getLog2e(); // 1.4426950408889634
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.4', 'Math.LOG2E')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.log2e', 'Math.LOG2E')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.log2()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/max/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/max/index.html deleted file mode 100644 index 791b5dfdfe..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/max/index.html +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Math.max() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/max -translation_of: Web/JavaScript/Reference/Global_Objects/Math/max ---- -
{{JSRef}}
- -

La funció Math.max() retorna el nombre més gran de zero o més nombres.

- -

Sintaxi

- -
Math.max([valor1[, valor2[, ...]]])
- -

Paràmetres

- -
-
valor1, valor2, ...
-
Nombres.
-
- -

Descripció

- -

Com que max() és un mètode estàtic de Math, sempre s'utilitza com Math.max() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Si no es proporciona cap argument, el resultat és -{{jsxref("Infinity")}}.

- -

Si al menys un dels arguments no pot convertir-se a un nombre, el resultat és {{jsxref("NaN")}}.

- -

Exemples

- -

Utilitzar Math.max()

- -
Math.max(10, 20);   //  20
-Math.max(-10, -20); // -10
-Math.max(-10, 20);  //  20
-
- -

La següent funció utilitza {{jsxref("Function.prototype.apply()")}} per a trobar l'element màxim d'un array numèric. getMaxOfArray([1, 2, 3]) és equivalent a Math.max(1, 2, 3), però getMaxOfArray() pot emprar-se en arrays de qualsevol mida construits programàticament.

- -
function getMaxOfArray(numArray) {
-  return Math.max.apply(null, numArray);
-}
-
- -

O bé amb el nou {{jsxref("Operators/Spread_operator", "operador spread")}}, obtenir el nombre màxim d'un array és molt més simple.

- -
var arr = [1, 2, 3];
-var max = Math.max(...arr);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.11', 'Math.max')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.max', 'Math.max')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.min()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/min/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/min/index.html deleted file mode 100644 index 909e6ff2ee..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/min/index.html +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: Math.min() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/min -translation_of: Web/JavaScript/Reference/Global_Objects/Math/min ---- -
{{JSRef}}
- -

La funció Math.min() retorna el més petit de zero o més nombres.

- -

Sintaxi

- -
Math.min([valor1[, valor2[, ...]]])
- -

Paràmetres

- -
-
valor1, valor2, ...
-
Nombres.
-
- -

Descripció

- -

Degut a que min() és un mètode estàtic de Math, sempre s'utilitza com a Math.min(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Si no es proporciona cap argument, el resultat és {{jsxref("Infinity")}}.

- -

Si al menys un dels arguments no pot ser convertit a nombre, el resultat és {{jsxref("NaN")}}.

- -

Exemples

- -

Utilitzar Math.min()

- -

Aquest codi troba el valor mínim de x i y i l'assigna a z:

- -
var x = 10, y = -20;
-var z = Math.min(x, y);
-
- -

Limitar un nombre amb Math.min()

- -

Sovint s'utilitza Math.min() per a limitar un valor de manera que sempre sigui igual o menor que un límit. Per exemple, aquest codi

- -
var x = f(foo);
-
-if (x > limit) {
-  x = limit;
-}
-
- -

es podria escriure de la següent manera:

- -
var x = Math.min(f(foo), limit);
-
- -

{{jsxref("Math.max()")}} es pot emprar d'una manera similar per a limitar un valor a l'altre límit.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.12', 'Math.min')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.min', 'Math.min')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.max()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/pi/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/pi/index.html deleted file mode 100644 index b867c953df..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/pi/index.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Math.PI -slug: Web/JavaScript/Referencia/Objectes_globals/Math/PI -translation_of: Web/JavaScript/Reference/Global_Objects/Math/PI ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La propietat Math.PI representa el ratio entre la circumferència d'un crecle i el seu diàmetre, el seu valor aproximat és de 3.14159:

- -

Math.PI=π3.14159\mathtt{\mi{Math.PI}} = \pi \approx 3.14159

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Com que PI és una propietat estàtica de Math, sempre s'utilitza amb la forma Math.PI, ren comptes de com una propietat d'un objecte Math ja creat (Math on és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.PI

- -

La funció següent utilitza Math.PI per a calcular la circumferència d'un cercle a partir del radi que rep.

- -
function calculateCircumference(radius) {
-  return 2 * Math.PI * radius;
-}
-
-calculateCircumference(1);  // 6.283185307179586
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.6', 'Math.PI')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.pi', 'Math.PI')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Global_Objects/Math", "Math")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/pow/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/pow/index.html deleted file mode 100644 index efe89000e9..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/pow/index.html +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: Math.pow() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/pow -translation_of: Web/JavaScript/Reference/Global_Objects/Math/pow ---- -
{{JSRef}}
- -

La funció Math.pow() retorna la base elevada a exponent, és a dir, baseexponent.

- -

Sintaxi

- -
Math.pow(base, exponent)
- -

Paràmetres

- -
-
base
-
El nombre base.
-
exponent
-
L'exponent que s'usarà per a elevar la base.
-
- -

Descripció

- -

Com que pow() és un mètode estàtic de Math, sempre s'utilitza com Math.pow() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.pow()

- -
// simple
-Math.pow(7, 2);    // 49
-Math.pow(7, 3);    // 343
-Math.pow(2, 10);   // 1024
-// exponents fractionals
-Math.pow(4, 0.5);  // 2 (rel quadrada de 4)
-Math.pow(8, 1/3);  // 2 (rel cúbica de 8)
-Math.pow(2, 0.5);  // 1.412135623730951 (rel quadrada de 2)
-Math.pow(2, 1/3);  // 1.2599210498948732 (rel cúbica de 2)
-// exponents amb signe
-Math.pow(7, -2);   // 0.02040816326530612 (1/49)
-Math.pow(8, -1/3); // 0.5
-// bases amb signe
-Math.pow(-7, 2);   // 49 (qualsevol nombre elevat al quadrat és positiu)
-Math.pow(-7, 3);   // -343 (nombres elevats al cub poden ser negatius)
-Math.pow(-7, 0.5); // NaN (els nombres negatius no tenen una rel quadrada real)
-// degut a rels "parells" i "senars" estan aprox l'una de l'altra
-// i a límits en la precisió dels nombres de punt flotant,
-// bases negatives amb exponents fraccionals sempre retornen NaN
-Math.pow(-7, 1/3); // NaN
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.13', 'Math.pow')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.pow', 'Math.pow')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.cbrt()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.sqrt()")}}
  • -
  • Operador Exponencial {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/random/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/random/index.html deleted file mode 100644 index d70169efd4..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/random/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: Math.random() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/random -translation_of: Web/JavaScript/Reference/Global_Objects/Math/random ---- -
{{JSRef}}
- -

La funció Math.random() retorna un nombre decimal de punt flotant pseudo-aleatori que roman dins el rang [0, 1), és a dir, des de 0 (inclòs) fins a 1 (exclòs), que després pot ser escalat al rang dessitjat. La implementació selecciona la llavor inicial per a l'algoritme generador de nombres aleatoris; aquesta llavor no pot ser resetejada o escollida per l'usuari.

- -
-

Nota: Math.random() no proporciona nombres aleatoris criptogràficament segurs. No l'utilitzeu per a cap tasca relacionada amb la seguretat. Per a aquest ús utilitzeu la API Web Crypto, i més concretament el mètode {{domxref("RandomSource.getRandomValues()", "window.crypto.getRandomValues()")}}.

-
- -

Sintaxi

- -
Math.random()
- -

Exemples

- -

Utilitzar Math.random()

- -

Cal destacar que com que els nombres a JavaScript són nombres de punt flotant IEEE 754 amb comportament d'arrodoniment al parell més proper, els rangs proclamats per les funcions de sota (a excepció de Math.random()) no són exactes. Si s'escullen límits extremadament grans (253 o majors), és possible en casos extremadament rars, obtindre el límit superior que normalment és exclòs.

- -
// Retorna un nombre aleatori entre 0 (inclòs) i 1 (exclòs)
-function getRandom() {
-  return Math.random();
-}
-
- -
// Retorna un nombre aleatori entre min (inclòs) i max (exclòs)
-function getRandomArbitrary(min, max) {
-  return Math.random() * (max - min) + min;
-}
-
- -
// Retorna un nombre sencer aleatori entre min (inclòs) i max (exclòs)
-// Utilitzar Math.round() proporciona una distribució no uniforme!
-function getRandomInt(min, max) {
-  return Math.floor(Math.random() * (max - min)) + min;
-}
-
- -
// Returns a random integer between min (included) and max (included)
-// Using Math.round() will give you a non-uniform distribution!
-function getRandomIntInclusive(min, max) {
-  return Math.floor(Math.random() * (max - min + 1)) + min;
-}
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. JavaScript 1.0 (Només UNIX) / JavaScript 1.1 (Totes les plataformes).
{{SpecName('ES5.1', '#sec-15.8.2.14', 'Math.random')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.random', 'Math.random')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/round/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/round/index.html deleted file mode 100644 index 2510799381..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/round/index.html +++ /dev/null @@ -1,207 +0,0 @@ ---- -title: Math.round() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/round -translation_of: Web/JavaScript/Reference/Global_Objects/Math/round ---- -
{{JSRef}}
- -

La funció Math.round() retorna el valor d'un nombre arrodonit al nombre sencer més proper.

- -

Sintaxi

- -
Math.round(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Si la porció fraccional del nombre és 0.5 o major, l'argument s'arrodoneix al següent nombre sencer més gran. Si la porció fraccional del nombre és menor de 0.5 l'argument és arrodonit al següent nombre sencer més petit.

- -

Com que round() és un mètode estàtic de Math, sempre s'utilitza com Math.round() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.round()

- -
// Retorna el valor 20
-x = Math.round(20.49);
-
-// Retorna el valor 21
-x = Math.round(20.5);
-
-// Retorna el valor -20
-x = Math.round(-20.5);
-
-// Retorna el valor -21
-x = Math.round(-20.51);
-
-// Retorna el valor 1 (!)
-// Fixeu-vos en l'error d'arrodoniment degut a la poc precisa aritmètica de punt flotant
-// Compareu això amb Math.round10(1.005, -2) de l'exemple de sota
-x = Math.round(1.005*100)/100;
-
- -

Arrodoniment decimal

- -
// Closure
-(function() {
-  /**
-   * Ajustament decimal d'un nombre
-   *
-   * @param {String}  type  El tipus d'ajustament.
-   * @param {Number}  value El nombre.
-   * @param {Integer} exp   L'exponent (el logaritme en base 10 de la base a ajustar).
-   * @returns {Number} El valor ajustat.
-   */
-  function decimalAdjust(type, value, exp) {
-    // Si l'exponent és undefined o zero...
-    if (typeof exp === 'undefined' || +exp === 0) {
-      return Math[type](value);
-    }
-    value = +value;
-    exp = +exp;
-    // Si el valor no és un nombre o l'exponent no és un nombre sencer...
-    if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
-      return NaN;
-    }
-    // Desplaçament
-    value = value.toString().split('e');
-    value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
-    // Desfer el desplaçament
-    value = value.toString().split('e');
-    return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
-  }
-
-  // Arrodoniment decimal
-  if (!Math.round10) {
-    Math.round10 = function(value, exp) {
-      return decimalAdjust('round', value, exp);
-    };
-  }
-  // Floor decimal
-  if (!Math.floor10) {
-    Math.floor10 = function(value, exp) {
-      return decimalAdjust('floor', value, exp);
-    };
-  }
-  // Ceiling decimal
-  if (!Math.ceil10) {
-    Math.ceil10 = function(value, exp) {
-      return decimalAdjust('ceil', value, exp);
-    };
-  }
-})();
-
-// Arrodoniment
-Math.round10(55.55, -1);   // 55.6
-Math.round10(55.549, -1);  // 55.5
-Math.round10(55, 1);       // 60
-Math.round10(54.9, 1);     // 50
-Math.round10(-55.55, -1);  // -55.5
-Math.round10(-55.551, -1); // -55.6
-Math.round10(-55, 1);      // -50
-Math.round10(-55.1, 1);    // -60
-Math.round10(1.005, -2);   // 1.01 -- compareu aquest resultat amb Math.round(1.005*100)/100 de l'exemple de sobre
-// Floor
-Math.floor10(55.59, -1);   // 55.5
-Math.floor10(59, 1);       // 50
-Math.floor10(-55.51, -1);  // -55.6
-Math.floor10(-51, 1);      // -60
-// Ceil
-Math.ceil10(55.51, -1);    // 55.6
-Math.ceil10(51, 1);        // 60
-Math.ceil10(-55.59, -1);   // -55.5
-Math.ceil10(-59, 1);       // -50
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.15', 'Math.round')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.round', 'Math.round')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidFirefox Mobile (Gecko)IE PhoneOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.abs()")}}
  • -
  • {{jsxref("Math.ceil()")}}
  • -
  • {{jsxref("Math.floor()")}}
  • -
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/sign/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/sign/index.html deleted file mode 100644 index 520ff27dc4..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/sign/index.html +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: Math.sign() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/sign -translation_of: Web/JavaScript/Reference/Global_Objects/Math/sign ---- -
{{JSRef}}
- -

La funció Math.sign() retorna el signe d'un nombre, indicant si el nombre donat és positiu, negatiu o zero.

- -

Sintaxi

- -
Math.sign(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Com que sign() és un mètode estàtic de Math, sempre s'utilitza com Math.sign() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Aquesta funció pot retornar 5 valors diferents, 1, -1, 0, -0, NaN, que representen "nombre positiu", "nombre negatiu", "zero positiu", "zero negatiu" i {{jsxref("NaN")}} respectivament.

- -

L'argument passat a aquesta funció serà convertit al tipus de x implícitament.

- -

Exemples

- -

Utilitzar Math.sign()

- -
Math.sign(3);     //  1
-Math.sign(-3);    // -1
-Math.sign('-3');  // -1
-Math.sign(0);     //  0
-Math.sign(-0);    // -0
-Math.sign(NaN);   // NaN
-Math.sign('foo'); // NaN
-Math.sign();      // NaN
-
- -

Polyfill

- -
Math.sign = Math.sign || function(x) {
-  x = +x; // converteix a un nombre
-  if (x === 0 || isNaN(x)) {
-    return x;
-  }
-  return x > 0 ? 1 : -1;
-}
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.sign', 'Math.sign')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.abs()")}}
  • -
  • {{jsxref("Math.ceil()")}}
  • -
  • {{jsxref("Math.floor()")}}
  • -
  • {{jsxref("Math.round()")}}
  • -
  • {{jsxref("Math.trunc()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/sin/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/sin/index.html deleted file mode 100644 index 7f1faf9a98..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/sin/index.html +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Math.sin() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/sin -translation_of: Web/JavaScript/Reference/Global_Objects/Math/sin ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La funció Math.sin() retorna el sinus d'un nombre.

- -

Sintaxi

- -
Math.sin(x)
- -

Paràmetres

- -
-
x
-
Un nombre (donat en radians).
-
- -

Descripció

- -

El mètode Math.sin() retorna un valor numèric entre -1 i 1, que representa el sinus de l'angle donat en radiants.

- -

Degut a que sin() és un mètode estàtic de Math, sempre s'utilitza com a Math.sin(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.sin()

- -
Math.sin(0);           // 0
-Math.sin(1);           // 0.8414709848078965
-
-Math.sin(Math.PI / 2); // 1
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.16', 'Math.sin')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.sin', 'Math.sin')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acos()")}}
  • -
  • {{jsxref("Math.asin()")}}
  • -
  • {{jsxref("Math.atan()")}}
  • -
  • {{jsxref("Math.atan2()")}}
  • -
  • {{jsxref("Math.cos()")}}
  • -
  • {{jsxref("Math.tan()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/sinh/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/sinh/index.html deleted file mode 100644 index a1cc1f446a..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/sinh/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Math.sinh() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/sinh -translation_of: Web/JavaScript/Reference/Global_Objects/Math/sinh ---- -
{{JSRef}}
- -

La funció Math.sinh() retorna el sinus hiperbòlic d'un nombre, que es pot expressar utilitzant la {{jsxref("Math.E", "constant e", "", 1)}}:

- -

Math.sinh(x)=ex-e-x2\mathtt{\operatorname{Math.sinh(x)}} = \frac{e^x - e^{-x}}{2}

- -

Sintaxi

- -
Math.sinh(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Com que que sinh() és un mètode estàtic de Math, sempre s'utilitza com a Math.sinh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.sinh()

- -
Math.sinh(0); // 0
-Math.sinh(1); // 1.1752011936438014
-
- -

Polyfill

- -

Aquest comportament es pot emular amb l'ajut de la funció {{jsxref("Math.exp()")}}:

- -
Math.sinh = Math.sinh || function(x) {
-  return (Math.exp(x) - Math.exp(-x)) / 2;
-}
-
- -

O bé utilitzant només una crida a la funció {{jsxref("Math.exp()")}}:

- -
Math.sinh = Math.sinh || function(x) {
-  var y = Math.exp(x);
-  return (y - 1 / y) / 2;
-}
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.sinh', 'Math.sinh')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.tanh()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/sqrt/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/sqrt/index.html deleted file mode 100644 index b726db8a31..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/sqrt/index.html +++ /dev/null @@ -1,127 +0,0 @@ ---- -title: Math.sqrt() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/sqrt -translation_of: Web/JavaScript/Reference/Global_Objects/Math/sqrt ---- -
{{JSRef}}
- -

La funció Math.sqrt() retorna la rel quadrada d'un nombre, és a dir

- -

x0,Math.sqrt(x)=x=la únicay0tal quey2=x\forall x \geq 0, \mathtt{Math.sqrt(x)} = \sqrt{x} = \text{the unique} \; y \geq 0 \; \text{such that} \; y^2 = x

- -

Sintaxi

- -
Math.sqrt(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Si el valor de x és negatiu, Math.sqrt() retorna {{jsxref("NaN")}}.

- -

Degut a que sqrt() és un mètode estàtic de Math, sempre s'utilitza com a Math.sqrt(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.sqrt()

- -
Math.sqrt(9); // 3
-Math.sqrt(2); // 1.414213562373095
-
-Math.sqrt(1);  // 1
-Math.sqrt(0);  // 0
-Math.sqrt(-1); // NaN
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.17', 'Math.sqrt')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.sqrt', 'Math.sqrt')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.cbrt()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.exp()")}}
  • -
  • {{jsxref("Math.log()")}}
  • -
  • {{jsxref("Math.pow()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/sqrt1_2/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/sqrt1_2/index.html deleted file mode 100644 index 3d7d3a1370..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/sqrt1_2/index.html +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: Math.SQRT1_2 -slug: Web/JavaScript/Referencia/Objectes_globals/Math/SQRT1_2 -translation_of: Web/JavaScript/Reference/Global_Objects/Math/SQRT1_2 ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La propietat Math.SQRT1_2 representa la rel quadrada de 1/2, que equival aproximadament a 0.707:

- -

Math.SQRT1_2=12=120.707\mathtt{\mi{Math.SQRT1_2}} = \sqrt{\frac{1}{2}} = \frac{1}{\sqrt{2}} \approx 0.707

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Degut a que SQRT1_2  éss una propietat estàtica de Math, sempre s'utilitza com a Math.SQRT1_2 en comptes de com a la propietat d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.SQRT1_2

- -

La següent funció retorna 1 dividit per la rel quadrada de 2:

- -
function getRoot1_2() {
-  return Math.SQRT1_2;
-}
-
-getRoot1_2(); // 0.7071067811865476
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat aJavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.7', 'Math.SQRT1_2')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.sqrt1_2', 'Math.SQRT1_2')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.pow()")}}
  • -
  • {{jsxref("Math.sqrt()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/sqrt2/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/sqrt2/index.html deleted file mode 100644 index 3d049f228c..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/sqrt2/index.html +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: Math.SQRT2 -slug: Web/JavaScript/Referencia/Objectes_globals/Math/SQRT2 -translation_of: Web/JavaScript/Reference/Global_Objects/Math/SQRT2 ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La propietat Math.SQRT2 representa la rel quadrada de 2, que és aproximadament 1.414:

- -

Math.SQRT2=21.414\mathtt{\mi{Math.SQRT2}} = \sqrt{2} \approx 1.414

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Degut a que SQRT2 és una propietat estàtica de Math, sempre s'utilitza com a Math.SQRT2, en comptes de com la propietat d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.SQRT2

- -

La funció següent retorna la rel quadrada de 2:

- -
function getRoot2() {
-  return Math.SQRT2;
-}
-
-getRoot2(); // 1.4142135623730951
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.1.8', 'Math.SQRT2')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.sqrt2', 'Math.SQRT2')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.pow()")}}
  • -
  • {{jsxref("Math.sqrt()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/tan/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/tan/index.html deleted file mode 100644 index 590e1f5fc8..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/tan/index.html +++ /dev/null @@ -1,140 +0,0 @@ ---- -title: Math.tan() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/tan -translation_of: Web/JavaScript/Reference/Global_Objects/Math/tan ---- -
{{JSRef("Global_Objects", "Math")}}
- -

Resum

- -

La funció Math.tan() retorna la tangent d'un nombre.

- -

Sintaxi

- -
Math.tan(x)
- -

Paràmetres

- -
-
x
-
Un nombre que representa un angle, mesurat en radians.
-
- -

Descripció

- -

El mètode Math.tan() retorna un valor numèric que representa la tangent d'un angle.

- -

Degut a que tan() és un mètode estàtic de Math, sempre s'utilitza com a Math.tan(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Exemple: Utilitzar Math.tan()

- -
Math.tan(1); // 1.5574077246549023
-
- -

Com que la funció Math.tan() accepta radians però sovint és més fàcil treballar amb graus, a funció següent accepta un valor en graus, el converteix a radians i retorna la tangent.

- -
function getTanDeg(deg) {
-  var rad = deg * Math.PI/180;
-  return Math.tan(rad);
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.8.2.18', 'Math.tan')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-math.tan', 'Math.tan')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
- - - - - - -
Característica
-
AndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acos()")}}
  • -
  • {{jsxref("Math.asin()")}}
  • -
  • {{jsxref("Math.atan()")}}
  • -
  • {{jsxref("Math.atan2()")}}
  • -
  • {{jsxref("Math.cos()")}}
  • -
  • {{jsxref("Math.sin()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/tanh/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/tanh/index.html deleted file mode 100644 index ada19d17e0..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/tanh/index.html +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: Math.tanh() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/tanh -translation_of: Web/JavaScript/Reference/Global_Objects/Math/tanh ---- -
{{JSRef}}
- -

La funció Math.tanh() retorna la tangent hiperbòlica d'un nombre, és a dir

- -

tanhx=sinhxcoshx=ex-e-xex+e-x=e2x-1e2x+1\tanh x = \frac{\sinh x}{\cosh x} = \frac {e^x - e^{-x}} {e^x + e^{-x}} = \frac{e^{2x} - 1}{e^{2x}+1}

- -

Sintaxi

- -
Math.tanh(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Com que que tanh() és un mètode estàtic de Math, sempre s'utilitza com a Math.tanh(), en comptes de com a mètode d'una instància de Math (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.tanh()

- -
Math.tanh(0);        // 0
-Math.tanh(Infinity); // 1
-Math.tanh(1);        // 0.7615941559557649
-
- -

Polyfill

- -

Aquest comportament pot emular-se amb l'ajuda de la funció {{jsxref("Math.exp()")}}:

- -
Math.tanh = Math.tanh || function(x) {
-  if (x === Infinity) {
-    return 1;
-  } else if (x === -Infinity) {
-    return -1;
-  } else {
-    return (Math.exp(x) - Math.exp(-x)) / (Math.exp(x) + Math.exp(-x));
-  }
-}
-
- -

o bé utilitzant només una crida a {{jsxref("Math.exp()")}}:

- -
Math.tanh = Math.tanh || function(x) {
-  if (x === Infinity) {
-    return 1;
-  } else if (x === -Infinity) {
-    return -1;
-  } else {
-    var y = Math.exp(2 * x);
-    return (y - 1) / (y + 1);
-  }
-}
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.tanh', 'Math.tanh')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.acosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.asinh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.atanh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.cosh()")}} {{experimental_inline}}
  • -
  • {{jsxref("Math.sinh()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/math/trunc/index.html b/files/ca/web/javascript/referencia/objectes_globals/math/trunc/index.html deleted file mode 100644 index 4f76502d69..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/math/trunc/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Math.trunc() -slug: Web/JavaScript/Referencia/Objectes_globals/Math/trunc -translation_of: Web/JavaScript/Reference/Global_Objects/Math/trunc ---- -
{{JSRef}}
- -

La funció Math.trunc() retorna la part integral d'un nombre, tot descartant els dígits decimals.

- -

Sintaxi

- -
Math.trunc(x)
- -

Paràmetres

- -
-
x
-
Un nombre.
-
- -

Descripció

- -

Al contrari que altres mètodes de Math : {{jsxref("Math.floor()")}}, {{jsxref("Math.ceil()")}} and {{jsxref("Math.round()")}}, la forma en la que Math.trunc() funciona és molt simple, simplement trunca el punt i els dígits que queden a la dreta, sense importa si l'argument és un nombre positiu o negatiu.

- -

Així que, si l'argument és un nombre positiu, Math.trunc() és equivalent a Math.floor(), en cas contrari, Math.trunc() és equivalent a Math.ceil().

- -

Cal destacar que l'argument passat a aquest mètode serà convertit a un nombre de forma implícita.

- -

Com que trunc() és un mètode estàtic de Math, sempre s'utilitza com Math.trunc() en comptes de com un mètode d'un objecte Math creat (Math no és un constructor).

- -

Exemples

- -

Utilitzar Math.trunc()

- -
Math.trunc(13.37);    // 13
-Math.trunc(42.84);    // 42
-Math.trunc(0.123);    //  0
-Math.trunc(-0.123);   // -0
-Math.trunc('-1.123'); // -1
-Math.trunc(NaN);      // NaN
-Math.trunc('foo');    // NaN
-Math.trunc();         // NaN
-
- -

Polyfill

- -
Math.trunc = Math.trunc || function(x) {
-  return x < 0 ? Math.ceil(x) : Math.floor(x);
-}
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-math.trunc', 'Math.trunc')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("38")}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatOpera("25")}}{{CompatSafari("7.1")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Math.abs()")}}
  • -
  • {{jsxref("Math.ceil()")}}
  • -
  • {{jsxref("Math.floor()")}}
  • -
  • {{jsxref("Math.round()")}}
  • -
  • {{jsxref("Math.sign()")}} {{experimental_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/nan/index.html b/files/ca/web/javascript/referencia/objectes_globals/nan/index.html deleted file mode 100644 index 1d6f4a4dc8..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/nan/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: NaN -slug: Web/JavaScript/Referencia/Objectes_globals/NaN -translation_of: Web/JavaScript/Reference/Global_Objects/NaN ---- -
-
-
{{jsSidebar("Objects")}}
-
-
- -

Resum

- -

La propietat global NaN és un valor que representa Not-A-Number.

- -

{{js_property_attributes(0,0,0)}}

- -

Sintaxi

- -
NaN
- -

Descripció

- -

NaN és una propietat de l'objecte global.

- -

El valor inicial de NaN és Not-A-Number — el mateix que el valor de Number.NaN. En navegadors moderns NaN és una propietat no configurable que no pot ser escrita. En cas contrari es recomana no sobreescriure el seu valor.

- -

L'ús directe de NaN és poc freqüent. Apareix tot sovint però com va valor retornat quan una funció matemàtica falla (Math.sqrt(-1)) o quan s'intenta convertir una cadena de text a nombre sense èxit (parseInt("blabla")).

- -

Comparant NaN

- -

L'operador d'igualtat (== i ===) no pot ésser emprat per comparar un resultat amb NaN. Es fa necessari l'ús de {{jsxref("Number.isNaN()")}} o bé {{jsxref("Global_Objects/isNaN", "isNaN()")}}.

- -
NaN === NaN;        // false
-Number.NaN === NaN; // false
-isNaN(NaN);         // true
-isNaN(Number.NaN);  // true
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.3
{{SpecName('ES5.1', '#sec-15.1.1.1', 'NaN')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-value-properties-of-the-global-object-nan', 'NaN')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.NaN")}}
  • -
  • {{jsxref("Number.isNaN()")}}
  • -
  • {{jsxref("Global_Objects/isNaN", "isNaN()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/null/index.html b/files/ca/web/javascript/referencia/objectes_globals/null/index.html deleted file mode 100644 index 97506ddeb5..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/null/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: 'null' -slug: Web/JavaScript/Referencia/Objectes_globals/null -translation_of: Web/JavaScript/Reference/Global_Objects/null ---- -
-
-
{{jsSidebar("Objects")}}
-
-
- -

Resum

- -

El valor null és un literal de JavaScript que representa un valor nul o "buit", per exemple, quan no s'ha asignat cap valor previ. És un dels {{Glossary("Primitive", "valors primitius")}} de JavaScript.

- -

Sintaxi

- -
null 
- -

Descripció

- -

El valor null és un literal (i no una propietat de l'objecte global, com ho és undefined). A l'utilitzar les APIs, null s'obté sovint en comptes de l'objecte esperat quan no hi ha cap objecte relevant. Quan es vol comprovar si un valor és null o be undefined és important recordar les diferències entre els operadors d'igualtat (==) i d'identitat (===) (ja que amb el primer s'aplica una conversió de tipus).

- -
// foo no existeix, no està definit i no s'ha inicialitzat mai
-> foo
-"ReferenceError: foo is not defined"
-
-// Es sap que foo existeix ara però no té tipus ni cap valor assignat:
-> var foo = null; foo
-"null"
-
- -

Diferència entre null i undefined

- -
typeof null        // objecte (degut a un bug a ECMAScript, hauria de ser null)
-typeof undefined   // undefined
-null === undefined // false
-null  == undefined // true
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-4.3.11', 'null value')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-null-value', 'null value')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Global_Objects/undefined", "undefined")}}
  • -
  • {{jsxref("Global_Objects/NaN", "NaN")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/epsilon/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/epsilon/index.html deleted file mode 100644 index 5e3f602703..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/epsilon/index.html +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: Number.EPSILON -slug: Web/JavaScript/Referencia/Objectes_globals/Number/EPSILON -translation_of: Web/JavaScript/Reference/Global_Objects/Number/EPSILON ---- -
{{JSRef("Global_Objects", "Number")}}
- -

Resum

- -

La propietat Number.EPSILON representa la diferència entre el nombre 1 i el valor més petit major que 1 que pot ser representat com un {{jsxref("Global_Objects/Number", "Number")}}.

- -

Per tal d'accedir a la propietat no es fa necessari crear un objecte {{jsxref("Global_Objects/Number", "Number")}} ja que és una propietat estàtica i n'hi ha prou amb fer servir Number.EPSILON per a obtindre el valor.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

La propietat EPSILON té un valor aproximat de 2.2204460492503130808472633361816E-16, és a dir, 2-52.

- -

Exemples

- -

Exemple: Comprovant l'igualtat

- -
x = 0.2;
-y = 0.3;
-equal = (Math.abs(x - y) < Number.EPSILON);
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-15.7.3.7', 'Number.EPSILON')}}{{Spec2('ES6')}}Definició inicial
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("25.0")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25.0")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al qual pertany.
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/index.html deleted file mode 100644 index 5f4b7a0bb2..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/index.html +++ /dev/null @@ -1,214 +0,0 @@ ---- -title: Number -slug: Web/JavaScript/Referencia/Objectes_globals/Number -translation_of: Web/JavaScript/Reference/Global_Objects/Number ---- -
{{JSRef("Global_Objects", "Number")}}
- -

Resum

- -

L'objecte de JavaScript Number és un objecte embolcall que permet treballar amb valors numèrics. Un objecte de tipus Number és creat quan es crida el constructor Number().

- -

Constructor

- -
new Number(valor);
- -

Paràmetres

- -
-
valor
-
El valor numèric de l'objecte que es pretèn crear.
-
- -

Descripció

- -

Els usos pricipals de l'objecte Number són:

- -
    -
  • Si l'argument dona al constructor no es pot convertir en un nombre aquest retorna {{jsxref("Global_Objects/NaN", "NaN")}}.
  • -
  • Number pot ser emprat per a realitzar conversions de tipus sense necesitat de crear un nou objecte.
  • -
- -

Propietats

- -
-
{{jsxref("Number.EPSILON")}} {{experimental_inline}}
-
L'interval més petit entre dos nombres que es pot representar.
-
{{jsxref("Number.MAX_SAFE_INTEGER")}} {{experimental_inline}}
-
El nombre sencer més gran que JavaScript pot representar de forma segura (253 - 1).
-
{{jsxref("Number.MAX_VALUE")}}
-
El nombre positiu més gran que pot ésser representat.
-
{{jsxref("Number.MIN_SAFE_INTEGER")}} {{experimental_inline}}
-
El nombre més petit que JavaScript pot representar de forma segura (-(253 - 1)).
-
{{jsxref("Number.MIN_VALUE")}}
-
El nombre positiu més petit que pot ésser representat. És a dir, el nombre positiu més proper a zero sense arribar a ser zero.
-
{{jsxref("Number.NaN")}}
-
El valor especial "not a number".
-
{{jsxref("Number.NEGATIVE_INFINITY")}}
-
El valor especial que representa l'infinit negatiu. És retornat quan es produeix un overflow.
-
{{jsxref("Number.POSITIVE_INFINITY")}}
-
El valor especial que representa l'infinit positiu. És retornat quan es produeix un overflow.
-
{{jsxref("Number.prototype")}}
-
Permet l'adició de propietats a l'objecte Number.
-
- -
{{jsOverrides("Function", "properties", "MAX_VALUE", "MIN_VALUE", "NaN", "NEGATIVE_INFINITY", "POSITIVE_INFINITY", "protoype")}}
- -

Mètodes

- -
-
{{jsxref("Number.isNaN()")}} {{experimental_inline}}
-
Determina si el valor proporcionat és NaN.
-
{{jsxref("Number.isFinite()")}} {{experimental_inline}}
-
Determina si el valor que representa és un valor finit.
-
{{jsxref("Number.isInteger()")}} {{experimental_inline}}
-
Determina si el valor que representa és un nombre i si es tracta d'un nombre sencer.
-
{{jsxref("Number.isSafeInteger()")}} {{experimental_inline}}
-
Determina si el tipus del valor proporcionat així com el valor en sí mateix és un nombre sencer segur (nombre entre -(253 - 1) i 253 - 1).
-
{{jsxref("Number.toInteger()")}} {{obsolete_inline}}
-
Utilitzat per evaluar el valor passat i convertir-lo a sencer (o bé {{jsxref("Global_Objects/Infinity", "Infinity")}}), però s'ha eliminat.
-
{{jsxref("Number.parseFloat()")}} {{experimental_inline}}
-
Fa la mateixa funció que el mètode {{jsxref("Global_Objects/parseFloat", "parseFloat")}} de l'objecte global.
-
{{jsxref("Number.parseInt()")}} {{experimental_inline}}
-
Fa la mateixa funció que el mètode {{jsxref("Global_Objects/parseInt", "parseInt")}} de l'objecte global.
-
- -
{{jsOverrides("Function", "Methods", "isNaN")}}
- -

Instàncies de Number

- -

Totes les instàncies de Number hereten de {{jsxref("Number.prototype")}}. L'objecte prototype del constructor Number pot ser modificat per a afectar a totes les instàncies de Number.

- -

Mètodes

- -
{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/prototype', 'Methods')}}
- -

Exemples

- -

Exemple: Utilitzar l'objecte Number per a assignar valors numèrics a variables

- -

L'exemple que trobareu a continuació utilitza les propietats de l'objecte Number per a assignar valors a diferents variables numèriques:

- -
var biggestNum = Number.MAX_VALUE;
-var smallestNum = Number.MIN_VALUE;
-var infiniteNum = Number.POSITIVE_INFINITY;
-var negInfiniteNum = Number.NEGATIVE_INFINITY;
-var notANum = Number.NaN;
-
- -

Exemple: Rang de sencers de Number

- -

El següent exemple mostra el valor sencer mínim i màxim que pot ésser representat per un objecte de tipus Number (per a més detalls, referiu-vos a l'standard EcmaScript, capítol 8.5 El tipus Number):

- -
var biggestInt = 9007199254740992;
-var smallestInt = -9007199254740992;
-
- -

A l'interpretar dades que han sigut serialitzades amb JSON, els valors que queden fora d'aquest rang poden esdevenir corruptes quan l'intèrpret de JSON els forci esdevenir de tipus Number. Una forma d'evitar aquesta limitació és utilitzar una {{jsxref("Global_Objects/String", "String")}} per representar el nombre.

- -

Exemple: Utilitzar Number per a convertir un objecte de tipus Date

- -

L'exemple que trobareu a continuació converteix un objecte de tipus {{jsxref("Global_Objects/Date", "Date")}} a un tipus numèric tot utilitzant Number com una funció:

- -
var d = new Date('December 17, 1995 03:24:00');
-print(Number(d));
-
- -

Aquest exemple mostrarà "819199440000".

- -

Exemple: Convertir cadenes de caràcters numèriques a nombres

- -
Number("123")     // 123
-Number("")        // 0
-Number("0x11")    // 17
-Number("0b11")    // 3
-Number("0o11")    // 9
-Number("foo")     // NaN
-Number("100a")    // NaN
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7', 'Number')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number-objects', 'Number')}}{{Spec2('ES6')}}Afegides nous mètodes i propietats: ({{jsxref("Number.EPSILON", "EPSILON")}}, {{jsxref("Number.isFinite", "isFinite")}}, {{jsxref("Number.isInteger", "isInteger")}}, {{jsxref("Number.isNaN", "isNaN")}}, {{jsxref("Number.parseFloat", "parseFloat")}}, {{jsxref("Number.parseInt", "parseInt")}})
- -

Compatibilitat amb navegadores

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Global_Objects/NaN", "NaN")}}
  • -
  • L'objecte global {{jsxref("Global_Objects/Math", "Math")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/isfinite/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/isfinite/index.html deleted file mode 100644 index 21d9493bf8..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/isfinite/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Number.isFinite() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/isFinite -translation_of: Web/JavaScript/Reference/Global_Objects/Number/isFinite ---- -
{{JSRef}}
- -

El mètode Number.isFinite() determina si el valor que se li passa com a argument és un nombre finit o no.

- -

Sintaxi

- -
Number.isFinite(valor)
- -

Paràmetres

- -
-
valor
-
El valor que es comprovarà si és finit.
-
- -

Descripció

- -

En comparació amb la funció global {{jsxref("Global_Objects/isFinite", "isFinite()")}}, aquest mètode no converteix el paràmetres a un nombre forçosament. Això implica que només valors de tipus number, que també siguin finits, retornaran true.

- -

Exemples

- -
Number.isFinite(Infinity);  // false
-Number.isFinite(NaN);       // false
-Number.isFinite(-Infinity); // false
-
-Number.isFinite(0);         // true
-Number.isFinite(2e64);      // true
-
-Number.isFinite('0');       // false, seria true si s'utilitzés la
-                            // funció global isFinite('0')
-
- -

Polyfill

- -
Number.isFinite = Number.isFinite || function(value) {
-    return typeof value === "number" && isFinite(value);
-}
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.isfinite', 'Number.isInteger')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("19")}}{{CompatGeckoDesktop("16")}}{{CompatNo}}{{CompatOpera("15")}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("16")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al que pertany.
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/isinteger/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/isinteger/index.html deleted file mode 100644 index ee524e91c2..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/isinteger/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Number.isInteger() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/isInteger -translation_of: Web/JavaScript/Reference/Global_Objects/Number/isInteger ---- -
{{JSRef}}
- -

El mètode Number.isInteger() determina si el valor que se li passa és un nombre sencer.

- -

Sintaxi

- -
Number.isInteger(valor)
- -

Paràmetres

- -
-
valor
-
El valor que serà comprovat si és sencer o no.
-
- -

Descripció

- -

Si el valor passat és un nombre sencer, la funció retornarà true, en cas contrari es retorna false. Si el valor és {{jsxref("Global_Objects/NaN", "NaN")}} o infinit, es retorna false.

- -

Exemples

- -
Number.isInteger(0.1);     // false
-Number.isInteger(1);       // true
-Number.isInteger(Math.PI); // false
-Number.isInteger(-100000); // true
-Number.isInteger(NaN);     // false
-Number.isInteger(0);       // true
-Number.isInteger("10");    // false
-
- -

Polyfill

- -
Number.isInteger = Number.isInteger || function(value) {
-    return typeof value === "number" &&
-           isFinite(value) &&
-           Math.floor(value) === value;
-};
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.isinteger', 'Number.isInteger')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("16")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("16")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al que pertany.
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/isnan/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/isnan/index.html deleted file mode 100644 index f6ba247306..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/isnan/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Number.isNaN() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/isNaN -translation_of: Web/JavaScript/Reference/Global_Objects/Number/isNaN ---- -
{{JSRef}}
- -

El mètode Number.isNaN() determina si el valor passat com a argument és {{jsxref("Global_Objects/NaN", "NaN")}}. És una versió més robusta de la funció global {{jsxref("Global_Objects/isNaN", "isNaN()")}}.

- -

Sintaxi

- -
Number.isNaN(valor)
- -

Paràmetres

- -
-
valor
-
El valor que es comprovarà si és {{jsxref("Global_Objects/NaN", "NaN")}}.
-
- -

Descripció

- -

Degut als dos operadors d'igualtat, {{jsxref("Operators/Comparison_Operators", "==", "#Equality")}} i {{jsxref("Operators/Comparison_Operators", "===", "#Identity")}}, retornen  false quan es comprova si {{jsxref("Global_Objects/NaN", "NaN")}} és {{jsxref("Global_Objects/NaN", "NaN")}}, la funció Number.isNaN() esdevé necesària. Aquesta situació és diferent a totes les altres posibles comparacions a JavaScript.

- -

En comparació a la funció global {{jsxref("Global_Objects/isNaN", "isNaN()")}} function, Number.isNaN() no sofreix el problema de convertir forçosament el paràmetre donat a un nombre. Això implica que ara és segur passar valors que normalment serien convertits a {{jsxref("Global_Objects/NaN", "NaN")}} però en realitat no tenen el mateix valor que {{jsxref("Global_Objects/NaN", "NaN")}}. Això també implica que només valors de tipus number, que també siguin {{jsxref("Global_Objects/NaN", "NaN")}}, retornaran true.

- -

Exemples

- -
Number.isNaN(NaN);        // true
-Number.isNaN(Number.NaN); // true
-Number.isNaN(0 / 0)       // true
-
-// exemples que esdevindrien true amb la funció global isNaN()
-Number.isNaN("NaN");      // false
-Number.isNaN(undefined);  // false
-Number.isNaN({});         // false
-Number.isNaN("blabla");   // false
-
-// Tots els següents retornen false
-Number.isNaN(true);
-Number.isNaN(null);
-Number.isNaN(37);
-Number.isNaN("37");
-Number.isNaN("37.37");
-Number.isNaN("");
-Number.isNaN(" ");
-
- -

Polyfill

- -
Number.isNaN = Number.isNaN || function(value) {
-    return typeof value === "number" && value !== value;
-}
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.isnan', 'Number.isnan')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("25")}}{{CompatGeckoDesktop("15")}}{{CompatNo}}{{CompatVersionUnknown}}9
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatUnknown}}{{CompatGeckoMobile("15")}}{{CompatNo}}{{CompatNo}}iOS 9+
-
- -

Vegeu també

- -
    -
  • {{jsxref("Global_Objects/Number", "Number")}}
  • -
  • {{jsxref("Global_Objects/isNaN", "isNaN()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/issafeinteger/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/issafeinteger/index.html deleted file mode 100644 index 7570e7289d..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/issafeinteger/index.html +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: Number.isSafeInteger() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/isSafeInteger -translation_of: Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger ---- -
{{JSRef}}
- -

El mètode Number.isSafeInteger() determina si el valor proporcionat és un nombre sencer segur. Un nombre sencer segur és aquell que

- -
    -
  • pot ser representat de forma exacta per un nombre de doble precisió IEEE-754, i
  • -
  • la seva representació IEEE-754 no pot ser el resultat de arrodonir cap altre nombre sencer per a encabir-lo a la representació IEEE-754.
  • -
- -

Per exemple, 253 - 1 és un nombre sencer segur: pot ser representat de forma exacta i cap altre nombre sencer arrodonit coincideix amb ell sota cap mode d'arrodoniment IEEE-754. Per contra, 253 no és un nombre sencer segur: pot ser representat de manera exacta en IEEE-754, però el nombre sencer 253 + 1 no pot ser representat directament en IEEE-754 sino que s'arrodoniria a 253 mitjançant un arrodoniment al sencer més proper i un arrodoniment cap al zero.

- -

Els nombres sencers segurs consisteixen en tots els nombres sencers des de -(253 - 1) inclòs fins a 253 - 1 inclòs.

- -

Sintaxi

- -
Number.isSafeInteger(valor)
- -

Paràmetres

- -
-
valor
-
El valor a ser testat com a nombre sencer segur.
-
- -

Exemples

- -
Number.isSafeInteger(3);                    // true
-Number.isSafeInteger(Math.pow(2, 53));      // false
-Number.isSafeInteger(Math.pow(2, 53) - 1);  // true
-Number.isSafeInteger(NaN);                  // false
-Number.isSafeInteger(Infinity);             // false
-Number.isSafeInteger('3');                  // false
-Number.isSafeInteger(3.1);                  // false
-Number.isSafeInteger(3.0);                  // true
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.issafeinteger', 'Number.isSafeInteger')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("32")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("32")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al que pertany.
  • -
  • {{jsxref("Number.MIN_SAFE_INTEGER")}}
  • -
  • {{jsxref("Number.MAX_SAFE_INTEGER")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/max_safe_integer/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/max_safe_integer/index.html deleted file mode 100644 index 02483b41ac..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/max_safe_integer/index.html +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: Number.MAX_SAFE_INTEGER -slug: Web/JavaScript/Referencia/Objectes_globals/Number/MAX_SAFE_INTEGER -translation_of: Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER ---- -
{{JSRef("Global_Objects", "Number")}}
- -

Resum

- -

La constant Number.MAX_SAFE_INTEGER representa el valor màxim que JavaScript pot representar de forma segura (253 - 1).

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

La constant MAX_SAFE_INTEGER te un valor de 9007199254740991. El raonament darrera d'aquest nombre és que JavaScript utilitza un format de nombres de coma flotant de doble precisió, tal com s'especifica al IEEE 754 i en conseqüència només pot representar de forma segura els nombres entre -(253 - 1) i 253 - 1.

- -

Degut a que MAX_SAFE_INTEGER és una propietat estàtica de {{jsxref("Global_Objects/Number", "Number")}}, sempre s'accedeix de mitjançant Number.MAX_SAFE_INTEGER en comptes de com una propietat d'un objecte {{jsxref("Global_Objects/Number", "Number")}} instanciat.

- -

Exemples

- -
Number.MAX_SAFE_INTEGER // 9007199254740991
-Math.pow(2, 53) - 1     // 9007199254740991
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.max_safe_integer', 'Number.MAX_SAFE_INTEGER')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("34")}}{{CompatGeckoDesktop("31")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("32")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.MIN_SAFE_INTEGER")}}
  • -
  • {{jsxref("Number.isSafeInteger()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/max_value/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/max_value/index.html deleted file mode 100644 index 453ad01c23..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/max_value/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Number.MAX_VALUE -slug: Web/JavaScript/Referencia/Objectes_globals/Number/MAX_VALUE -translation_of: Web/JavaScript/Reference/Global_Objects/Number/MAX_VALUE ---- -
-
{{JSRef("Global_Objects", "Number")}}
-
- -

Resum

- -

La propietat Number.MAX_VALUE representa el valor numèric màxim representable en JavaScript.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

La propietat MAX_VALUE té un valor aproximadament de 1.79E+308. Els valors més grans que MAX_VALUE són representats com a "Infinity".

- -

Ja que MAX_VALUE és una propietat estàtica de {{jsxref("Global_Objects/Number", "Number")}}, sempre es fa servir com a Number.MAX_VALUE, en comptes d'una propietat de l'objecte {{jsxref("Global_Objects/Number", "Number")}} que s'ha creat.

- -

Exemples

- -

Exemple: Fer servir MAX_VALUE

- -

El codi següent multiplica dos valors numèrics. Si el resultat és menor o igual a  MAX_VALUE, es crida la funció func1; del contrari, es crida la funció func2.

- -
if (num1 * num2 <= Number.MAX_VALUE) {
-  func1();
-} else {
-  func2();
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.2', 'Number.MAX_VALUE')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.max_value', 'Number.MAX_VALUE')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Supor bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.MIN_VALUE")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/min_safe_integer/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/min_safe_integer/index.html deleted file mode 100644 index 861ec666ec..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/min_safe_integer/index.html +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: Number.MIN_SAFE_INTEGER -slug: Web/JavaScript/Referencia/Objectes_globals/Number/MIN_SAFE_INTEGER -translation_of: Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER ---- -
{{JSRef("Global_Objects", "Number")}}
- -

Resum

- -

La constant Number.MIN_SAFE_INTEGER representa el nombre sencer segur més petit a JavaScript (-(253 - 1)).

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

La constant MIN_SAFE_INTEGER te un valor de -9007199254740991. El raonament darrera d'aquest nombre és que JavaScript utilitza un format de nombres de coma flotant de doble precisió, tal com s'especifica al IEEE 754 i en conseqüència només pot representar de forma segura els nombres entre -(253 - 1) i 253 - 1.

- -

Degut a que MIN_SAFE_INTEGER és una propietat estàtica de {{jsxref("Global_Objects/Number", "Number")}}, sempre s'accedeix de mitjançant Number.MIN_SAFE_INTEGER en comptes de com una propietat d'un objecte {{jsxref("Global_Objects/Number", "Number")}} instanciat.

- -

Exemples

- -
Number.MIN_SAFE_INTEGER // -9007199254740991
--(Math.pow(2, 53) - 1)  // -9007199254740991
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.min_safe_integer', 'Number.MIN_SAFE_INTEGER')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("34")}}{{CompatGeckoDesktop("31")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("32")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.MAX_SAFE_INTEGER")}}
  • -
  • {{jsxref("Number.isSafeInteger()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/min_value/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/min_value/index.html deleted file mode 100644 index 42af185360..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/min_value/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Number.MIN_VALUE -slug: Web/JavaScript/Referencia/Objectes_globals/Number/MIN_VALUE -translation_of: Web/JavaScript/Reference/Global_Objects/Number/MIN_VALUE ---- -
{{JSRef("Global_Objects", "Number")}}
- -

Resum

- -

La propietat Number.MIN_VALUE representa el valor numèric positiu més petit representable en JavaScript.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

La propietat MIN_VALUE és el nombre més proper a 0, però no és el nombre més negatiu que es pot representar en JavaScript.

- -

MIN_VALUE té un valor aproximat de 5e-324. Els valors més petits que MIN_VALUE ("underflow values") són convertits a 0.

- -

Ja que MIN_VALUE és una propietat estàtica de {{jsxref("Global_Objects/Number", "Number")}}, sempre s'usa com a Number.MIN_VALUE, i no com una propietat de l'objecte {{jsxref("Global_Objects/Number", "Number")}} que heu creat.

- -

Exemples

- -

Exemple: Fer servir MIN_VALUE

- -

El codi següent divideix dos valors numèrics. Si el valor és més gran o igual a MIN_VALUE, la funció func1 és crida; del contrari, es crida la funció func2.

- -
if (num1 / num2 >= Number.MIN_VALUE) {
-  func1();
-} else {
-  func2();
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.3', 'Number.MIN_VALUE')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.min_value', 'Number.MIN_VALUE')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterístcaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.MAX_VALUE")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/nan/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/nan/index.html deleted file mode 100644 index 7c6f3f1440..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/nan/index.html +++ /dev/null @@ -1,100 +0,0 @@ ---- -title: Number.NaN -slug: Web/JavaScript/Referencia/Objectes_globals/Number/NaN -translation_of: Web/JavaScript/Reference/Global_Objects/Number/NaN ---- -
{{JSRef("Global_Objects", "Number")}}
- -

Resum

- -

La propietat Number.NaN representa Not-A-Number (quelcom que no és un nombre). Equivalent a {{jsxref("Global_Objects/NaN", "NaN")}}.

- -

No és necesari crear un objecte de tipus {{jsxref("Global_Objects/Number", "Number")}} per a accedir a aquesta propietat estàtica (utilitzeu Number.NaN).

- -
{{js_property_attributes(0, 0, 0)}}
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.4', 'Number.NaN')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.nan', 'Number.NaN')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • L'objecte global {{jsxref("Global_Objects/NaN", "NaN")}}.
  • -
  • L'objecte {{jsxref("Global_Objects/Number", "Number")}} al qual pertany.
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/negative_infinity/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/negative_infinity/index.html deleted file mode 100644 index 3fb4c1d150..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/negative_infinity/index.html +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Number.NEGATIVE_INFINITY -slug: Web/JavaScript/Referencia/Objectes_globals/Number/NEGATIVE_INFINITY -translation_of: Web/JavaScript/Reference/Global_Objects/Number/NEGATIVE_INFINITY ---- -
{{JSRef("Global_Objects", "Number")}}
- -

Resum

- -

La propietat Number.NEGATIVE_INFINITY representa el valor infinit negatiu.

- -

No fa falta crear un objecte {{jsxref("Global_Objects/Number", "Number")}} per accedir a aquesta propietat estàtica (feu servir Number.NEGATIVE_INFINITY).

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

El valor de Number.NEGATIVE_INFINITY és el mateix que el valor negatiu de la propietat de l'objecte global {{jsxref("Global_Objects/Infinity", "Infinity")}}.

- -

Aquest valor es comporta de forma una mica diferent a l'infinit matemàtic:

- -
    -
  • Qualsevol valor positiu, incloent {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}, multiplicat per NEGATIVE_INFINITY és NEGATIVE_INFINITY.
  • -
  • Qualsevol calor negatiu, incloent NEGATIVE_INFINITY, multiplicat per NEGATIVE_INFINITY és {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}.
  • -
  • Zero multiplicat per NEGATIVE_INFINITY és {{jsxref("Global_Objects/NaN", "NaN")}}.
  • -
  • {{jsxref("Global_Objects/NaN", "NaN")}} multiplicat per NEGATIVE_INFINITY és {{jsxref("Global_Objects/NaN", "NaN")}}.
  • -
  • NEGATIVE_INFINITY, dividit per qualsevol valor negatiu excepte NEGATIVE_INFINITY, és {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}.
  • -
  • NEGATIVE_INFINITY, dividit per qualsevol valor positiu excepte {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}, és NEGATIVE_INFINITY.
  • -
  • NEGATIVE_INFINITY, dividit tant per NEGATIVE_INFINITY  com per {{jsxref("Number.POSITIVE_INFINITY", "POSITIVE_INFINITY")}}, és {{jsxref("Global_Objects/NaN", "NaN")}}.
  • -
  • Qualsevol nombre dividit per NEGATIVE_INFINITY és zero.
  • -
- -

Es pot fer serivir la propietat Number.NEGATIVE_INFINITY per indicar una condició d'error que retorna un nombre finit en cas d'èxit. Fixeu-vos, però, que {{jsxref("Global_Objects/isFinite", "isFinite")}} seria més apropiat en aquest cas.

- -

Exemples

- -

Exemple: Fer servir NEGATIVE_INFINITY

- -

En l'exemple següent, a la variable smallNumber se li assigna un valor que és més petit que el valor mínim. Quan la delcaració {{jsxref("Statements/if...else", "if")}} s'executa, smallNumber té el valor -Infinity, així smallNumber s'estableix com a un valor més manegable abans de prosseguir.

- -
var smallNumber = (-Number.MAX_VALUE) * 2;
-
-if (smallNumber == Number.NEGATIVE_INFINITY) {
-  smallNumber = returnFinite();
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.5', 'Number.NEGATIVE_INFINITY')}}{{Spec2('ES5.1')}}
{{SpecName('ES6', '#sec-number.negative_infinity', 'Number.NEGATIVE_INFINITY')}}{{Spec2('ES6')}}
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.POSITIVE_INFINITY")}}
  • -
  • {{jsxref("Number.isFinite()")}}
  • -
  • {{jsxref("Global_Objects/Infinity", "Infinity")}}
  • -
  • {{jsxref("Global_Objects/isFinite", "isFinite()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/parsefloat/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/parsefloat/index.html deleted file mode 100644 index cd3494b7ac..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/parsefloat/index.html +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: Number.parseFloat() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/parseFloat -translation_of: Web/JavaScript/Reference/Global_Objects/Number/parseFloat ---- -
{{JSRef}}
- -

El mètode Number.parseFloat() interpreta el string passat com a argument i retorna un nombre de punt flotant. Aquest mètode es comporta de la mateixa manera que la funció global {{jsxref("Global_Objects/parseFloat", "parseFloat()")}} i és part del ECMAScript 6 (el seu motiu d'existència és la modularització dels globals).

- -

Sintaxi

- -
Number.parseFloat(string)
- -

Paràmetres

- -
-
string
-
Un string que representa el valor a interpretar.
-
- -

Descripció

- -

Vegeu {{jsxref("Global_Objects/parseFloat", "parseFloat()")}} per a més detalls i exemples.

- -

Polyfill

- -
Number.parseFloat = parseFloat;
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.parsefloat', 'Number.parseFloat')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • L'objecte {{jsxref("Number")}} al que pertany.
  • -
  • La funció global {{jsxref("Global_Objects/parseFloat", "parseFloat()")}}.
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/parseint/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/parseint/index.html deleted file mode 100644 index 2ef9597d11..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/parseint/index.html +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: Number.parseInt() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/parseInt -translation_of: Web/JavaScript/Reference/Global_Objects/Number/parseInt ---- -
{{JSRef}}
- -

El mètode Number.parseInt() interpreta un argument string i retorna un nombre sencer de la base especificada.

- -

Sintaxi

- -
Number.parseInt(string[, radix])
- -

Paràmetres

- -
{{page("ca/docs/Web/JavaScript/Reference/Global_Objects/parseInt", "Parameters")}}
- -

Descripció

- -

Aquest mètode és exactament la mateixa funció que la funció global {{jsxref("Global_Objects/parseInt", "parseInt()")}}:

- -
Number.parseInt === parseInt; // true
- -

i és part de l'ECMAScript 6 (el seu propòsit és la modularització de les globals). Vegeu jsxref("Global_Objects/parseInt", "parseInt()")}} per a més detalls i exemples.

- -

Polyfill

- -
Number.parseInt = parseInt;
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-number.parseint', 'Number.parseInt')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatVersionUnknown}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatGeckoDesktop("25")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • L'objecte {{jsxref("Number")}} al que pertany.
  • -
  • La funció global {{jsxref("Global_Objects/parseInt", "parseInt()")}}.
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/positive_infinity/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/positive_infinity/index.html deleted file mode 100644 index 234a779fd1..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/positive_infinity/index.html +++ /dev/null @@ -1,137 +0,0 @@ ---- -title: Number.POSITIVE_INFINITY -slug: Web/JavaScript/Referencia/Objectes_globals/Number/POSITIVE_INFINITY -translation_of: Web/JavaScript/Reference/Global_Objects/Number/POSITIVE_INFINITY ---- -
{{JSRef}}
- -

La propietat Number.POSITIVE_INFINITY representa el valor infinit negatiu.

- -

No fa falta crear un objecte {{jsxref("Global_Objects/Number", "Number")}} per accedir a aquesta propietat estàtica (feu servir Number.POSITIVE_INFINITY).

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

El valor de Number.POSITIVE_INFINITY és el mateix que el valor negatiu de la propietat de l'objecte global {{jsxref("Infinity")}}.

- -

 

- -

Aquest valor es comporta de forma una mica diferent a l'infinit matemàtic:

- -

Qualsevol valor positiu, incloent POSITIVE_INFINITY, multiplicat per POSITIVE_INFINITY és POSITIVE_INFINITY.

- -
    -
  • Qualsevol calor negatiu, incloent NEGATIVE_INFINITY, multiplicat per POSITIVE_INFINITY és {{jsxref("Number.NEGATIVE_INFINITY", "POSITIVE_INFINITY")}}.
  • -
  • Zero multiplicat per POSITIVE_INFINITY és {{jsxref("NaN")}}.
  • -
  • {{jsxref("Global_Objects/NaN", "NaN")}} multiplicat perPOSITIVE_INFINITY és {{jsxref("NaN")}}.
  • -
  • POSITIVE_INFINITY, dividit per quaulsevol valor negatiu execepte {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}}, és {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}}.
  • -
  • POSITIVE_INFINITY, dividit per un valor positiu a excepció de POSITIVE_INFINITY, és POSITIVE_INFINITY.
  • -
  • POSITIVE_INFINITY, dividit per {{jsxref("Number.NEGATIVE_INFINITY", "NEGATIVE_INFINITY")}} o bé per POSITIVE_INFINITY, és {{jsxref("NaN")}}.
  • -
  • Quasevol nombre dividit per POSITIVE_INFINITY és Zero.
  • -
- -

Es pot fer serivir la propietat Number.POSITIVE_INFINITY per indicar una condició d'error que retorna un nombre finit en cas d'èxit. Fixeu-vos, però, que {{jsxref("isFinite")}} seria més apropiat en aquest cas.

- -

Exemples

- -

Utilitzar POSITIVE_INFINITY

- -

In the following example, the variable bigNumber is assigned a value that is larger than the maximum value. When the {{jsxref("Statements/if...else", "if")}} statement executes, bigNumber has the value Infinity, so bigNumber is set to a more manageable value before continuing.

- -

A l'exemple següent, a la variable nombrePetit se li assigna un valor que és més gran que el valor màxim. Quan la declaració {{jsxref("Statements/if...else", "if")}} s'executa, nombrePetit té el valor Infinity, així nombrePetit s'estableix com a un valor més manegable abans de prosseguir.

- -
var nombrePetit = Number.MAX_VALUE * 2;
-
-if (nombrePetit == Number.POSITIVE_INFINITY) {
-  nombrePetit= returnFinite();
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.3.6', 'Number.POSITIVE_INFINITY')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.positive_infinity', 'Number.POSITIVE_INFINITY')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.NEGATIVE_INFINITY")}}
  • -
  • {{jsxref("Number.isFinite()")}}
  • -
  • {{jsxref("Infinity")}}
  • -
  • {{jsxref("Global_Objects/isFinite", "isFinite()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/prototype/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/prototype/index.html deleted file mode 100644 index ae733e56ec..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/prototype/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: Number.prototype -slug: Web/JavaScript/Referencia/Objectes_globals/Number/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/Number -translation_of_original: Web/JavaScript/Reference/Global_Objects/Number/prototype ---- -
{{JSRef}}
- -

La propietat Number.prototype representa el prototipus per al constructor {{jsxref("Number")}}.

- -
{{js_property_attributes(0, 0, 0)}}
- -

Descripció

- -

Totes les instàncies de {{jsxref("Number")}} hereten de Number.prototype. L'objecte prototipus del constructor de {{jsxref("Number")}} pot ser modificat per a afectar totes les instàncies de {{jsxref( "Number")}}.

- -

Propietats

- -
-
Number.prototype.constructor
-
Retorna la funció que ha creat la instància d'aquest objecte. Per defecte aquesta és l'objecte {{jsxref("Number")}}.
-
- -

Mètodes

- -
-
{{jsxref("Number.prototype.toExponential()")}}
-
Retorna un string que representa el nombre en notació exponencial.
-
{{jsxref("Number.prototype.toFixed()")}}
-
Retorna un string que representa el nombre en notació de punt fixe.
-
{{jsxref("Number.prototype.toLocaleString()")}}
-
Retorna un string amb una representació d'aquest nombbre sensible a la llengua. Sobreescriu el mètode {{jsxref("Object.prototype.toLocaleString()")}}.
-
{{jsxref("Number.prototype.toPrecision()")}}
-
Retorna un string amb una representació de precisió de punt fixe o notació exponencial del nombre.
-
{{jsxref("Number.prototype.toSource()")}} {{non-standard_inline}}
-
Retorna un objecte literal que representa l'objecte {{jsxref("Number")}} especificat; aquest valor pot ser emprat per a crear un nou objecte. Sobreescriu el mètode {{jsxref("Object.prototype.toSource()")}}.
-
{{jsxref("Number.prototype.toString()")}}
-
Retorna un string que representa l'objecte especificat en el radi (base) especificat. Sobreescriu el mètode {{jsxref("Object.prototype.toString()")}}.
-
{{jsxref("Number.prototype.valueOf()")}}
-
Retorna el valor primitiu de l'objecte especificat. Sobreescriu el mètode {{jsxref("Object.prototype.valueOf()")}}.
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.4', 'Number')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-properties-of-the-number-prototype-object', 'Number')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/toexponential/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/toexponential/index.html deleted file mode 100644 index 69ca3478ac..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/toexponential/index.html +++ /dev/null @@ -1,136 +0,0 @@ ---- -title: Number.prototype.toExponential() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/toExponential -translation_of: Web/JavaScript/Reference/Global_Objects/Number/toExponential ---- -
{{JSRef}}
- -

El mètode toExponential() retorna un string que representa l'objecte de tipus Number en notació exponencial.

- -

Sintaxi

- -
numObj.toExponential([dígitsDecimals])
- -

Paràmetres

- -
-
dígitsDecimals
-
Opcional. Un nombre sencer que indica el nombre de dígits decimals que s'utilitzaran. Si no s'especifica s'utilitzaran per defecte tants dígits decimals com facin falta per a acomodar el nombre.
-
- -

Valor retornat

- -

Un string que representa l'objecte {{jsxref("Number")}} en notació exponencial amb un dígit a l'esquerra del punt decimal, i arrodonit a dígitsDecimals després del punt decimal. Si s'omet el paràmetre fractionDigits s'utilitzaran tants dígits decimals com facin falta per a acomodar el nombre.

- -

Si s'utilitza el mètode toExponential() en un literal numèric i el literal numèric no té exponent ni punt decimal, deixeu un espai abans del punt que precedeix a la crida del mètode per a evitar que el punt s'interpreti com a punt decimal.

- -

Si un nombre té més dígits dels que s'especifiquen al paràmetre dígitsDecimals el nombre s'arrodoneix al nombre més proper representable pel nombre de dígits dígitsDecimals. Vegeu la discussió sobre arrodoniment a la descripció del mètode {{jsxref("Number.prototype.toFixed", "toFixed()")}}, que també s'aplica al mètode toExponential().

- -

Excepcions llençades

- -
-
{{jsxref("RangeError")}}
-
Si el valor de dígitsDecimals és massa petit o massa gran. Els valors acceptats estan entre 0 i 20, ambdos inclusius, i no llençaran per tant l'excepció RangeError. Les implementacions poden opcionalment donar suport per a valors més grans.
-
{{jsxref("TypeError")}}
-
Si es crida aquest mètode i se li passa un paràmetre que no és de tipus Number.
-
- -

Exemples

- -

Utilitzar toExponential

- -
var numObj = 77.1234;
-
-console.log(numObj.toExponential());  // escriu 7.71234e+1
-console.log(numObj.toExponential(4)); // escriu 7.7123e+1
-console.log(numObj.toExponential(2)); // escriu 7.71e+1
-console.log(77.1234.toExponential()); // escriu 7.71234e+1
-console.log(77 .toExponential());     // escriu 7.7e+1
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a 1.5.
{{SpecName('ES5.1', '#sec-15.7.4.6', 'Number.prototype.toExponential')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.toexponential', 'Number.prototype.toExponential')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.prototype.toFixed()")}}
  • -
  • {{jsxref("Number.prototype.toPrecision()")}}
  • -
  • {{jsxref("Number.prototype.toString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/tofixed/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/tofixed/index.html deleted file mode 100644 index 8df53aafe3..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/tofixed/index.html +++ /dev/null @@ -1,135 +0,0 @@ ---- -title: Number.prototype.toFixed() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/toFixed -translation_of: Web/JavaScript/Reference/Global_Objects/Number/toFixed ---- -
{{JSRef}}
- -

El mètode toFixed() formateja un nombre utilitzant notació de coma fixa.

- -

Sintaxi

- -
numObj.toFixed([dígits])
- -

Paràmetres

- -
-
dígits
-
Opcional. El nombre de dígits a utilitzar després del punt decimal; aquest paràmetre pot rebre valors entre 0 i 20, ambdós inclusius, i les implementacions poden opcionalment donar suport per a valors més grans. Si s'omet aquest argument s'utilitza un valor de 0 per defecte.
-
- -

Valor retornat

- -

Una representació de numObj en forma de string que no utilitza notació exponencial i té exactament dígits digits després del punt decimal. El nombre s'arrodoneix en cas que sigui necesari, així com la part fraccionaria s'omple amb zeros en cas necesari. Si numObj és major que 1e+21, aquest mètode retornarà un string en notació exponencial, proporcionat pel mètode {{jsxref("Number.prototype.toString()")}}.

- -

Excepcions llençades

- -
-
{{jsxref("RangeError")}}
-
Si el valor de dígits és massa petit o massa gran. Els valors acceptats estan entre 0 i 20, ambdos inclusius, i no llençaran per tant l'excepció {{jsxref("RangeError")}}. Les implementacions poden opcionalment donar suport per a valors més grans.
-
{{jsxref("TypeError")}}
-
Si es crida aquest mètode i se li passa un paràmetre que no és de tipus {{jsxref( "Number")}}.
-
- -

Exemples

- -

Utilitzar toFixed

- -
var numObj = 12345.6789;
-
-numObj.toFixed();       // Retorna '12346': recalquem l'arrodoniment, no hi ha part decimal
-numObj.toFixed(1);      // Retorna '12345.7': recalquem l'arrodoniment
-numObj.toFixed(6);      // Retorna '12345.678900': recalquem els zeros afegits
-(1.23e+20).toFixed(2);  // Retorna '123000000000000000000.00'
-(1.23e-10).toFixed(2);  // Retorna '0.00'
-2.34.toFixed(1);        // Retorna '2.3'
--2.34.toFixed(1);       // Retorna -2.3 (degut a la precedència d'operadors, nombres literals negatius no retornen un string...)
-(-2.34).toFixed(1);     // Retorna'-2.3' (...a no ser que s'utilitzin parèntesi)
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.5.
{{SpecName('ES5.1', '#sec-15.7.4.5', 'Number.prototype.toFixed')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.tofixed', 'Number.prototype.toFixed')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.prototype.toExponential()")}}
  • -
  • {{jsxref("Number.prototype.toPrecision()")}}
  • -
  • {{jsxref("Number.prototype.toString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/toprecision/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/toprecision/index.html deleted file mode 100644 index 0af5875e7f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/toprecision/index.html +++ /dev/null @@ -1,134 +0,0 @@ ---- -title: Number.prototype.toPrecision() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/toPrecision -translation_of: Web/JavaScript/Reference/Global_Objects/Number/toPrecision ---- -
{{JSRef}}
- -

El mètode toPrecision() retorna un string que representa l'objecte {{jsxref("Number")}} amb la precisió especificada.

- -

Sintaxi

- -
numObj.toPrecision([precisió])
- -

Paràmetres

- -
-
precisió
-
Opional. Un nombre sencer que indica el nombre de dígits significatius.
-
- -

Valor retornat

- -

Un string que representa un objecte {{jsxref("Number")}} en notació de punt fix o bé en notació exponencial, arrodonit a precisió dígits significatius. Vegeu la discussió sobre arrodoniment a la descripció del mètode {{jsxref("Number.prototype.toFixed()")}}, que també s'aplica a toPrecision().

- -

Si s'omet l'argument precisió, es comporta com  {{jsxref("Number.prototype.toString()")}}. Si l'argument precisió no és un nombre sencer, aquest s'arrodoneix al nombre sencer més proper.

- -

Excepcions llençades

- -
-
{{jsxref("Global_Objects/RangeError", "RangeError")}}
-
Si el valor de precisió no està entre 1 i 100 (ambdós inclusius), es llença un RangeError. Les implementacions poden opcionalment donar suport per a valors més grans o petits. ECMA-262 tan sols requereix una precisió de fins a 21 dígits significatius.
-
- -

Exemples

- -

Utilitzar toPrecision

- -
var numObj = 5.123456;
-
-console.log(numObj.toPrecision());    // escriu 5.123456
-console.log(numObj.toPrecision(5));   // escriu 5.1235
-console.log(numObj.toPrecision(2));   // escriu 5.1
-console.log(numObj.toPrecision(1));   // escriu 5
-
-// fixeu-vos que la notació exponencial pot retornar-se en algunes circumstàncies
-console.log((1234.5).toPrecision(2)); // escriu 1.2e+3
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a 1.5.
{{SpecName('ES5.1', '#sec-15.7.4.7', 'Number.prototype.toPrecision')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.toprecision', 'Number.prototype.toPrecision')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.prototype.toFixed()")}}
  • -
  • {{jsxref("Number.prototype.toExponential()")}}
  • -
  • {{jsxref("Number.prototype.toString()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/number/tostring/index.html b/files/ca/web/javascript/referencia/objectes_globals/number/tostring/index.html deleted file mode 100644 index 7381fc97ac..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/number/tostring/index.html +++ /dev/null @@ -1,141 +0,0 @@ ---- -title: Number.prototype.toString() -slug: Web/JavaScript/Referencia/Objectes_globals/Number/toString -translation_of: Web/JavaScript/Reference/Global_Objects/Number/toString ---- -
{{JSRef}}
- -

El mètode toString() retorna un string que representa l'objecte {{jsxref("Number")}} especificat.

- -

Sintaxi

- -
objecteNum.toString([base])
- -

Paràmetres

- -
-
base
-
Opcional. Un nombre sencer entre 2 i 36 que indica la base a utilitzar a l'hora de representar valors numèrics.
-
- -

Errors llençats

- -
-
{{jsxref("RangeError")}}
-
Si toString() rep una base que no estigui entre 2 i 36, es llença un {{jsxref("RangeError")}}.
-
- -

Descripció

- -

L'objecte {{jsxref("Number")}} sobreescriu el mètode toString() de l'objecte {{jsxref("Object")}}; no hereta {{jsxref("Object.prototype.toString()")}}. Per a objectes {{jsxref( "Number")}}, el mètode toString() retorna una representació en forma de string de l'objecte, utilitzant la base especificada.

- -

El mètode toString() interpreta el primer argument donat, i intenta retornar una representació en forma de string tot utilitzant la base proporcionada. Per a bases majors que 10, les lletres del alfabet indiquen numerals majors que 9. Per exemple, per a nombres hexadecimals (en base 16), s'utilitzen les lletres de la a a la f.

- -

Si no s'especifica la base, s'utilitza 10 com a base.

- -

Si objecteNum és negatiu, es conserva el signe. Això s'aplica fins i tot si la base és 2; el string retornat és la representació binària positiva de objecteNum precedida per un signe -, no s'utilitza el complement a dos de objecteNum.

- -

Exemples

- -

Utilitzar toString

- -
var count = 10;
-
-console.log(count.toString());    // mostra '10'
-console.log((17).toString());     // mostra '17'
-
-var x = 6;
-
-console.log(x.toString(2));       // mostra '110'
-console.log((254).toString(16));  // mostra 'fe'
-
-console.log((-10).toString(2));   // mostra '-1010'
-console.log((-0xff).toString(2)); // mostra '-11111111'
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.7.4.2', 'Number.prototype.tostring')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-number.prototype.tostring', 'Number.prototype.tostring')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Number.prototype.toFixed()")}}
  • -
  • {{jsxref("Number.prototype.toExponential()")}}
  • -
  • {{jsxref("Number.prototype.toPrecision()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/parsefloat/index.html b/files/ca/web/javascript/referencia/objectes_globals/parsefloat/index.html deleted file mode 100644 index 570fa6b63f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/parsefloat/index.html +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: parseFloat() -slug: Web/JavaScript/Referencia/Objectes_globals/parseFloat -translation_of: Web/JavaScript/Reference/Global_Objects/parseFloat ---- -
-
-
{{jsSidebar("Objects")}}
-
-
- -

La funció parseFloat() interpreta un argument de tipus cadena i retorna un nombre decimal amb coma flotant

- -

Sintaxi

- -
parseFloat(cadena)
- -

Paràmetres

- -
-
cadena
-
Una cadena que representa el valor que es vol interpretar.
-
- -

Descripció

- -

parseFloat és una funció de nivell superior que no està associada a cap objecte.

- -

parseFloat interpreta el seu argument, una cadena, i retorna un nombre decimal amb coma flotant. Si es topa amb un caràcter que no sigui un signe (+ o -), un numeral (0-9), un punt decimal, o un exponent, retorna el valor fins a aquell punt i ignora aquell caràcter i la resta de caràcters que el succeeixen. Es permeten espais inicials i finals.

- -

Si el primer caràcter no es pot convertir en un nombre, parseFloat retorna NaN.

- -

Per propòstis aritmètics, el valor de NaN no és un nombre en qualsevol radix. Es pot cridar la funció {{jsxref("isNaN")}} per determinar si el resultat del parseFloat és NaN. Si es passa NaN en operacions aritmètiques, el resultat de l'operació també serà NaN.

- -

parseFloat també pot interpretar i retornar el valor Infinity. Es pot utilitzar la funció {{jsxref("isFinite")}} per determinar si el resultat és un nombre finit i (no Infinity, -Infinity, o NaN).

- -

Exemples

- -

parseFloat retorna un nombre

- -

Tots els exemples següents retornen 3.14

- -
parseFloat("3.14");
-parseFloat("314e-2");
-parseFloat("0.0314E+2");
-parseFloat("3.14more non-digit characters");
-
- -

parseFloat retorna NaN

- -

L'exemple següent retorna NaN

- -
parseFloat("FF2");
-
- -

Una interpretació més estricta

- -

Sovint és útil tenir una forma més estricta d'interpretar els valors flotants, expressions regulars poden ajudar:

- -
var filterFloat = function (value) {
-    if(/^(\-|\+)?([0-9]+(\.[0-9]+)?|Infinity)$/
-      .test(value))
-      return Number(value);
-  return NaN;
-}
-
-console.log(filterFloat('421'));               // 421
-console.log(filterFloat('-421'));              // -421
-console.log(filterFloat('+421'));              // 421
-console.log(filterFloat('Infinity'));          // Infinity
-console.log(filterFloat('1.61803398875'));     // 1.61803398875
-console.log(filterFloat('421e+0'));            // NaN
-console.log(filterFloat('421hop'));            // NaN
-console.log(filterFloat('hop1.61803398875'));  // NaN
-
-
- -

Vegeu que aquest codi és només a mode d'exemple, no accepta nombres vàlids com 1. o .5.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.1.2.3', 'parseFloat')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-parsefloat-string', 'parseFloat')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Global_Objects/parseInt", "parseInt()")}}
  • -
  • {{jsxref("Number.parseFloat()")}}
  • -
  • {{jsxref("Number.parseInt()")}}
  • -
  • {{jsxref("Global_Objects/isNaN", "isNaN()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/set/add/index.html b/files/ca/web/javascript/referencia/objectes_globals/set/add/index.html deleted file mode 100644 index b93eaa3efb..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/set/add/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: Set.prototype.add() -slug: Web/JavaScript/Referencia/Objectes_globals/Set/add -translation_of: Web/JavaScript/Reference/Global_Objects/Set/add ---- -
{{JSRef}}
- -

El mètode add() afegeix un nou element al final de l'objecte Set amb el valor especificat pel paràmetre.

- -

Sintax

- -
mySet.add(valor);
- -

Paràmetres

- -
-
valor
-
Obligatori. El valor de l'element que s'afegirà a l'objecte Set.
-
- -

Valor retornat

- -

L'objecte Set.

- -

Exemples

- -

Utilitzar el mètode add

- -
var mySet = new Set();
-
-mySet.add(1);
-mySet.add(5).add("some text"); // crida en cadena
-
-console.log(mySet);
-// Set [1, 5, "some text"]
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.add', 'Set.prototype.add')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Notes específiques per al Firefox

- -
    -
  • En les versions anteriors al Firefox 33 {{geckoRelease("33")}}, Set.prototype.add retornava undefined i per tant no es podien realitzar crides encadenades. Aquest problem ha estat resolt ({{bug(1031632)}}). Aquest comportament també es pot trovar al Chrome/v8 (problema).
  • -
- -

Vegeu també

- -
    -
  • {{jsxref("Set")}}
  • -
  • {{jsxref("Set.prototype.delete()")}}
  • -
  • {{jsxref("Set.prototype.has()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/set/clear/index.html b/files/ca/web/javascript/referencia/objectes_globals/set/clear/index.html deleted file mode 100644 index 6ef179daaa..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/set/clear/index.html +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: Set.prototype.clear() -slug: Web/JavaScript/Referencia/Objectes_globals/Set/clear -translation_of: Web/JavaScript/Reference/Global_Objects/Set/clear ---- -
{{JSRef}}
- -

El mètode clear() esborra tots els elements emmagatzemats dins l'objecte Set.

- -

Sintaxi

- -
mySet.clear();
- -

Exemples

- -

Utilitzar el mètode clear

- -
var mySet = new Set();
-mySet.add(1);
-mySet.add("foo");
-
-mySet.size;       // 2
-mySet.has("foo"); // true
-
-mySet.clear();
-
-mySet.size;       // 0
-mySet.has("bar")  // false
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.clear', 'Set.prototype.clear')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("19.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}25{{CompatGeckoMobile("19.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Set")}}
  • -
  • {{jsxref("Set.prototype.delete()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/set/delete/index.html b/files/ca/web/javascript/referencia/objectes_globals/set/delete/index.html deleted file mode 100644 index ea66c1a723..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/set/delete/index.html +++ /dev/null @@ -1,112 +0,0 @@ ---- -title: Set.prototype.delete() -slug: Web/JavaScript/Referencia/Objectes_globals/Set/delete -translation_of: Web/JavaScript/Reference/Global_Objects/Set/delete ---- -
{{JSRef}}
- -

El mètode delete() esborra l'element especificat emmagatzemat dins l'objecte Set.

- -

Sintaxi

- -
mySet.delete(valor);
- -

Paràmetres

- -
-
valor
-
Obligatori. El valor de l'element a eliminar.
-
- -

Valor retornat

- -

Retorna true si s'ha pogut eliminar l'element de l'objecte Set; en cas contrari retorna false.

- -

Exemples

- -

Utilitzar el mètode delete

- -
var mySet = new Set();
-mySet.add("foo");
-
-mySet.delete("bar"); // Retorna false. No s'ha trobat l'element "bar".
-mySet.delete("foo"); // Retorna true.  S'ha pogut esborrar l'element "foo".
-
-mySet.has("foo");    // Retorna false. L'element "foo" ja no existeix dins el Set.
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.delete', 'Set.prototype.delete')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Set")}}
  • -
  • {{jsxref("Set.prototype.clear()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/set/entries/index.html b/files/ca/web/javascript/referencia/objectes_globals/set/entries/index.html deleted file mode 100644 index 848e53ba8d..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/set/entries/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Set.prototype.entries() -slug: Web/JavaScript/Referencia/Objectes_globals/Set/entries -translation_of: Web/JavaScript/Reference/Global_Objects/Set/entries ---- -
{{JSRef}}
- -

El mètode entries() retorna un nou objecte Iterator que conté un array de [valor, valor] per a cada element emmagatzemat dins l'objecte Set, ordenats per ordre d'inserció. Els elements de l'objecte Set no disposen de claus, a diferència dels objectes Map. Tot i així, per a oferir una API similar a la de l'objecte Map cada entrada té el mateix valor tant com per a la clau com per al valor. És per això que es retorna un array [valor, valor].

- -

Sintaxi

- -
mySet.entries()
- -

Examples

- -

Using entries()

- -
var mySet = new Set();
-mySet.add("foobar");
-mySet.add(1);
-mySet.add("baz");
-
-var setIter = mySet.entries();
-
-console.log(setIter.next().value); // ["foobar", "foobar"]
-console.log(setIter.next().value); // [1, 1]
-console.log(setIter.next().value); // ["baz", "baz"]
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.entries', 'Set.prototype.entries')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("24") }}{{CompatNo}}257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{ CompatGeckoMobile("24") }}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Set.prototype.keys()")}}
  • -
  • {{jsxref("Set.prototype.values()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/set/has/index.html b/files/ca/web/javascript/referencia/objectes_globals/set/has/index.html deleted file mode 100644 index ca9027b8a4..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/set/has/index.html +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: Set.prototype.has() -slug: Web/JavaScript/Referencia/Objectes_globals/Set/has -translation_of: Web/JavaScript/Reference/Global_Objects/Set/has ---- -
{{JSRef}}
- -

El mètode has() retorna un booleà que indica si l'element amb el valor especificat existeix o no dins l'objecte Set.

- -

Sintaxi

- -
mySet.has(valor);
- -

Paràmetres

- -
-
valor
-
Obligatori. El valor a comprovar si pertany o no a l'objecte Set.
-
- -

Valor retornat

- -
-
Booleà
-
Retorna true si existex un element amb el valor especificat dins l'objecte Set; en cas contrari retorna false.
-
- -

Exemples

- -

Utilitzar el mètode has

- -
var mySet = new Set();
-mySet.add("foo");
-
-mySet.has("foo");  // retorna true
-mySet.has("bar");  // retorna false
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.has', 'Set.prototype.has')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("13.0")}}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{CompatGeckoMobile("13.0")}}{{CompatNo}}{{CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Set")}}
  • -
  • {{jsxref("Set.prototype.add()")}}
  • -
  • {{jsxref("Set.prototype.delete()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/set/index.html b/files/ca/web/javascript/referencia/objectes_globals/set/index.html deleted file mode 100644 index 993d296324..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/set/index.html +++ /dev/null @@ -1,380 +0,0 @@ ---- -title: Set -slug: Web/JavaScript/Referencia/Objectes_globals/Set -translation_of: Web/JavaScript/Reference/Global_Objects/Set ---- -
{{JSRef}}
- -

L'objecte Set permet emmagatzemar valors únics de qualsevol tipus, ja siguin {{Glossary("Primitive", "valors primitius")}} o bé referències a objectes.

- -

Sintaxi

- -
new Set([iterable]);
- -

Paràmetres

- -
-
iterable
-
Si rep un objecte iterable, tots els seus elements seran afegits al nou Set. null serà tractat com a undefined.
-
- -

Descripció

- -

Els objectes Set són coleccions de valors, els seus elements poden ser iterats en ordre d'inserció. Un valor només pot aparèixer un cop dins el Set; és únic dins la col·lecció del Set.

- -

Igualtat de valors

- -

Degut a que cada valor dins el Set ha de ser únic, la igualtat dels valors serà comprovada i aquesta no es basa en el mateix algoritme que l'emprat per l'operador ===. Concreatement, per a Sets, +0 (que és estrictament igual a -0) i -0 són valors diferents. Tot i així, aquest comportament s'ha canviat a la última especificació de l'ECMAScript 6. A partir de Gecko 29.0 {{geckoRelease("29")}} ({{bug("952870")}}) i una recent versió nightly del Chrome, +0 i -0 són tractats com al mateix valor en objectes Set. Així mateix, NaN i undefined també poden ser emmagatzemats dins un Set. NaN és considerat igual a NaN (tot i que NaN !== NaN).

- -

Propietats

- -
-
Set.length
-
El valor de la propietat length és 0.
-
{{jsxref("Set.@@species", "get Set[@@species]")}}
-
La funció constructora que s'ha utilitzat per a crear objectes derivats.
-
{{jsxref("Set.prototype")}}
-
Representa el prototipus per al constructor Set. Permet afegir propietats a tots els objectes Set.
-
- -

Instàncies de Set

- -

Totes les instàncies de Set hereten de {{jsxref("Set.prototype")}}.

- -

Propietats

- -

{{page('ca/Web/JavaScript/Reference/Global_Objects/Set/prototype','Propietats')}}

- -

Mètodes

- -

{{page('ca/Web/JavaScript/Reference/Global_Objects/Set/prototype','Mètodes')}}

- -

Exemples

- -

Utilitzar l'objecte Set

- -
var mySet = new Set();
-
-mySet.add(1);
-mySet.add(5);
-mySet.add("algun text");
-
-mySet.has(1); // true
-mySet.has(3); // false, 3 no ha estat afegit al set
-mySet.has(5);              // true
-mySet.has(Math.sqrt(25));  // true
-mySet.has("Some Text".toLowerCase()); // true
-
-mySet.size; // 3
-
-mySet.delete(5); // esborra 5 del set
-mySet.has(5);    // false, 5 ha sigut esborrat
-
-mySet.size; // 2, acabem d'esborrar un valor
-
- -

Iterarar Sets

- -
// iterar els elements d'un set
-// imprimeix els elements en l'ordre: 1, "algun text"
-for (let item of mySet) console.log(item);
-
-// imprimeix els elements en l'ordre: 1, "algun text"
-for (let item of mySet.keys()) console.log(item);
-
-// imprimeix els elements en l'ordre: 1, "algun text"
-for (let item of mySet.values()) console.log(item);
-
-// imprimeix els elements en l'ordre: 1, "algun text"
-//(key i value són iguals en aquest exemple)
-for (let [key, value] of mySet.entries()) console.log(key);
-
-// converteix el set en un Array (mitjançant Array comprehensions)
-var myArr = [v for (v of mySet)]; // [1, "algun text"]
-// Alternativa (mitjançant Array.from)
-var myArr = Array.from(mySet); // [1, "algun text"]
-
-// el codi següent també funcionarà si s'executa dins un document HTML
-mySet.add(document.body);
-mySet.has(document.querySelector("body")); // true
-
-// conversió entre Set i Array
-mySet2 = new Set([1,2,3,4]);
-mySet2.size; // 4
-[...mySet2]; // [1,2,3,4]
-
-// la intersecció es pot simular via
-var intersection = new Set([x for (x of set1) if (set2.has(x))]);
-
-// Iteració de les entrades del set mitjançant un forEach
-mySet.forEach(function(value) {
-  console.log(value);
-});
-
-// 1
-// 2
-// 3
-// 4
- -

Relació amb objectes Array

- -
var myArray = ["valor1", "valor2", "valor3"];
-
-// Utilitzem el constructor normal del Set per a transformar un Array en un Set
-var mySet = new Set(myArray);
-
-mySet.has("valor1"); // retorna true
-
-// Utilitzem l'operador spread per a transformar un Set en un Array.
-console.log(uneval([...mySet])); // Mostrarà exactament el mateix Array que myArray
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set-objects', 'Set')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic -

{{ CompatChrome(38) }} [1]

-
{{ CompatGeckoDesktop("13") }}{{ CompatIE("11") }}257.1
Argument al constructor: new Set(iterable){{ CompatChrome(38) }}{{ CompatGeckoDesktop("13") }}{{CompatNo}}25{{CompatNo}}
iterable{{ CompatChrome(38) }}{{ CompatGeckoDesktop("17") }}{{CompatNo}}257.1
Set.clear(){{ CompatChrome(38) }}{{CompatGeckoDesktop("19")}}{{ CompatIE("11") }}257.1
Set.keys(), Set.values(), Set.entries(){{ CompatChrome(38) }}{{CompatGeckoDesktop("24")}}{{CompatNo}}257.1
Set.forEach(){{ CompatChrome(38) }}{{CompatGeckoDesktop("25")}}{{ CompatIE("11") }}257.1
Igualtat de valors per a -0 i 0{{ CompatChrome(38) }}{{CompatGeckoDesktop("29")}}{{CompatNo}}25{{CompatNo}}
Argument del constructor: new Set(null){{CompatVersionUnknown}}{{CompatGeckoDesktop("37")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Monkey-patched add() al Constructor{{CompatVersionUnknown}}{{CompatGeckoDesktop("37")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Set[@@species]{{CompatUnknown}}{{CompatGeckoDesktop("41")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Set() sense new llença excepció{{CompatUnknown}}{{CompatGeckoDesktop("42")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome(38)}} [1]{{ CompatGeckoMobile("13") }}{{CompatNo}}{{CompatNo}}8
Argument al constructor: new Set(iterable){{CompatNo}}{{CompatChrome(38)}}{{ CompatGeckoMobile("13") }}{{CompatNo}}{{CompatNo}}{{CompatNo}}
iterable{{CompatNo}}{{CompatNo}}{{ CompatGeckoMobile("17") }}{{CompatNo}}{{CompatNo}}8
Set.clear(){{CompatNo}}{{ CompatChrome(38) }}{{CompatGeckoMobile("19")}}{{CompatNo}}{{CompatNo}}8
Set.keys(), Set.values(), Set.entries(){{CompatNo}}{{ CompatChrome(38) }}{{CompatGeckoMobile("24")}}{{CompatNo}}{{CompatNo}}8
Set.forEach(){{CompatNo}}{{ CompatChrome(38) }}{{CompatGeckoMobile("25")}}{{CompatNo}}{{CompatNo}}8
Igualtat de valors per a -0 i 0{{CompatNo}}{{ CompatChrome(38) }}{{CompatGeckoMobile("29")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
Argument del constructor: new Set(null){{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Monkey-patched add() al Constructor{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("37")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Set[@@species]{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("41")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Set() sense new llença excepció{{CompatUnknown}}{{CompatUnknown}}{{CompatGeckoMobile("42")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

[1] La característica estava disponible sota una preferència a partir de Chorem 31. Al chrome://flags, activeu l'entrada “Activa JavaScript Experimental”.

- -

Vegeu també

- -
    -
  • {{jsxref("Map")}}
  • -
  • {{jsxref("WeakMap")}}
  • -
  • {{jsxref("WeakSet")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/set/prototype/index.html b/files/ca/web/javascript/referencia/objectes_globals/set/prototype/index.html deleted file mode 100644 index 9d6f6e90ee..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/set/prototype/index.html +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: Set.prototype -slug: Web/JavaScript/Referencia/Objectes_globals/Set/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/Set -translation_of_original: Web/JavaScript/Reference/Global_Objects/Set/prototype ---- -
{{JSRef}}
- -

La propietat Set.prototype representa el prototipus per al constructor de {{jsxref("Set")}}.

- -
{{js_property_attributes(0,0,0)}}
- -

Descripció

- -

Les instàncies de {{jsxref("Set")}} hereten de {{jsxref("Set.prototype")}}. Es pot utilitzar el l'objecte prototipus del constructor per a afegir propietats o mètodes a totes les instàncies de Set.

- -

Propietats

- -
-
Set.prototype.constructor
-
Retorna la funció que ha creat la instància del prototipus. Per defecte es tracta de la funció {{jsxref("Set")}}.
-
{{jsxref("Set.prototype.size")}}
-
Retorna el nombre de valors emmagatzemats dins l'objecte Set.
-
- -

Mètodes

- -
-
{{jsxref("Set.add", "Set.prototype.add(valor)")}}
-
Afegeix un nou element a l'objecte Set amb el valor donat. Retorna l'objecte Set.
-
{{jsxref("Set.prototype.clear()")}}
-
Elimina tots els elements de l'objecte Set.
-
{{jsxref("Set.delete", "Set.prototype.delete(valor)")}}
-
Elimina l'element associat a valor i retorna el que el mètode Set.prototype.has(valor) hagués retornat prèviament a aquesta crida. Després d'aquesta crida Set.prototype.has(valor) retornarà false.
-
{{jsxref("Set.prototype.entries()")}}
-
Retorna un nou objecte Iterator que conté un array de la forma [valor, valor] per a cada element dins l'objecte Set, en ordre d'inserció. El array retornat manté similitud amb el comportament de l'objecte Map, de forma que cada entrada té el mateix valor per a la seva clau i valor.
-
{{jsxref("Set.forEach", "Set.prototype.forEach(callbackFn[, thisArg])")}}
-
Crida callbackFn per a cada valor present a l'objecte Set, recorreguts per ordre d'inserció. Si es proporciona el paràmetre thisArg, aquest s'utilitzarà com a valor de this per a cada crida a callbackFn.
-
{{jsxref("Set.has", "Set.prototype.has(value)")}}
-
Retorna un booleà que especifica si la clau té un valor associat en aquest objecte Set o no.
-
{{jsxref("Set.prototype.keys()")}}
-
Es tracta de la mateixa funció que la funció values() i retorna un nou objecte Iterator que conté els valors per a cada element de l'objecte Set, en ordre d'inserció.
-
{{jsxref("Set.prototype.values()")}}
-
Retorna un nou objecte Iterator que conté els valors de cada element de l'objecte Set, en ordre d'inserció.
-
{{jsxref("Set.prototype.@@iterator()", "Set.prototype[@@iterator]()")}}
-
Retorna un nou objecte Iterator que conté els valors de cada element de l'objecte Set, en ordre d'inserció.
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype', 'Set.prototype')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{ CompatGeckoDesktop("13") }}11257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{ CompatGeckoMobile("13") }}{{CompatNo}}{{CompatNo}} -

8

-
-
- -

Vegeu també

- -
    -
  • {{jsxref("Map.prototype")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/set/values/index.html b/files/ca/web/javascript/referencia/objectes_globals/set/values/index.html deleted file mode 100644 index 307fa78113..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/set/values/index.html +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Set.prototype.values() -slug: Web/JavaScript/Referencia/Objectes_globals/Set/values -translation_of: Web/JavaScript/Reference/Global_Objects/Set/values ---- -
{{JSRef}}
- -

El mètode values() retorna un nou objecte Iterator que conté els valors per a cada element de l'objecte Set en ordre d'inserció.

- -

El mètode keys() és un mètode sinònim d'aquest mètode (per a mantindre la similitud amb els objecte {{jsxref("Map")}}); es comporta exactament de la mateixa forma i retorna els valors dels elements de l'objecte Set.

- -

Sintaxi

- -
mySet.values();
-mySet.keys();
-
- -

Exemples

- -

Utilitzar values()

- -
var mySet = new Set();
-mySet.add("foo");
-mySet.add("bar");
-mySet.add("baz");
-
-var setIter = mySet.values();
-
-console.log(setIter.next().value); // "foo"
-console.log(setIter.next().value); // "bar"
-console.log(setIter.next().value); // "baz"
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-set.prototype.values', 'Set.prototype.values')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic38{{CompatGeckoDesktop("24")}}{{CompatNo}}257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}38{{ CompatGeckoMobile("24") }}{{ CompatNo}}{{ CompatNo}}8
-
- -

Vegeu també

- -
    -
  • {{jsxref("Set.prototype.entries()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/anchor/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/anchor/index.html deleted file mode 100644 index 15bd4db97b..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/anchor/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: String.prototype.anchor() -slug: Web/JavaScript/Referencia/Objectes_globals/String/anchor -translation_of: Web/JavaScript/Reference/Global_Objects/String/anchor ---- -
{{JSRef}}
- -

El mètode anchor() un element àncora HTML {{HTMLElement("a")}} que s'utilitza com a HTML un objectiu hypertext.

- -

Sintaxi

- -
str.anchor(nom)
- -

Paràmetres

- -
-
nom
-
Una cadena que representa l'atribut name attribute of the a tag to be created.
-
- -

Descripció

- -

Utilitzar el mètode anchor() per crear i mostrar una àncora en un document mitjançant programació.

- -

En la sintaxi, la cadena de text representa el text literal que es vol mostrar a l'usuari. La cadena paràmetre name representa l'atribut name de l'element {{HTMLElement("a")}}.

- -

Les àncores creades amb el mètode anchor() es tornen elements de l'array {{domxref("document.anchors")}}.

- -

Exemples

- -

Utilitzar anchor()

- -
var myString = 'Taula de continguts';
-
-document.body.innerHTML = myString.anchor('contents_anchor');
-
- -

Mostrarà el següent HTML:

- -
<a name="contents_anchor">Taula de continguts</a>
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.anchor', 'String.prototype.anchor')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per característiques addiccionals d'ECMAScript per a navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}} [1]{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome pdr AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}} [1]{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

[1] Des de la versió Gecko 17, les " (cometes) són substituides pel caràcter de referència HTML &quot; en cadenes subministrades pel paràmetre name.

- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.link()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/big/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/big/index.html deleted file mode 100644 index a3b8815f10..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/big/index.html +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: String.prototype.big() -slug: Web/JavaScript/Referencia/Objectes_globals/String/big -translation_of: Web/JavaScript/Reference/Global_Objects/String/big ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode big() crea un element HTML {{HTMLElement("big")}} que causa que la cadena es mostri en una font de mida gran.

- -
-

Nota d'ús: L'element <big> s'ha eliminat de l'HTML5 i no s'hauria de fer servir més. S'aconsella als desenvolupadors web utilitzar les propietats de CSS.

-
- -

Sintaxi

- -
str.big()
- -

Descripció

- -

El mètode big() incrusta una cadena dins del tag <big>: "<big>str</big>".

- -

Exemples

- -

Utilitzar big()

- -

L'exemple següent utilitza mètodes string per canviar la mida d'una cadena:

- -
var worldString = 'Hello, world';
-
-console.log(worldString.small());     // <small>Hello, world</small>
-console.log(worldString.big());       // <big>Hello, world</big>
-console.log(worldString.fontsize(7)); // <fontsize=7>Hello, world</fontsize>
-
- -

Amb l'objecte {{domxref("HTMLElement.style", "element.style")}} es pot obtenir l'atribut style de l'element i manipular-lo més genèricament, per exemple:

- -
document.getElementById('yourElemId').style.fontSize = '2em';
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.big', 'String.prototype.big')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per característiques addicionals ECMAScript per navegadors web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.fontsize()")}}
  • -
  • {{jsxref("String.prototype.small()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/blink/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/blink/index.html deleted file mode 100644 index 2378325897..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/blink/index.html +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: String.prototype.blink() -slug: Web/JavaScript/Referencia/Objectes_globals/String/blink -translation_of: Web/JavaScript/Reference/Global_Objects/String/blink ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode blink() crea un elment HTML {{HTMLElement("blink")}} que fa mostrar una cadena de forma intermitent.

- -
-

Advertència: El text que es mostra de forma intermitent és mal vist per varis estàndards d'accessibilitat. L'element  <blink> no és estàndard i és obsolet!

-
- -

Sintaxi

- -
str.blink()
- -

Descripció

- -

El mètode blink() incrusta una cadena dins l'etiqueta <blink>: "<blink>cad</blink>".

- -

Exemples

- -

Utilitzar blink()

- -

L'exemple següent utilitza mètodes string per canviar el format d'una cadena:

- -
var worldString = 'Hello, world';
-
-console.log(worldString.blink());   // <blink>Hello, world</blink>
-console.log(worldString.bold());    // <b>Hello, world</b>
-console.log(worldString.italics()); // <i>Hello, world</i>
-console.log(worldString.strike());  // <strike>Hello, world</strike>
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.blink', 'String.prototype.blink')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per característiques addiccionals d'ECMAScrip per Navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.bold()")}}
  • -
  • {{jsxref("String.prototype.italics()")}}
  • -
  • {{jsxref("String.prototype.strike()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/bold/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/bold/index.html deleted file mode 100644 index 502810bb45..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/bold/index.html +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: String.prototype.bold() -slug: Web/JavaScript/Referencia/Objectes_globals/String/bold -translation_of: Web/JavaScript/Reference/Global_Objects/String/bold ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode bold() crea un element HTML {{HTMLElement("b")}} que causa que una cadena es mostri amb negreta.

- -

Sintaxi

- -
str.bold()
- -

Descripció

- -

El mètode bold() incrusta una cadena en l'etiqueta <b>: "<b>cad</b>".

- -

Exemples

- -

Utilitzar bold()

- -

L'exemple següent utilitza mètodes string per canviar el format d'una cadena:

- -
var worldString = 'Hello, world';
-
-console.log(worldString.blink());   // <blink>Hello, world</blink>
-console.log(worldString.bold());    // <b>Hello, world</b>
-console.log(worldString.italics()); // <i>Hello, world</i>
-console.log(worldString.strike());  // <strike>Hello, world</strike>
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.bold', 'String.prototype.bold')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques addiccionals ECMAScript per navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.blink()")}}
  • -
  • {{jsxref("String.prototype.italics()")}}
  • -
  • {{jsxref("String.prototype.strike()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/charat/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/charat/index.html deleted file mode 100644 index 55a84ab7d0..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/charat/index.html +++ /dev/null @@ -1,283 +0,0 @@ ---- -title: String.prototype.charAt() -slug: Web/JavaScript/Referencia/Objectes_globals/String/charAt -translation_of: Web/JavaScript/Reference/Global_Objects/String/charAt ---- -
{{JSRef}}
- -

El mètode charAt() retorna el caràcter especificat d'una cadena.

- -

Sintaxi

- -
str.charAt(posicio)
- -

Paràmetres

- -
-
posicio
-
Un nombre sencer entre 0 i la longitud de la cadena menys 1.
-
- -

Descripció

- -

Els caràcters d'una cadena reben un nombre per la seva posició d'esquerra a dreta. La posició del primer caràcter és el 0 i la posició de l'últim caràcter d'una cadena anomenada stringName és stringName.length - 1. Si la posicio proporcionada està fora del rang vàlid JavaScript retornarà una cadena buida.

- -

Exemples

- -

Mostrar caràcters de diferents posicions d'una cadena

- -

L'exemple següent mostra alguns caràcters a diferents posicions de la cadena "Brave new world":

- -
var anyString = 'Brave new world';
-
-console.log("El caràcter a la posició 0   és '" + anyString.charAt(0)   + "'");
-console.log("El caràcter a la posició 1   és '" + anyString.charAt(1)   + "'");
-console.log("El caràcter a la posició 2   és '" + anyString.charAt(2)   + "'");
-console.log("El caràcter a la posició 3   és '" + anyString.charAt(3)   + "'");
-console.log("El caràcter a la posició 4   és '" + anyString.charAt(4)   + "'");
-console.log("El caràcter a la posició 999 és '" + anyString.charAt(999) + "'");
-
- -

Les línies anteriors mostren la sortida següent:

- -
El caràcter a la posició 0   és 'B'
-El caràcter a la posició 1   és 'r'
-El caràcter a la posició 2   és 'a'
-El caràcter a la posició 3   és 'v'
-El caràcter a la posició 4   és 'e'
-El caràcter a la posició 999 és ''
-
- -

Obtenir caràcters sencers

- -

El codi següent garanteix obtenir un caràcter sencer, fins i tot quan la cadena contingui caràcters que no formen part del pla bàsic multilingüístic.

- -
var str = 'A \uD87E\uDC04 Z'; // We could also use a non-BMP character directly
-for (var i = 0, chr; i < str.length; i++) {
-  if ((chr = getWholeChar(str, i)) === false) {
-    continue;
-  }
-  // Adapt this line at the top of each loop, passing in the whole string and
-  // the current iteration and returning a variable to represent the
-  // individual character
-
-  console.log(chr);
-}
-
-function getWholeChar(str, i) {
-  var code = str.charCodeAt(i);
-
-  if (Number.isNaN(code)) {
-    return ''; // Position not found
-  }
-  if (code < 0xD800 || code > 0xDFFF) {
-    return str.charAt(i);
-  }
-
-  // High surrogate (could change last hex to 0xDB7F to treat high private
-  // surrogates as single characters)
-  if (0xD800 <= code && code <= 0xDBFF) {
-    if (str.length <= (i + 1)) {
-      throw 'High surrogate without following low surrogate';
-    }
-    var next = str.charCodeAt(i + 1);
-      if (0xDC00 > next || next > 0xDFFF) {
-        throw 'High surrogate without following low surrogate';
-      }
-      return str.charAt(i) + str.charAt(i + 1);
-  }
-  // Low surrogate (0xDC00 <= code && code <= 0xDFFF)
-  if (i === 0) {
-    throw 'Low surrogate without preceding high surrogate';
-  }
-  var prev = str.charCodeAt(i - 1);
-
-  // (could change last hex to 0xDB7F to treat high private
-  // surrogates as single characters)
-  if (0xD800 > prev || prev > 0xDBFF) {
-    throw 'Low surrogate without preceding high surrogate';
-  }
-  // We can pass over low surrogates now as the second component
-  // in a pair which we have already processed
-  return false;
-}
-
- -

En l'entorn de l'ECMAScript 2016, que soporta assignació desestructurada, es pot utilitzar el codi següent com a versió alternativa més flexibleenvironment which allows destructured assignment, the following is a more succinct and somewhat more flexible alternative in that it does incrementing for an incrementing variable automatically (if the character warrants it in being a surrogate pair).

- -
var str = 'A\uD87E\uDC04Z'; // We could also use a non-BMP character directly
-for (var i = 0, chr; i < str.length; i++) {
-  [chr, i] = getWholeCharAndI(str, i);
-  // Adapt this line at the top of each loop, passing in the whole string and
-  // the current iteration and returning an array with the individual character
-  // and 'i' value (only changed if a surrogate pair)
-
-  console.log(chr);
-}
-
-function getWholeCharAndI(str, i) {
-  var code = str.charCodeAt(i);
-
-  if (Number.isNaN(code)) {
-    return ''; // Position not found
-  }
-  if (code < 0xD800 || code > 0xDFFF) {
-    return [str.charAt(i), i]; // Normal character, keeping 'i' the same
-  }
-
-  // High surrogate (could change last hex to 0xDB7F to treat high private
-  // surrogates as single characters)
-  if (0xD800 <= code && code <= 0xDBFF) {
-    if (str.length <= (i + 1)) {
-      throw 'High surrogate without following low surrogate';
-    }
-    var next = str.charCodeAt(i + 1);
-      if (0xDC00 > next || next > 0xDFFF) {
-        throw 'High surrogate without following low surrogate';
-      }
-      return [str.charAt(i) + str.charAt(i + 1), i + 1];
-  }
-  // Low surrogate (0xDC00 <= code && code <= 0xDFFF)
-  if (i === 0) {
-    throw 'Low surrogate without preceding high surrogate';
-  }
-  var prev = str.charCodeAt(i - 1);
-
-  // (could change last hex to 0xDB7F to treat high private surrogates
-  // as single characters)
-  if (0xD800 > prev || prev > 0xDBFF) {
-    throw 'Low surrogate without preceding high surrogate';
-  }
-  // Return the next character instead (and increment)
-  return [str.charAt(i + 1), i + 1];
-}
-
- -

Fixing charAt() to support non-Basic-Multilingual-Plane (BMP) characters

- -

While the example above may be more frequently useful for those wishing to support non-BMP characters (since it does not require the caller to know where any non-BMP character might appear), in the event that one does wish, in choosing a character by index, to treat the surrogate pairs within a string as the single characters they represent, one can use the following:

- -
function fixedCharAt(str, idx) {
-  var ret = '';
-  str += '';
-  var end = str.length;
-
-  var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
-  while ((surrogatePairs.exec(str)) != null) {
-    var li = surrogatePairs.lastIndex;
-    if (li - 2 < idx) {
-      idx++;
-    } else {
-      break;
-    }
-  }
-
-  if (idx >= end || idx < 0) {
-    return '';
-  }
-
-  ret += str.charAt(idx);
-
-  if (/[\uD800-\uDBFF]/.test(ret) && /[\uDC00-\uDFFF]/.test(str.charAt(idx + 1))) {
-    // Go one further, since one of the "characters" is part of a surrogate pair
-    ret += str.charAt(idx + 1);
-  }
-  return ret;
-}
-
- -

Specifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('ES1')}}{{Spec2('ES1')}}Initial definition.
{{SpecName('ES5.1', '#sec-15.5.4.4', 'String.prototype.charAt')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.charat', 'String.prototype.charAt')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-string.prototype.charat', 'String.prototype.charAt')}}{{Spec2('ESDraft')}} 
- -

Browser compatibility

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

See also

- -
    -
  • {{jsxref("String.prototype.indexOf()")}}
  • -
  • {{jsxref("String.prototype.lastIndexOf()")}}
  • -
  • {{jsxref("String.prototype.charCodeAt()")}}
  • -
  • {{jsxref("String.prototype.codePointAt()")}}
  • -
  • {{jsxref("String.prototype.split()")}}
  • -
  • {{jsxref("String.fromCodePoint()")}}
  • -
  • JavaScript has a Unicode problem – Mathias Bynens
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/concat/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/concat/index.html deleted file mode 100644 index 87cdda3c5e..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/concat/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: String.prototype.concat() -slug: Web/JavaScript/Referencia/Objectes_globals/String/concat -translation_of: Web/JavaScript/Reference/Global_Objects/String/concat ---- -
{{JSRef}}
- -

El mètode concat() combina el text de dos o més strings i retorna un nou string.

- -

Sintaxi

- -
str.concat(string2, string3[, ..., stringN])
- -

Paràmetres

- -
-
string2...stringN
-
Strings que seran concatenats a aquest string.
-
- -

Descripció

- -

La funció concat() combina el text d'un o més strings i retorna un nou string. Canvis al text d'un string no afecten l'altre string.

- -

Exemples

- -

Utilitzar concat()

- -

L'exemple següent combina strings en un nou string.

- -
var hola = 'Hola, ';
-console.log(hola.concat('Kevin', ' tingueu un bon dia.'));
-
-/* Hola, Kevin tingueu un bon dia. */
-
- -

Rendiment

- -

Es recomana altament utilitzar els {{jsxref("Operators/Assignment_Operators", "operadors d'assignació", "", 1)}} (+, +=) en comptes del mètode concat(). Vegeu aquest test de rendiment.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.6', 'String.prototype.concat')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.concat', 'String.prototype.concat')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Array.prototype.concat()")}}
  • -
  • {{jsxref("Operators/Assignment_Operators", "Operadors d'asssignació", "", 1)}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/endswith/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/endswith/index.html deleted file mode 100644 index 83a1201549..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/endswith/index.html +++ /dev/null @@ -1,133 +0,0 @@ ---- -title: String.prototype.endsWith() -slug: Web/JavaScript/Referencia/Objectes_globals/String/endsWith -translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith ---- -
{{JSRef}}
- -

El mètode endsWith() method determina si un string acaba amb els caràcters d'un altre string, retornant true o false depenent d'això.

- -

Sintaxi

- -
str.endsWith(stringAcercar[, posició])
- -

Paràmetres

- -
-
stringAcercar
-
Els caràcters a cercar al final d'aquest string.
-
posició
-
Opcional. Cerca dins aquest string considerant posició com la última posició del string; per defecte rep el valor del tamany total del string.
-
 
-
 
-
- -

Descripció

- -

Aquest mètode us permet determinar si un string acaba en un altre string.

- -

Exemples

- -

Utilitzar endsWith()

- -
var str = 'To be, or not to be, that is the question.';
-
-console.log(str.endsWith('question.')); // true
-console.log(str.endsWith('to be'));     // false
-console.log(str.endsWith('to be', 19)); // true
-
- -

Polyfill

- -

Aquest mètode va ser afegit a l'especificació ECMAScript i pot no estar disponible encara a totes les implementacions de JavaScript. No obstant, la funció següent emula el comportament de String.prototype.endsWith():

- -
if (!String.prototype.endsWith) {
-  String.prototype.endsWith = function(searchString, position) {
-      var subjectString = this.toString();
-      if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {
-        position = subjectString.length;
-      }
-      position -= searchString.length;
-      var lastIndex = subjectString.indexOf(searchString, position);
-      return lastIndex !== -1 && lastIndex === position;
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.endswith', 'String.prototype.endsWith')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("41")}}{{CompatGeckoDesktop("17")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome("36")}}{{CompatGeckoMobile("17")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.startsWith()")}} {{experimental_inline}}
  • -
  • {{jsxref("String.prototype.contains()")}} {{experimental_inline}}
  • -
  • {{jsxref("String.prototype.indexOf()")}}
  • -
  • {{jsxref("String.prototype.lastIndexOf()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/fixed/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/fixed/index.html deleted file mode 100644 index 069ab4243f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/fixed/index.html +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: String.prototype.fixed() -slug: Web/JavaScript/Referencia/Objectes_globals/String/fixed -translation_of: Web/JavaScript/Reference/Global_Objects/String/fixed ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode fixed() crea un element HTML {{HTMLElement("tt")}} que fa que una cadena es mostri en una font fixed-pitch.

- -

Sintaxi

- -
str.fixed()
- -

Descripció

- -

El mètode fixed() incrusta una cadena en una etiqueta <tt>: "<tt>cad</tt>".

- -

Exemples

- -

Utilitzar fixed()

- -

L'exemple següent utilitza el mètode fixed per canviar el format d'una cadena:

- -
var worldString = 'Hello, world';
-console.log(worldString.fixed()); // "<tt>Hello, world</tt>"
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.fixed', 'String.prototype.fixed')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques addiccionals d'ECMAScript per Navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.bold()")}}
  • -
  • {{jsxref("String.prototype.italics()")}}
  • -
  • {{jsxref("String.prototype.strike()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/fontcolor/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/fontcolor/index.html deleted file mode 100644 index be52cd576b..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/fontcolor/index.html +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: String.prototype.fontcolor() -slug: Web/JavaScript/Referencia/Objectes_globals/String/fontcolor -translation_of: Web/JavaScript/Reference/Global_Objects/String/fontcolor ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode fontcolor() crea un element HTML {{HTMLElement("font")}} que fa que una cadena es mostri amb el color font especificat.

- -
-

Nota d'ús: L'element <font> s'ha eleminitat d'HTML5 i no s'ha de fer servir més. Els desenvolupadors web haurien d'utilitzar les propietats de CSS per aquesta finalitat.

-
- -

Sintaxi

- -
str.fontcolor(color)
- -

Paràmetres

- -
-
color
-
Una cadena que expressa el color com a un triplet RGB hexadecimal o com una cadena literal. Les cadenes literals de noms de colors es troben enllistades en la referència de colors de CSS.
-
- -

Descripció

- -

Si expresseu el color com un triplet RGB hexadecimal, heu de fer servir el format rrggbb. Per example, els valors RGB hexadecimals pel color salmó són vermell=FA, verd=80, i blau=72, de forma que el triplet RGB pel color salmó és "FA8072".

- -

Exemples

- -

Utilitzar fontcolor()

- -

L'exemple següent utilitza el mètode fontcolor() per canviar el color d'una cadena mitjançant la creació d'una cadena amb l'etiqueta HTML <font>.

- -
var worldString = 'Hola, món';
-
-console.log(worldString.fontcolor('red') +  ' és vermell en aquesta línia');
-// '<font color="red">Hola, món</font> 's vermell en aquesta línia'
-
-console.log(worldString.fontcolor('FF00') + ' és vermell en hexadecimal en aquesta línia');
-// '<font color="FF00">Hola, món</font> és vermell en hexadecimal en aquesta línia'
-
- -

Amb l'objecte {{domxref("HTMLElement.style", "element.style")}} es pot obtenir l'atribut style de l'element i manipular-lo més genèricament, per exemple:

- -
document.getElementById('yourElemId').style.color = 'red';
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.fontcolor', 'String.prototype.fontcolor')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques addiccionals d'ECMAScript per Navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.fontsize()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/fontsize/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/fontsize/index.html deleted file mode 100644 index 9f30d124aa..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/fontsize/index.html +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: String.prototype.fontsize() -slug: Web/JavaScript/Referencia/Objectes_globals/String/fontsize -translation_of: Web/JavaScript/Reference/Global_Objects/String/fontsize ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode fontsize() crea un element HTML {{HTMLElement("font")}} que causa que una cadena es mostri en el tamany font especificat.

- -
-

Nota d'ús: L'element <font> s'ha eliminat de l'HTML5 i no s'ha de fer servir més. Els desenvolupadors web haurien de fer servir les propietats de CSS per aquesta finalitat.

-
- -

Sintaxi

- -
str.fontsize(mida)
- -

Paràmetres

- -
-
mida
-
Un nombre sencer entre 1 i 7, una cadena que representi un nombre sencer amb signe entre 1 i 7.
-
- -

Descripció

- -

Quan s'especifica la mida com a un nombre sencer, s'estableix la mida de la str a un de les 7 mides definides. Quan s'especifica la mida com una cadena com pot ser "-2", s'adjusta el tamany font de str en relació ambel tamany establert en l'etiqueta {{HTMLElement("basefont")}}.

- -

Exemples

- -

Utilitzar fontsize()

- -

El següent exemple utilitza mètodes string per canviar la mida de la cadena:

- -
var worldString = 'Hola, món';
-
-console.log(worldString.small());     // <small>Hola, món</small>
-console.log(worldString.big());       // <big>Hola, món</big>
-console.log(worldString.fontsize(7)); // <font size="7">Hola, món</fontsize>
-
- -

Amb l'objecte {{domxref("HTMLElement.style", "element.style")}} es pot obtenir el atribut style de l'element i manipular-lo més genèricament, per exemple:

- -
document.getElementById('yourElemId').style.fontSize = '0.7em';
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.fontsize', 'String.prototype.fontsize')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques Addiccionals d'ECMAScript per Navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.big()")}}
  • -
  • {{jsxref("String.prototype.small()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/fromcharcode/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/fromcharcode/index.html deleted file mode 100644 index f4e2308bf9..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/fromcharcode/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: String.fromCharCode() -slug: Web/JavaScript/Referencia/Objectes_globals/String/fromCharCode -translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCharCode ---- -
{{JSRef}}
- -

El mètode estàtic String.fromCharCode() retorna un string creat a partir de la seqüència de valors Unicode especificada.

- -

Sintaxi

- -
String.fromCharCode(num1[, ...[, numN]])
- -

Paràmetres

- -
-
num1, ..., numN
-
Una seqüència de nombres que són valors Unicode.
-
- -

Descripció

- -

Aquest mètode retorna un string i no un objecte de tipus {{jsxref("String")}}.

- -

Com que fromCharCode() és un mètode estàtic de {{jsxref("String")}}, sempre s'utilitza com String.fromCharCode() en comptes de com un mètode d'un objecte {{jsxref("String")}} creat.

- -

Exemples

- -

Utilitzar fromCharCode()

- -

L'exemple següent retorna el string "ABC".

- -
String.fromCharCode(65, 66, 67);  // "ABC"
-
- -

Fer que funcioni amb valors més grans

- -

Tot i que la majoria dels valors Unicode es poden representar amb un nombre de 16 bits (tal i com s'esperava mentre s'estava estandaritzant el JavaScript) i es pot emprar fromCharCode() per a retornar un sol caràcter per als valors més comuns (com ara valors UCS-2, que són un subconjunt de l'UTF-16 amb els caràcters més comuns), per a poder manegar TOTS els valors legals Unicode (els quals requereixen fins a 21 bits),  l'ús de només fromCharCode() no és adequat ja que els caràcters de valor més alt utilitzen dos nombres "substituts" (de menor valor) per a formar un sol caràcter. Es pot emprar {{jsxref("String.fromCodePoint()")}} (que forma part de l'esborrant de l'ECMAScript 6) per a retornar el parell de nombres citat i, d'aquesta forma, representar de manera adequada aquests caràcters de valor més alt.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacionsEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.3.2', 'StringfromCharCode')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.fromcharcodes', 'String.fromCharCode')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.fromCodePoint()")}}
  • -
  • {{jsxref("String.prototype.charAt()")}}
  • -
  • {{jsxref("String.prototype.charCodeAt()")}}
  • -
  • {{jsxref("String.prototype.codePointAt()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/index.html deleted file mode 100644 index 136820a54d..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/index.html +++ /dev/null @@ -1,340 +0,0 @@ ---- -title: String -slug: Web/JavaScript/Referencia/Objectes_globals/String -translation_of: Web/JavaScript/Reference/Global_Objects/String ---- -
{{JSRef("Global_Objects", "String")}}
- -

Resum

- -

L'objecte global String és un constructor per a strings, també conegudes com a cadenes de caràcters.

- -

Sintaxi

- -

Els literals de tipus Stringpoden tenir les següents formes:

- -
'string text'
-"string text"
-"中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்"
-
- -

A més dels caràcters imprimibles normals, es poden codificar caràcters especials mitjançant la notació d'escapament:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CodiSortida
\0el caràcter NUL
\'cometa simple
\"cometa doble
\\barra invertida
\nlínia nova
\rretorn de carro
\vbarra vertical
\ttabulador
\besborrar
\fform feed
\uXXXXcaràcter amb codificació unicode
\xXXcaràcter amb codificació Latin-1
- -

O bé utilitzant l'objecte global String de forma directa:

- -
String(quelcom)
-new String(quelcom)
-
- -

Paràmetres

- -
-
quelcom
-
Qualsevol cosa que serà convertida a string.
-
- -

Descripció

- -

Les Strings són útils per a emmagatzemar dades que poden ser representades en forma de texte. Algunes de les operacions més emprades en strings són per a obtindre la seva llargada {{jsxref("String.length", "length")}}, per a concatenar-les mitjançant els operadors de strings + i +=, per a comprovar l'existència o localització de substrings amb el mètode {{jsxref("String.prototype.indexOf()", "indexOf()")}}, o bé per a extreure substrings amb el mètode {{jsxref("String.prototype.substring()", "substring()")}}.

- -

Accés als caràcters

- -

Hi ha dues formes d'accedir a un caràcter individual emmagatzemat dins un string. El primer és el mètode {{jsxref("String.prototype.charAt()", "charAt()")}}:

- -
return 'cat'.charAt(1); // retorna "a"
-
- -

L'altra forma (introduida a ECMAScript 5) és fer anar l'string com si fós un objecte de tipus array, on els caràcters individuals es corresponen a un índex numèric:

- -
return 'cat'[1]; // retorna "a"
-
- -

Utilitzar la notació de claus per a esborrar o bé assignar un valor a un caràcter no funcionarà. Les propietats involucrades no són de tipus no-escriptura i no són configurables. (Vegeu {{jsxref("Object.defineProperty()")}} per a més informació).

- -

Comparar strings

- -

Els desenvolupadors de C disposen de la funció strcmp() per a comparar strings. A JavaScript senzillament es poden utilitzar els operadors major-que i menor-que

- -
var a = 'a';
-var b = 'b';
-if (a < b) { // true
-  print(a + ' és menor que ' + b);
-} else if (a > b) {
-  print(a + ' és major que ' + b);
-} else {
-  print(a + ' i ' + b + ' són iguals.');
-}
-
- -

Es pot obtindre un resultat similar mitjançant el mètode {{jsxref("String.prototype.localeCompare()", "localeCompare()")}}, heredat per les instàncies de String.

- -

Distinció entre les primitives string i els objectes String

- -

Cal recalcar que JavaScript distingeix entre objectes de tipus String i valors primitius de tipus string (El mateix succeeix amb {{jsxref("Global_Objects/Boolean", "Boolean")}} i {{jsxref("Global_Objects/Number", "Numbers")}}

- -

Els literals de tipus string (englobats en cometes simples o dobles) així com strings retornats per crides a l'objecte String en un contexte no constructor (és a dir, sense utilitzar la paraula clau {{jsxref("Operators/new", "new")}}) són strings primitives. JavaScript automàticament converteix primitives a objectes String, de forma que és posible utilitzar mètodes de l'objecte String en strings primitives. En els contextes on s'ha d'invocar un mètode en una primitiva string o es demana la una propietat, JavaScript automàticament embolcallarà la primitiva string amb un objecte String i cridarà el mètode o la propietat corresponent.

- -
var s_prim = 'foo';
-var s_obj = new String(s_prim);
-
-console.log(typeof s_prim); // Escriu "string"
-console.log(typeof s_obj);  // Escriu "object"
-
- -

Les primitives string i els objectes String també donen resultats diferents a l'utilitzar {{jsxref("Global_Objects/eval", "eval()")}}. Les primitives passades a eval són considerades codi font; els objectes String es tracten com qualsevol altre objecte, és a dir, retornan l'objecte. Per exemple:

- -
var s1 = '2 + 2';             // crea una primitiva string
-var s2 = new String('2 + 2'); // crea un objecte String
-console.log(eval(s1));        // escriu el nombre 4
-console.log(eval(s2));        // escriu la string "2 + 2"
-
- -

És per aquestes raons que el codi pot produïr errors quan trobi objectes String però s'esperès una primitiva string, tot i que de forma general els autors no s'han de preocupar per la distinció.

- -

Un objecte String sempre es pot convertir en la seva representació primitiva mitjançant el mètode {{jsxref("String.prototype.valueOf()", "valueOf()")}}.

- -
console.log(eval(s2.valueOf())); // escriu el nombre 4
-
- -
Nota: Per a una altra posible enfocament quant a string a JavaScript llegiu l'article sobre StringView — una representació de strings basada en arrays de tipatge explícit similar a C.
- -

Propietats

- -
-
{{jsxref("String.prototype")}}
-
Permet afegir propietats a un objecte String.
-
- -
{{jsOverrides("Function", "Properties", "prototype")}}
- -

Mètodes

- -
-
{{jsxref("String.fromCharCode()")}}
-
Retorna un string creat a partir de la seqüència de valors Unicode proporcionada.
-
{{jsxref("String.fromCodePoint()")}} {{experimental_inline}}
-
Retorna un string creat a partir de la seqüència de code points proporcionada.
-
{{jsxref("String.raw()")}} {{experimental_inline}}
-
Retorna un string creat a partir de l'string proporcionat sense tindre en compte la codificació.
-
- -
{{jsOverrides("Function", "Methods", "fromCharCode", "fromCodePoint", "raw")}}
- -

Mètodes genèrics de String

- -

Els mètodes de les instàncies de String també estan disponibles a Firefox a partir del JavaScript 1.6 (tot i que no formen part de l'standard ECMAScript) a l'objecte String, així es poden aplicar els mètodes de String a qualsevol objecte:

- -
var num = 15;
-console.log(String.replace(num, /5/, '2'));
-
- -

{{jsxref("Global_Objects/Array", "Generics", "#Array_generic_methods", 1)}} també estàn disponibles als mètodes de {{jsxref("Global_Objects/Array", "Array")}}.

- -

A continuació es mostra un shim per a donar suport als navegadors que no ho suporten:

- -
/*globals define*/
-// Assumes all supplied String instance methods already present
-// (one may use shims for these if not available)
-(function() {
-  'use strict';
-
-  var i,
-    // We could also build the array of methods with the following, but the
-    //   getOwnPropertyNames() method is non-shimable:
-    // Object.getOwnPropertyNames(String).filter(function(methodName) {
-    //   return typeof String[methodName] === 'function';
-    // });
-    methods = [
-      'quote', 'substring', 'toLowerCase', 'toUpperCase', 'charAt',
-      'charCodeAt', 'indexOf', 'lastIndexOf', 'startsWith', 'endsWith',
-      'trim', 'trimLeft', 'trimRight', 'toLocaleLowerCase',
-      'toLocaleUpperCase', 'localeCompare', 'match', 'search',
-      'replace', 'split', 'substr', 'concat', 'slice'
-    ],
-    methodCount = methods.length,
-    assignStringGeneric = function(methodName) {
-      var method = String.prototype[methodName];
-      String[methodName] = function(arg1) {
-        return method.apply(arg1, Array.prototype.slice.call(arguments, 1));
-      };
-    };
-
-  for (i = 0; i < methodCount; i++) {
-    assignStringGeneric(methods[i]);
-  }
-}());
-
- -

Instàncies de String

- -

Propietats

- -
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'Properties')}}
- -

Mètodes

- -

Mètodes no relacionats amb HTML

- -
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'Methods_unrelated_to_HTML')}}
- -

Mètodes d'embolcall de HTML

- -
{{page('/ca/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'HTML_wrapper_methods')}}
- -

Exemples

- -

Exemple: Conversió de strings

- -

És posible utilitzar String com a una alternativa "més segura" de {{jsxref("String.prototype.toString()","toString()")}}, ja que tot i que normalment també crida el mètode toString() subjacent, també funciona per a {{jsxref("Global_Objects/null", "null")}} i {{jsxref("Global_Objects/undefined", "undefined")}}. Per exemple:

- -
var outputStrings = [];
-for (var i = 0, n = inputValues.length; i < n; ++i) {
-  outputStrings.push(String(inputValues[i]));
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
ECMAScript 1a EdicióStandardDefinició inicial.
{{SpecName('ES5.1', '#sec-15.5', 'String')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string-objects', 'String')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("0.2")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/indexof/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/indexof/index.html deleted file mode 100644 index 9b08b04ded..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/indexof/index.html +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: String.prototype.indexOf() -slug: Web/JavaScript/Referencia/Objectes_globals/String/indexOf -translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf ---- -
{{JSRef}}
- -

El mètode indexOf() retorna la primera posició dins el {{jsxref("String")}} des del que es crida a la qual es troba el valor proporcionat. Retorna -1 si no es troba el valor donat.

- -

Sintaxi

- -
str.indexOf(valorACercar[, posicioInicial])
- -

Paràmetres

- -
-
valorACercar
-
Un string que representa el valor a cercar.
-
posicioInicial {{optional_inline}}
-
La posició a partir de la qual es cercarà dins la cadena. Pot ser qualsevol nombre sencer. El valor per defecte és 0, indicant que es cercarà a tota la cadena. Si posicioInicial < 0 es cercarà a tota la cadena. Si posicioInicial >= str.length, no es cercarà a la cadena i es retornarà -1 automàticament. Si valorACercar és una cadena buida es retornarà str.length.
-
- -

Descripció

- -

Els caràcters de la cadena s'indexen d'esquerra a dreta. La posició del primer caràcter és 0, i la posició de l'últim caràcter d'una cadena amb nom stringName és  stringName.length - 1.

- -
'Blue Whale'.indexOf('Blue');     // returns  0
-'Blue Whale'.indexOf('Blute');    // returns -1
-'Blue Whale'.indexOf('Whale', 0); // returns  5
-'Blue Whale'.indexOf('Whale', 5); // returns  5
-'Blue Whale'.indexOf('', 9);      // returns  9
-'Blue Whale'.indexOf('', 10);     // returns 10
-'Blue Whale'.indexOf('', 11);     // returns 10
-
- -

Distinció entre majúscules i minúscules

- -

El mètode indexOf() distingeix entre majúscules i minúscules. Per exemple, l'expressió següent retorna -1:

- -
'Blue Whale'.indexOf('blue'); // retorna -1
-
- -

Comprovar troballes

- -

Cal destacar que '0' no s'evalua a true i que '-1' no s'evalua a false. Tenim llavors que al comprovar si una cadena específica existeix dins una altra, la forma correcta de comprovar-ho seria:

- -
'Blue Whale'.indexOf('Blue') !== -1; // true
-'Blue Whale'.indexOf('Bloe') !== -1; // false
-
- -

Exemples

- -

Utilitzar indexOf() i lastIndexOf()

- -

L'exemple següent utilitza indexOf() i {{jsxref("String.prototype.lastIndexOf()", "lastIndexOf()")}} per a trobar valors dins la cadena "Brave new world".

- -
var anyString = 'Brave new world';
-
-console.log('La posicó de la primera w des del principi és ' + anyString.indexOf('w'));
-// mostra 8
-console.log('La posició de la primera w des del final és ' + anyString.lastIndexOf('w'));
-// mostra 10
-
-console.log('La posicó de "new" des del principi és ' + anyString.indexOf('new'));
-// mostra 6
-console.log('La posició de "new" des del final és ' + anyString.lastIndexOf('new'));
-// mostra 6
-
- -

indexOf() i distinció entre majúscules i minúscules

- -

L'exemple següent definteix dos variables de tipus cadena. The following example defines two string variables. The variables contain the same string except that the second string contains uppercase letters. The first {{domxref("console.log()")}} method displays 19. But because the indexOf() method is case sensitive, the string "cheddar" is not found in myCapString, so the second console.log() method displays -1.

- -
var myString    = 'brie, pepper jack, cheddar';
-var myCapString = 'Brie, Pepper Jack, Cheddar';
-
-console.log('myString.indexOf("cheddar") is ' + myString.indexOf('cheddar'));
-// logs 19
-console.log('myCapString.indexOf("cheddar") is ' + myCapString.indexOf('cheddar'));
-// logs -1
-
- -

Using indexOf() to count occurrences of a letter in a string

- -

The following example sets count to the number of occurrences of the letter e in the string str:

- -
var str = 'To be, or not to be, that is the question.';
-var count = 0;
-var pos = str.indexOf('e');
-
-while (pos !== -1) {
-  count++;
-  pos = str.indexOf('e', pos + 1);
-}
-
-console.log(count); // displays 4
-
- -

Specifications

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('ES1')}}{{Spec2('ES1')}}Initial definition.
{{SpecName('ES5.1', '#sec-15.5.4.7', 'String.prototype.indexOf')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.indexof', 'String.prototype.indexOf')}}{{Spec2('ES6')}} 
{{SpecName('ESDraft', '#sec-string.prototype.indexof', 'String.prototype.indexOf')}}{{Spec2('ESDraft')}} 
- -

Browser compatibility

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

See also

- -
    -
  • {{jsxref("String.prototype.charAt()")}}
  • -
  • {{jsxref("String.prototype.lastIndexOf()")}}
  • -
  • {{jsxref("String.prototype.split()")}}
  • -
  • {{jsxref("Array.prototype.indexOf()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/italics/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/italics/index.html deleted file mode 100644 index f38a8f9579..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/italics/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: String.prototype.italics() -slug: Web/JavaScript/Referencia/Objectes_globals/String/italics -translation_of: Web/JavaScript/Reference/Global_Objects/String/italics ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode italics() crea un element HTML {{HTMLElement("i")}} que converteix una cadena en format itàlic.

- -

Sintaxi

- -
str.italics()
- -

Descripció

- -

El mètode italics() incrusta una cadena en una etiqueta <i>: "<i>str</i>".

- -

Exemples

- -

Utilitzar italics()

- -

L'exemple següent utilitza mètodes string per canviar el format de la cadena:

- -
var worldString = 'Hola, món'; console.log(worldString.blink());  // Hello, world
-console.log(worldString.bold());  // Hola, món
-console.log(worldString.italics()); //Hola, món
-console.log(worldString.strike());  // Hola, món
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.italics', 'String.prototype.italics')}}{{Spec2('ES6')}}Definició inicial. Implemtat en JavaScript 1.0. Definit en l'Annex B (normative) per Caracerístiques Adiccionals d'ECMAScript per navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.blink()")}}
  • -
  • {{jsxref("String.prototype.bold()")}}
  • -
  • {{jsxref("String.prototype.strike()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/length/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/length/index.html deleted file mode 100644 index 63a3114d2d..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/length/index.html +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: String.length -slug: Web/JavaScript/Referencia/Objectes_globals/String/length -translation_of: Web/JavaScript/Reference/Global_Objects/String/length ---- -
{{JSRef("Global_Objects", "String")}}
- -

Resum

- -

La propietat length representa la longitud d'una cadena de caràcters.

- -

Sintaxi

- -
str.length
- -

Descripció

- -

Aquesta propietat retorna el nombre d'unitats de codi en un string. {{interwiki("wikipedia", "UTF-16")}}, el format de string utilitzar a JavaScript, utilitza un únic codi de 16 bits per a representar els caràcters més comuns, però necessita dos unitats de codi per a caràcters menys comuns, així que és possible que el valor retornat per length no encaixi amb el nombre de caràcters reals a la cadena de caràcters.

- -

Per a una cadena buida, length és 0.

- -

La propietat estàtica String.length retorna el valor 1.

- -

Exemples

- -

Exemple: Ús bàsic

- -
var x = 'Mozilla';
-var empty = '';
-
-console.log('Mozilla té ' + x.length + ' unitats de codi');
-/* "Mozilla té 7 unitats de codi" */
-
-console.log('La string buida té una longitud de ' + empty.length);
-/* "La string buida té una longitud de 0" */
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacionsEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.5.1', 'String.prototype.length')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-properties-of-string-instances-length', 'String.prototype.length')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/link/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/link/index.html deleted file mode 100644 index efe1385ddc..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/link/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: String.prototype.link() -slug: Web/JavaScript/Referencia/Objectes_globals/String/link -translation_of: Web/JavaScript/Reference/Global_Objects/String/link ---- -
{{JSRef}}
- -

El mètode link() crea un element HTML {{HTMLElement("a")}} que causa que una cadena es mostri com un enllaç hipertext a una altra URL.

- -

Sintaxi

- -
str.link(url)
- -

Paràmetres

- -
-
url
-
Una cadena que especifica l'atribut href de l'etiqueta <a>: hauria de ser una URL vàlida (relativa o absoluta), amb qualsevols caràcters escapats & com &amp;, i qualsevol caràcter "  escapat com &quot;.
-
- -

Descripció

- -

Use the link() method to create an HTML snippet for a hypertext link. The returned string can then be added to the document via {{domxref("document.write()")}} or {{domxref("element.innerHTML")}}.

- -

Links created with the link() method become elements in the links array of the document object. See {{domxref("document.links")}}.

- -

Exemples

- -

Utilitzar link()

- -

L'exemple següent mostra la paraula "MDN" com a un enllaç hypertext lque retorna a l'usuari a la xarxa de Mozilla Developer.

- -
var hotText = 'MDN';
-var URL = 'https://developer.mozilla.org/';
-
-console.log('Click to return to ' + hotText.link(URL));
-// Click to return to <a href="https://developer.mozilla.org/">MDN</a>
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.link', 'String.prototype.link')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques Addiccionals d'ECMAScript per Navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Notes específiques Gecko

- -
    -
  • Starting Gecko 17.0 {{geckoRelease("17")}} the " (quotation mark) is now automatically replaced by its HTML reference character &quot; in the url parameter.
  • -
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.anchor()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/normalize/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/normalize/index.html deleted file mode 100644 index 7a6bcef500..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/normalize/index.html +++ /dev/null @@ -1,154 +0,0 @@ ---- -title: String.prototype.normalize() -slug: Web/JavaScript/Referencia/Objectes_globals/String/normalize -translation_of: Web/JavaScript/Reference/Global_Objects/String/normalize ---- -
{{JSRef}}
- -

El mètode normalize() retorna la Forma Normalitzada en Unicode d'un string donat (si el valor passat no és un string, es convertirà a string primer).

- -

Sintaxi

- -
str.normalize([forma])
- -

Paràmetres

- -
-
forma
-
Una de les opcions "NFC", "NFD", "NFKC", o "NFKD", que determina quina Forma de Normalització Unicode es farà anar. Si s'omet o es passa {{jsxref("undefined")}} com a paràmetre, s'utilitzarà "NFC" per defecte. -
    -
  • NFC — Normalization Form Canonical Composition.
  • -
  • NFD — Normalization Form Canonical Decomposition.
  • -
  • NFKC — Normalization Form Compatibility Composition.
  • -
  • NFKD — Normalization Form Compatibility Decomposition.
  • -
-
-
- -

Errors llençats

- -
-
{{jsxref("RangeError")}}
-
Es llença un {{jsxref("RangeError")}} si forma no és un dels valors especificats adalt.
-
- -

Descripció

- -

El mètode normalize() retorna la Forma Normalitzada Unicode d'un string. No afecta el propi valor del string passat sino que en retorna un de nou.

- -

Exemples

- -

Utilitzar normalize()

- -
// String inicial
-
-// U+1E9B: LLETRA S PETITA DEL LLATÍ AMB UN PUNT A SOBRE
-// U+0323: COMBINACIÓ AMB EL PUNT A SOTA
-var str = '\u1E9B\u0323';
-
-
-// Canonically-composed form (NFC)
-
-// U+1E9B: LLETRA S PETITA DEL LLATÍ AMB UN PUNT A SOBRE
-// U+0323: COMBINACIÓ AMB EL PUNT A SOTA
-str.normalize('NFC'); // '\u1E9B\u0323'
-str.normalize();      // el mateix que a sobre
-
-
-// Canonically-decomposed form (NFD)
-
-// U+017F: LLETRA S PETITA DEL LLATÍ AMB UN PUNT A SOBRE
-// U+0323: COMBINACIÓ AMB EL PUNT A SOTA
-// U+0307: COMBINACIÓ AMB EL PUNT A SOBRE
-str.normalize('NFD'); // '\u017F\u0323\u0307'
-
-
-// Compatibly-composed (NFKC)
-
-// U+1E69: LLETRA S PETITA DEL LLATÍ AMB UN PUNT A SOBRE
-str.normalize('NFKC'); // '\u1E69'
-
-
-// Compatibly-decomposed (NFKD)
-
-// U+0073: LLETRA S PETITA DEL LLATÍ
-// U+0323: COMBINACIÓ AMB EL PUNT A SOTA
-// U+0307: COMBINACIÓ AMB EL PUNT A SOBRE
-str.normalize('NFKD'); // '\u0073\u0323\u0307'
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.normalize', 'String.prototype.normalize')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("34")}}{{CompatGeckoDesktop("31")}}{{CompatIE("11")}}{{CompatVersionUnknown}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome("34")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/small/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/small/index.html deleted file mode 100644 index 761797bdda..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/small/index.html +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: String.prototype.small() -slug: Web/JavaScript/Referencia/Objectes_globals/String/small -translation_of: Web/JavaScript/Reference/Global_Objects/String/small ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode small() crea un element HTML {{HTMLElement("small")}} que causa que una cadena es mostri amb una font petita.

- -

Sintaxi

- -
str.small()
- -

Descripció

- -

El mètode small() incrusta una adena en una etiqueta <small>: "<small>str</small>".

- -

Exemples

- -

Utilitzar small()

- -

L'exemple següent utilitza mètodes string per canviar la mida d'una cadena:

- -
var worldString = 'Hola, món';
-
-console.log(worldString.small());     // <small>Hola, món</small>
-console.log(worldString.big());       // <big>Hola, món</big>
-console.log(worldString.fontsize(7)); // <font size="7">Hola, món</fontsize>
-
- -

Amb l'objecte {{domxref("HTMLElement.style", "element.style")}} es pot obtenir l'atribut style  d'un element i manipular-lo més genèricament. Per exemple:

- -
document.getElementById('yourElemId').style.fontSize = '0.7em';
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.small', 'String.prototype.small')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per Característiques Addiccionals d'ECMAScript per Navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.fontsize()")}}
  • -
  • {{jsxref("String.prototype.big()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/startswith/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/startswith/index.html deleted file mode 100644 index ca25398d51..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/startswith/index.html +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: String.prototype.startsWith() -slug: Web/JavaScript/Referencia/Objectes_globals/String/startsWith -translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith ---- -
{{JSRef}}
- -

El mètode startsWith() determina si un string comença amb els caràcters d'un altre string, retornant true o false depenent d'això.

- -

Sintaxi

- -
str.startsWith(stringAcercar[, posició])
- -

Paràmetres

- -
-
stringAcercar
-
Els caràcters a cercar al començament d'aquest string.
-
posició
-
Opcional. La posició dins el string a la qual es començarà a cercar per a trobar stringAcercar; per defecte és 0.
-
- -

Descripció

- -

Aquest mètode us permet determinar si un string comença amb un altre string.

- -

Exemples

- -

Utilitzar startsWith()

- -
var str = 'To be, or not to be, that is the question.';
-
-console.log(str.startsWith('To be'));         // true
-console.log(str.startsWith('not to be'));     // false
-console.log(str.startsWith('not to be', 10)); // true
-
- -

Polyfill

- -

Aquest mètode va ser afegit a l'especificació ECMAScript i pot no estar disponible encara a totes les implementacions de JavaScript. No obstant, la funció següent emula el comportament de String.prototype.startsWith():

- -
if (!String.prototype.startsWith) {
-  String.prototype.startsWith = function(searchString, position) {
-    position = position || 0;
-    return this.indexOf(searchString, position) === position;
-  };
-}
-
- -

Trobareu una funció Polyfill més robusta i optimitzada al GitHub de Mathias Bynens.

- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.startswith', 'String.prototype.startsWith')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome("41")}}{{CompatGeckoDesktop("17")}}{{CompatNo}}{{CompatChrome("41")}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatChrome("36")}}{{CompatGeckoMobile("17")}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.endsWith()")}} {{experimental_inline}}
  • -
  • {{jsxref("String.prototype.includes()")}} {{experimental_inline}}
  • -
  • {{jsxref("String.prototype.indexOf()")}}
  • -
  • {{jsxref("String.prototype.lastIndexOf()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/sub/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/sub/index.html deleted file mode 100644 index 0b512d038e..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/sub/index.html +++ /dev/null @@ -1,109 +0,0 @@ ---- -title: String.prototype.sub() -slug: Web/JavaScript/Referencia/Objectes_globals/String/sub -translation_of: Web/JavaScript/Reference/Global_Objects/String/sub ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode sub() crea un element HTML {{HTMLElement("sub")}} que fa que una cadena es mostri com a subíndex.

- -

Sintaxi

- -
str.sub()
- -

Descripció

- -

El mètode sub() incrusta una cadena a una etiqueta <sub>: "<sub>str</sub>".

- -

Exemples

- -

Utilitzar els mètodes sub() i sup()

- -

El codi següent utiltza els mètodes sub() i {{jsxref("String.prototype.sup()", "sup()")}} per donar format a una cadena:

- -
var superText="superíndex";
-var subText="subíndex";
-
-console.log("Així es com es veu un " + superText.sup());
-// Així es com es veu un <sup>superíndex</sup>.
-
-console.log("Així es com es veu un " + subText.sub());
-// Així es com es veu un <sub>subíndex</sub>.
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.sub', 'String.prototype.sub')}}{{Spec2('ES6')}} -

Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per a Característiques Addicicionals d'ECMAScript per Navegadors Web.

-
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.sup()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/substr/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/substr/index.html deleted file mode 100644 index 5fdb1f03b4..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/substr/index.html +++ /dev/null @@ -1,156 +0,0 @@ ---- -title: String.prototype.substr() -slug: Web/JavaScript/Referencia/Objectes_globals/String/substr -translation_of: Web/JavaScript/Reference/Global_Objects/String/substr ---- -
{{JSRef}}
- -

El mètode substr() retorna els caràcters d'una cadena començant per la posició especificada fins al nombre especificat de caràcters.

- -

Sintaxi

- -
str.substr(començament[, llargària])
- -

Paràmetres

- -
-
començament
-
Lloc des d'on es comença a extraure els caràcters. Si es dóna un nombre negatiu, se'l tracta com strLength + començament on strLength és la llargària de al cadena (per exemple, si començament és -3 se'l tracta com strLength - 3.)
-
llargària
-
Opcional. El nombre de caràcter per extraure.
-
- -

Descripció

- -

començament is a character index. L'índex del primer caràcter és 0, i l'índex de l'últim caràcter és 1 menys que la llargària de la cadena. substr() comença extraient caràcters a començament i recull els caràcters llargària (llevat que primer s'arribi al final de la cadena, en aquest cas en retornaria menys).

- -

Si començament és positivu i més gran o igual que la llargària de la cadena, substr() retornarà una cadena buida.

- -

SI començament és negatiu, substr() l'utilitza com un índex de caràcter des del final de la cadena. Si començament és negatiu i  abs(comença,ent) és més gran que la llargària de la cadena, substr() utilitza 0 com a índex d'inici. Nota: El maneig de valors negatius de l'argument començament no està suportat per Microsoft JScript.

- -

Si llargària és 0 o negatiu, substr() retorna una cadena buida. Si llargària s'omet, substr() extreu els caràcter fins al final de la cadena.

- -

Exemples

- -

Utilitzar substr()

- -
var str = 'abcdefghij';
-
-console.log('(1, 2): '   + str.substr(1, 2));   // '(1, 2): bc'
-console.log('(-3, 2): '  + str.substr(-3, 2));  // '(-3, 2): hi'
-console.log('(-3): '     + str.substr(-3));     // '(-3): hij'
-console.log('(1): '      + str.substr(1));      // '(1): bcdefghij'
-console.log('(-20, 2): ' + str.substr(-20, 2)); // '(-20, 2): ab'
-console.log('(20, 2): '  + str.substr(20, 2));  // '(20, 2): '
-
- -

Polyfill

- -

Microsoft's JScript no suporta valors negatius per l'índex d'inici. Si desitjes utilitzar aquesta característica, pots utilitzar el codi de compatibilitat següent per evitar aquest error:

- -
// només s'executa quan la funció substr() està trencada
-if ('ab'.substr(-1) != 'b') {
-  /**
-   *  Obtenir la subcadena d'una cadena
-   *  @param  {integer}  start   on comença la subcadena
-   *  @param  {integer}  length  quants caràcters s'han de retornar
-   *  @return {string}
-   */
-  String.prototype.substr = function(substr) {
-    return function(start, length) {
-      // crida el mètode original
-      return substr.call(this,
-      	// Si ens dóna un començament negatiu, calcular quant es des de l'inici de la cadena
-        // adjustar el paràmetre start per valor negatiu
-        start < 0 ? this.length + start : start,
-        length)
-    }
-  }(String.prototype.substr);
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definit en l'Annex B de Compatibilitat (informative). Implementat en JavaScript 1.0.
{{SpecName('ES5.1', '#sec-B.2.3', 'String.prototype.substr')}}{{Spec2('ES5.1')}}Definit en l'Annex B de Compatibilitat (informative)
{{SpecName('ES6', '#sec-string.prototype.substr', 'String.prototype.substr')}}{{Spec2('ES6')}}Definit en l'Annex B (normative) per Característiques addiccionals d'ECMAScript per Navegadors Web
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.slice()")}}
  • -
  • {{jsxref("String.prototype.substring()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/sup/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/sup/index.html deleted file mode 100644 index 24b46c88ce..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/sup/index.html +++ /dev/null @@ -1,107 +0,0 @@ ---- -title: String.prototype.sup() -slug: Web/JavaScript/Referencia/Objectes_globals/String/sup -translation_of: Web/JavaScript/Reference/Global_Objects/String/sup ---- -
{{JSRef}} {{deprecated_header}}
- -

El mètode sup() crea un element HTML {{HTMLElement("sup")}} que causa que la cadena es mostri com un superíndex.

- -

Sintaxi

- -
str.sup()
- -

Descripció

- -

El mètode sup() incrusta una cadena en l'etiqueta <sup>:"<sup>str</sup>".

- -

Exemples

- -

Utilitzar els mètodes sub() i sup()

- -

L'exemple següent utilitza els mètodes {{jsxref("String.prototype.sub()", "sub()")}} i sup() per formatejar la cadena:

- -
var superText = 'superíndex';
-var subText = 'subíndex';
-
-console.log('This is what a ' + superText.sup());
-// "Així es com es veu un <sup>superíndex</sup>."
-
-console.log('This is what a ' + subText.sub());
-// "Així es com es veu un <sub>subíndex</sub>."
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-string.prototype.sup', 'String.prototype.sup')}}{{Spec2('ES6')}}Definició inicial. Implementat en JavaScript 1.0. Definit en l'Annex B (normative) per a Característiques Addicicionals d'ECMAScript per Navegadors Web.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatGeckoMobile("1.0")}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.sub()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/tolocalelowercase/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/tolocalelowercase/index.html deleted file mode 100644 index c138197bc1..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/tolocalelowercase/index.html +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: String.prototype.toLocaleLowerCase() -slug: Web/JavaScript/Referencia/Objectes_globals/String/toLocaleLowerCase -translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase ---- -
{{JSRef}}
- -

El mètode toLocaleLowerCase() retorna el valor del string que fa la crida convertit a minúscules , tot seguint les directrius locals específiques de conversió a minúscules.

- -

Sintaxi

- -
str.toLocaleLowerCase()
- -

Descripció

- -

El mètode toLocaleLowerCase() retorna el valor del string que fa la crida convertit a minúscules , tot seguint les directrius locals específiques de conversió a minúscules.El mètode toLocaleLowerCase() retorna el valor del string que fa la crida convertit a minúscules , tot seguint les directrius locals específiques de conversió a minúscules. En la majoria dels casos, la crida a aquest mètode produirà un resultat similar a la del mètode {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}, però per a algunes localitzacions, com ara el Turc, en les quals el pas de majúscules a minúscules o de minúscules a majúscules no segueix les assignacions per defecte del Unicode, el resultat pot diferir.

- -

Exemples

- -

Utilitzar toLocaleLowerCase()

- -
console.log('ALFABET'.toLocaleLowerCase()); // 'alfabet'
-
- -

Especifications

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.17', 'String.prototype.toLocaleLowerCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tolocalelowercase', 'String.prototype.toLocaleLowerCase')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.toLocaleUpperCase()")}}
  • -
  • {{jsxref("String.prototype.toLowerCase()")}}
  • -
  • {{jsxref("String.prototype.toUpperCase()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/tolocaleuppercase/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/tolocaleuppercase/index.html deleted file mode 100644 index 8f7b2aa716..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/tolocaleuppercase/index.html +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: String.prototype.toLocaleUpperCase() -slug: Web/JavaScript/Referencia/Objectes_globals/String/toLocaleUpperCase -translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase ---- -
{{JSRef}}
- -

El mètode toLocaleUpperCase() retorna el valor del string que fa la crida convertit a majúscules, tot seguint les directrius locals específiques de conversió a majúscules.

- -

Sintaxi

- -
str.toLocaleUpperCase()
- -

Descripció

- -

El mètode toLocaleUpperCase() retorna el valor del string que fa la crida convertit a majúscules, tot seguint les directrius locals específiques de conversió a majúscules. toLocaleUpperCase() no afecta el valor del string que fa la crida sino que en retorna un de nou. En la majoria dels casos, la crida a aquest mètode produirà un resultat similar a la del mètode {{jsxref("String.prototype.toUpperCase()", "toUpperCase()")}}, però per a algunes localitzacions, com ara el Turc, en les quals el pas de majúscules a minúscules o de minúscules a majúscules no segueix les assignacions per defecte del Unicode, el resultat pot diferir.

- -

Exemples

- -

Utilitzar toLocaleUpperCase()

- -
console.log('alfabet'.toLocaleUpperCase()); // 'ALFABET'
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.5.4.19', 'String.prototype.toLocaleUpperCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tolocaleuppercase', 'String.prototype.toLocaleUpperCase')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.toLocaleLowerCase()")}}
  • -
  • {{jsxref("String.prototype.toLowerCase()")}}
  • -
  • {{jsxref("String.prototype.toUpperCase()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/tolowercase/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/tolowercase/index.html deleted file mode 100644 index 7147d0ea0d..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/tolowercase/index.html +++ /dev/null @@ -1,111 +0,0 @@ ---- -title: String.prototype.toLowerCase() -slug: Web/JavaScript/Referencia/Objectes_globals/String/toLowerCase -translation_of: Web/JavaScript/Reference/Global_Objects/String/toLowerCase ---- -
{{JSRef}}
- -

El mètode toLowerCase() retorna  el valor del string que fa la crida convertit a majúscules.
-  

- -

Sintaxi

- -
str.toLowerCase()
- -

Descripció

- -

El mètode toLowerCase() retorna  el valor del string que fa la crida convertit a majúscules. toLowerCase() no afecta el valor del string que fa la crida sino que en retorna un de nou.

- -

Exemples

- -

Utilitzar toLowerCase()

- -
console.log('ALFABET'.toLowerCase()); // 'alfabet'
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacionsEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.4.16', 'String.prototype.toLowerCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tolowercase', 'String.prototype.toLowerCase')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.toLocaleLowerCase()")}}
  • -
  • {{jsxref("String.prototype.toLocaleUpperCase()")}}
  • -
  • {{jsxref("String.prototype.toUpperCase()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/tostring/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/tostring/index.html deleted file mode 100644 index 11f2555a2f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/tostring/index.html +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: String.prototype.toString() -slug: Web/JavaScript/Referencia/Objectes_globals/String/toString -translation_of: Web/JavaScript/Reference/Global_Objects/String/toString ---- -
{{JSRef}}
- -

El mètode toString() retorna un string que representa l'objecte especificat.

- -

Sintaxi

- -
str.toString()
- -

Descripció

- -

L'objecte {{jsxref("String")}} sobreescriu el mètode toString() de l'objecte {{jsxref("Object")}}; no hereta {{jsxref("Object.prototype.toString()")}}. Per a objectes {{jsxref("String")}}, el mètode toString() retorna un string que representa l'objecte i és el mateix que el que el retornat pel mètode {{jsxref("String.prototype.valueOf()")}}.

- -

Exemples

- -

Utilitzar toString()

- -

L'exemple següent mostra el valor d'un objecte {{jsxref("String")}}:

- -
var x = new String('Hello world');
-
-console.log(x.toString()); // mostra 'Hello world'
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat a JavaScript 1.1.
{{SpecName('ES5.1', '#sec-15.5.4.2', 'String.prototype.toString')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.tostring', 'String.prototype.toString')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Object.prototype.toSource()")}}
  • -
  • {{jsxref("String.prototype.valueOf()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/touppercase/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/touppercase/index.html deleted file mode 100644 index 2a3b4fe56a..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/touppercase/index.html +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: String.prototype.toUpperCase() -slug: Web/JavaScript/Referencia/Objectes_globals/String/toUpperCase -translation_of: Web/JavaScript/Reference/Global_Objects/String/toUpperCase ---- -
{{JSRef}}
- -

El mètode toUpperCase() retorna  el valor del string que fa la crida convertit a majúscules.

- -

Sintaxi

- -
str.toUpperCase()
- -

Descripció

- -

El mètode toUpperCase() retorna  el valor del string que fa la crida convertit a majúscules. toUpperCase() no afecta el valor del string que fa la crida sino que en retorna un de nou.

- -

Exemples

- -

Utilitzar toUpperCase()

- -
console.log('alfabet'.toUpperCase()); // 'ALFABET'
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Implementat a JavaScript 1.0.
{{SpecName('ES5.1', '#sec-15.5.4.18', 'String.prototype.toUpperCase')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-string.prototype.touppercase', 'String.prototype.toUpperCase')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.toLocaleLowerCase()")}}
  • -
  • {{jsxref("String.prototype.toLocaleUpperCase()")}}
  • -
  • {{jsxref("String.prototype.toLowerCase()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/trim/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/trim/index.html deleted file mode 100644 index 2dd955ea62..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/trim/index.html +++ /dev/null @@ -1,123 +0,0 @@ ---- -title: String.prototype.trim() -slug: Web/JavaScript/Referencia/Objectes_globals/String/Trim -translation_of: Web/JavaScript/Reference/Global_Objects/String/Trim ---- -
{{JSRef}}
- -

El mètode trim() elimina els espais en blanc tant a l'inici com al final del string. En aquest contexte, s'entèn com a espais en blanc tots les caràcters que no imprimeixin res (espai, tabulador, espai sense salt de línia, etcètera) així com tots els caràcters terminadors de línia (LF, CR, etc.).

- -

Sintaxi

- -
str.trim()
- -

Descripció

- -

El mètode trim() retorna un string sense espais en blanc tant a l'inici com al final. trim() no afecta el valor del string ja que en retorna un de nou.

- -

Exemples

- -

Utilitzar trim()

- -

L'exemple següent mostra el string 'foo':

- -
var orig = '   foo  ';
-console.log(orig.trim()); // 'foo'
-
-// Un altre exemple de .trim() eliminant espais en blanc només d'un cantó.
-
-var orig = 'foo    ';
-console.log(orig.trim()); // 'foo'
-
- -

Polyfill

- -

Executar el codi que es mostra a continuació abans d'executar cap altre codi crearà la funció trim() si aquesta no està disponible de forma nativa.

- -
if (!String.prototype.trim) {
-  String.prototype.trim = function () {
-    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
-  };
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES5.1', '#sec-15.5.4.20', 'String.prototype.trim')}}{{Spec2('ES5.1')}}Definició inicial. Implementat a JavaScript 1.8.1.
{{SpecName('ES6', '#sec-string.prototype.trim', 'String.prototype.trim')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatIE("9")}}{{CompatOpera("10.5")}}{{CompatSafari("5")}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.trimLeft()")}} {{non-standard_inline}}
  • -
  • {{jsxref("String.prototype.trimRight()")}} {{non-standard_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/trimleft/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/trimleft/index.html deleted file mode 100644 index f16a5b89fa..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/trimleft/index.html +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: String.prototype.trimLeft() -slug: Web/JavaScript/Referencia/Objectes_globals/String/TrimLeft -translation_of: Web/JavaScript/Reference/Global_Objects/String/trimStart ---- -
{{JSRef}} {{non-standard_header}}
- -

El mètode trimLeft() elimina els espais en blanc a l'esquerra del string.

- -

Sintaxi

- -
str.trimLeft()
- -

Descripció

- -

El mètode trimLeft() retorna un string on els espais en blanc del començament s'han eliminat. trimLeft() no afecta al valor mateix del string sino que en retorna un de nou.

- -

Exemples

- -

Utilitzar trimLeft()

- -

L'exemple següent mostra el string 'foo ':

- -
var str = '   foo  ';
-
-console.log(str.length); // 8
-
-str = str.trimLeft();
-console.log(str.length); // 5
-console.log(str);        // 'foo  '
-
- -

Especificacions

- -

No és part de cap standard. Implementat a JavaScript 1.8.1.

- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.trim()")}}
  • -
  • {{jsxref("String.prototype.trimRight()")}} {{non-standard_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/string/trimright/index.html b/files/ca/web/javascript/referencia/objectes_globals/string/trimright/index.html deleted file mode 100644 index 41ab89e3ca..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/string/trimright/index.html +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: String.prototype.trimRight() -slug: Web/JavaScript/Referencia/Objectes_globals/String/TrimRight -translation_of: Web/JavaScript/Reference/Global_Objects/String/trimEnd ---- -
{{JSRef}} {{non-standard_header}}
- -

El mètode trimRight() elimina els espais en blanc al final d'un string.

- -

Sintaxi

- -
str.trimRight()
- -

Descripció

- -

El mètode trimRight() retorna el string sense espais en blanc al final del mateix. trimRight() no afecta el valor del string sino que en retorna un de nou.

- -

Exemples

- -

Utilitzar trimRight()

- -

L'exemple següent mostra el string ' foo':

- -
var str = '   foo  ';
-
-console.log(str.length); // 8
-
-str = str.trimRight();
-console.log(str.length); // 5
-console.log(str);        // '   foo'
-
- -

Especificacions

- -

No forma part de cap standard. Implementat a JavaScript 1.8.1.

- -

Browser compatibility

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatGeckoDesktop("1.9.1")}}{{CompatNo}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("String.prototype.trim()")}}
  • -
  • {{jsxref("String.prototype.trimLeft()")}} {{non-standard_inline}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/syntaxerror/index.html b/files/ca/web/javascript/referencia/objectes_globals/syntaxerror/index.html deleted file mode 100644 index 2ad16e006f..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/syntaxerror/index.html +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: SyntaxError -slug: Web/JavaScript/Referencia/Objectes_globals/SyntaxError -translation_of: Web/JavaScript/Reference/Global_Objects/SyntaxError ---- -
{{JSRef}}
- -

L'objecte SyntaxError representa un error quan s'intenta interpretar un codi sintàcticament no vàlid.

- -

Descripció

- -

Es llança un SyntaxError quan el motor JavaScript es troba amb tokens o un token que no s'adequa a la sintaxi del llenguatge quan s'interpreta el codi.

- -

Sintaxi

- -
new SyntaxError([missatge[, nomFitxer[, numeroLinia]]])
- -

Paràmetres

- -
-
missatge
-
Opcional. Descripció llegible per humans de l'error
-
nomFitxer {{non-standard_inline}}
-
Opcional. El nom del fitxer que conté el codi que causa l'excepció
-
numeroLinia {{non-standard_inline}}
-
Opcional. El número de linia del codi que causa l'excepció
-
- -

Propietats

- -
-
{{jsxref("SyntaxError.prototype")}}
-
Permet l'addició de propietats a un objecte SyntaxError.
-
- -

Mètodes

- -

El SyntaxError global no conté cap mètode en si mateix, tanmateix, sí que hereta alguns mètodes a través de la cadena prototipus.

- -

instànces de SyntaxError

- -

Propietats

- -
{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype', 'Properties')}}
- -

Mètodes

- -
{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype', 'Methods')}}
- -

Exemples

- -

Capturar un SyntaxError

- -
try {
-  eval('hoo bar');
-} catch (e) {
-  console.log(e instanceof SyntaxError); // true
-  console.log(e.message);                // "missing ; before statement"
-  console.log(e.name);                   // "SyntaxError"
-  console.log(e.fileName);               // "Scratchpad/1"
-  console.log(e.lineNumber);             // 1
-  console.log(e.columnNumber);           // 4
-  console.log(e.stack);                  // "@Scratchpad/1:2:3\n"
-}
-
- -

Crear un SyntaxError

- -
try {
-  throw new SyntaxError('Hello', 'someFile.js', 10);
-} catch (e) {
-  console.log(e instanceof SyntaxError); // true
-  console.log(e.message);                // "Hello"
-  console.log(e.name);                   // "SyntaxError"
-  console.log(e.fileName);               // "someFile.js"
-  console.log(e.lineNumber);             // 10
-  console.log(e.columnNumber);           // 0
-  console.log(e.stack);                  // "@Scratchpad/2:11:9\n"
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial.
{{SpecName('ES5.1', '#sec-15.11.6.4', 'SyntaxError')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-syntaxerror', 'SyntaxError')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error")}}
  • -
  • {{jsxref("SyntaxError.prototype")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/syntaxerror/prototype/index.html b/files/ca/web/javascript/referencia/objectes_globals/syntaxerror/prototype/index.html deleted file mode 100644 index 35aea642bd..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/syntaxerror/prototype/index.html +++ /dev/null @@ -1,122 +0,0 @@ ---- -title: SyntaxError.prototype -slug: Web/JavaScript/Referencia/Objectes_globals/SyntaxError/prototype -translation_of: Web/JavaScript/Reference/Global_Objects/SyntaxError -translation_of_original: Web/JavaScript/Reference/Global_Objects/SyntaxError/prototype ---- -
{{JSRef}}
- -

La propietat SyntaxError.prototype representa el prototip pel constructor {{jsxref("SyntaxError")}}.

- -

Descripció

- -

Totes les instàncies {{jsxref("SyntaxError")}} hereten de SyntaxError.prototype. Es pot utilitzar el prototipus per afegir propietats o mètodes a totes les instàncies.

- -

Propietats

- -
-
SyntaxError.prototype.constructor
-
Especifica la funció que ha creat el prototip d'una instància.
-
{{jsxref("Error.prototype.message", "SyntaxError.prototype.message")}}
-
Missatge d'error. Tot i que l'ECMA-262 especifica que {{jsxref("SyntaxError")}} hauria de proveir la seva pròpia propietat message, en SpiderMonkey, hereta {{jsxref("Error.prototype.message")}}.
-
{{jsxref("Error.prototype.name", "SyntaxError.prototype.name")}}
-
Nom de l'herror. Heretat de {{jsxref("Error")}}.
-
{{jsxref("Error.prototype.fileName", "SyntaxError.prototype.fileName")}}
-
Ruta a l'arxiu que llança aquest error. Heretat de {{jsxref("Error")}}.
-
{{jsxref("Error.prototype.lineNumber", "SyntaxError.prototype.lineNumber")}}
-
Número de línia en el fitxa que llança aquest error. Heretat de {{jsxref("Error")}}.
-
{{jsxref("Error.prototype.columnNumber", "SyntaxError.prototype.columnNumber")}}
-
Número de columna en línia que llança aquest error. Heretat de {{jsxref("Error")}}.
-
{{jsxref("Error.prototype.stack", "SyntaxError.prototype.stack")}}
-
Traça de l'error. Heretat de {{jsxref("Error")}}.
-
- -

Mètodes

- -

Tot i que l'objecte prototip {{jsxref("SyntaxError")}} no conté cap mètode per si mateix, instàncies de{{jsxref("SyntaxError")}} heretes alguns mètodes a través de la cadena prototip.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial
{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}{{Spec2('ES5.1')}}Definit com a NativeError.prototype.
{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}{{Spec2('ES6')}}Definit com a NativeError.prototype.
- -

Compatibilitat amb navegadors

- -
{{CompatibilityTable}}
- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Error.prototype")}}
  • -
  • {{jsxref("Function.prototype")}}
  • -
diff --git a/files/ca/web/javascript/referencia/objectes_globals/undefined/index.html b/files/ca/web/javascript/referencia/objectes_globals/undefined/index.html deleted file mode 100644 index 3dd30fbefe..0000000000 --- a/files/ca/web/javascript/referencia/objectes_globals/undefined/index.html +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: undefined -slug: Web/JavaScript/Referencia/Objectes_globals/undefined -translation_of: Web/JavaScript/Reference/Global_Objects/undefined ---- -
-
-
{{jsSidebar("Objects")}}
-
-
- -

Resum

- -

El valor de la propietat global undefined representa el valor undefined. És un dels {{Glossary("Primitive", "tipus primitius")}} de JavaScript.

- -

{{js_property_attributes(0,0,0)}}

- -

Sintaxi

- -
undefined
- -

Descripció

- -

undefined és una propietat de l'objecte global, és a dir, és una variable dins l'àmbit global.

- -

Als navegadors moderns (JavaScript 1.8.5 / Firefox 4+), undefined és una propietat no configurable i que no pot ser escrita, tal com denota la especificació ECMAScript 5. Encara que no sigui el cas, és convenient evitar sobreescriure el seu valor.

- -

Una variable a la que no s'ha assignat cap valor  és de tipus undefined. Un mètode o sentència retornarà undefined si la variable que s'evalua no te assignat cap valor. Una funció retornarà undefined si no es {{jsxref("Statements/return", "retorna")}} un valor explícitament.

- -

Degut a que undefined no és una {{jsxref("Reserved_Words", "paraula reservada")}} es pot emprar com a identificador (nom de variable) a qualsvol àmbit que no sigui el global.

- -
// mostra "foo string"
-(function(){ var undefined = 'foo'; console.log(undefined, typeof undefined); })();
-
-// mostra "foo string"
-(function(undefined){ console.log(undefined, typeof undefined); })('foo');
-
- -

Exemples

- -

Igualtat estricta i undefined

- -

Es pot emprar undefined en combinació amb els operadors de igualtat i no-igualtat per determinar si una variable té assignat un valor.

- -
var x;
-if (x === undefined) {
-   // sentències que s'executaran
-}
-else {
-   // sentències que no s'executaran
-}
-
- -
Nota: En aquest cas s'ha de fer servir l'operador d'igualtat estricta (===) en comptes de l'operador standard d'igualtat (==) ja que x == undefined també comprova si x és null, mentre que l'operador d'igualtat estricta no ho fa. null no és equivalent a undefined. Per més detalls vegeu {{jsxref("Operators/Comparison_Operators", "comparació d'operadors")}}.
- -

L'operador Typeof i undefined

- -

De forma alternativa, es pot emprar {{jsxref("Operators/typeof", "typeof")}}:

- -
var x;
-if (typeof x === 'undefined') {
-   // sentències que s'executaran
-}
-
- -

Una raó per utilitzar {{jsxref("Operators/typeof", "typeof")}} és que no provoca un error si la variable no ha estat definida prèviament.

- -
// x no ha estat prèviament definida
-if (typeof x === 'undefined') { // s'evalua a true sense errors
-   // sentències que s'executaran
-}
-
-if(x === undefined){ // llença ReferenceError
-
-}
-
- -

De totes formes és recomanable evitar l'ús d'aquest tipus de tècniques. JavaScript és un llenguatge amb àmbits estàtics, de manera que per saber si una variable ha estat definida prèviament n'hi ha prou amb comprovar si ha estat definida dins l'àmbit immediat. L'única excepció és l'àmbit global. Aquest, però, està vinculat a l'objecte global, per la qual cosa comprovar si una variable existeix dins l'àmbit global és equivalent a comprovar l'existència d'una propietat dins l'objecte global (emprant l'operador {{jsxref("Operators/in", "in")}}, per exemple).

- -

L'operador Void i undefined

- -

L'operador {{jsxref("Operators/void", "void")}} és una altra alternativa.

- -
var x;
-if (x === void 0) {
-   // sentències que s'executaran
-}
-
-// y no ha estat definida prèviament
-if (y === void 0) {
-   // llença ReferenceError (en oposició a `typeof`)
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1st Edition.StandardDefinició inicial. Impementat a JavaScript 1.3
{{SpecName('ES5.1', '#sec-15.1.1.3', 'undefined')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-undefined', 'undefined')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

 

diff --git a/files/ca/web/javascript/referencia/operadors/arithmetic_operators/index.html b/files/ca/web/javascript/referencia/operadors/arithmetic_operators/index.html deleted file mode 100644 index 9b6816c2d6..0000000000 --- a/files/ca/web/javascript/referencia/operadors/arithmetic_operators/index.html +++ /dev/null @@ -1,287 +0,0 @@ ---- -title: Operadors aritmètics -slug: Web/JavaScript/Referencia/Operadors/Arithmetic_Operators -translation_of: Web/JavaScript/Reference/Operators -translation_of_original: Web/JavaScript/Reference/Operators/Arithmetic_Operators ---- -
-
{{jsSidebar("Operators")}}
-
- -

Resum

- -

Els operadors aritmètics prenen valors numèrics (poden ser tant literals com ser variables) com a operands seus i retornen un valor numèric únic. Els operadors aritmètics estàndards són la suma (+), la resta (-), la multiplicació (*), i la divisió (/).

- -

Suma (+)

- -

L'operador Suma produeix la suma dels operands numèrics o de la concatenació de cadenes.

- -

Sintaxi

- -
Operador: x + y
-
- -

Exemples

- -
// Nombre + Nombre -> suma
-1 + 2 // 3
-
-// Booleà + Nombre -> suma
-true + 1 // 2
-
-// Booleà + Booleà -> suma
-false + false // 0
-
-// Nombre + String -> concatenació
-5 + "foo" // "5foo"
-
-// String + Booleà -> concatenació
-"foo" + false // "foofalse"
-
-// String + String -> concatenació
-"foo" + "bar" // "foobar"
-
- -

Resta (-)

- -

L'operador resta produeix la resta de dos operands, produint la seva diferència.

- -

Sintaxi

- -
Operador: x - y
-
- -

Exemples

- -
5 - 3 // 2
-3 - 5 // -2
-"foo" - 3 // NaN
- -

Divisió (/)

- -

L'operador divisió produeix el quocient dels seus operands on el operand de l'esquerra és el dividend, i l'operand de la dreta és el divisor.

- -

Sintaxi

- -
Operador: x / y
-
- -

Exemples

- -
1 / 2      // retorna 0.5 a JavaScript
-1 / 2      // retorna 0 in Java
-// (cap dels nombres és explícitament n nombre de coma flotant)
-
-1.0 / 2.0  // retorna 0.5 a JavaScript i Java
-
-2.0 / 0    // retorna Infinity a JavaScript
-2.0 / 0.0  // també retorna Infinity
-2.0 / -0.0 // retorna -Infinity a JavaScript
- -

Multiplicació (*)

- -

L'operador multiplicació produeix el producte dels operands.

- -

Sintaxi

- -
Operador: x * y
-
- -

Exemples

- -
2 * 2 // 4
--2 * 2 // -4
-Infinity * 0 // NaN
-Infinity * Infinity // Infinity
-"foo" * 2 // NaN
-
- -

Mòdul (%)

- -

L'operador mòdul retorna el mòdul del primer operand amb el segon, això és, var1 modulo var2 en la sentència prèvia, on var1 i var2 són variables. La funció mòdul és la resta entera de dividir var1 per var2. Hi ha una proposta per a implementar un operador mòdul real en una futura versió de l'ECMAScript.

- -

Sintaxi

- -
Operador: var1 % var2
-
- -

Exemples

- -
12 % 5 // 2
--1 % 2 // -1
-NaN % 2 // NaN
-
- -

Increment (++)

- -

L'operador increment incrementa (afegeix un) al seu operand i retorna un valor.

- -
    -
  • Emprat com a sufix, és a dir, amb l'operador després de l'operand (per exemple:  x++), retorna el valor de l'operand abans d'incrementar-lo.
  • -
  • Emprat com a prefix, és a dir, amb l'operador precedint l'operand (per exemple: ++x), retorna el valor de l'operand després d'incrementar-lo.
  • -
- -

Sintaxi

- -
Operador: x++ or ++x
-
- -

Exemples

- -
// Sufix
-var x = 3;
-y = x++; // y = 3, x = 4
-
-// Prefix
-var a = 2;
-b = ++a; // a = 3, b = 3
-
- -

Decrement (--)

- -

L'operador decrement decrementa (resta un) al seu operand i retorna el seu valor.

- -
    -
  • Emprat com a sufix, és a dir, amb l'operador després de l'operand (per exemple:  x--), retorna el valor de l'operand abans de decrementar-lo.
  • -
  • Emprat com a prefix, és a dir, amb l'operador precedint l'operand (per exemple: --x), retorna el valor de l'operand després de decrementar-lo.
  • -
- -

Sintaxi

- -
Operador: x-- or --x
-
- -

Exemples

- -
// Sufix
-var x = 3;
-y = x--; // y = 3, x = 2
-
-// Prefix
-var a = 2;
-b = --a; // a = 1, b = 1
-
- -

Negació unària (-)

- -

L'operador de negació unària precedeix el seu operand i el nega.

- -

Sintaxi

- -
Operator: -x
-
- -

Exemples

- -
var x = 3;
-y = -x; // y = -3, x = 3
-
- -

Operador unari de conversió a nombre (+)

- -

L'operador unari de conversió a nombre precedeix el seu operand i intenta convertir-lo en un nombre si no ho és ja. Tot i que l'operand de negació unària també pot convertir no-nombres, l'operador de conversió és el mètode més ràpid i recomanat per a convertir quelcom a un nombre ja que no realitza cap altra operació al nombre. Pot convertir cadenes de caràcters representant sencers i nombres en coma flotant, així com els valors true, false i null. Quant a nombres sencers, tant la notació decimal com la hexadecimal (denotada amb el prefixe "0x") estàn suportades. Els nombres negatius també estàn suportats (tot i que no per a hexadecimals). Si no pot interpretar un valor determinat l'operador retornarà NaN.

- -

Sintaxi

- -
Operador: +x
-
- -

Exemples

- -
+3     // 3
-+"3"   // 3
-+true  // 1
-+false // 0
-+null  // 0
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1st Edition.StandardInitial definition.
{{SpecName('ES5.1', '#sec-11.6', 'Additive operators')}}
- {{SpecName('ES5.1', '#sec-11.5', 'Multiplicative operators')}}
- {{SpecName('ES5.1', '#sec-11.3', 'Postfix expressions')}}
- {{SpecName('ES5.1', '#sec-11.4', 'Unary operators')}}
{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-additive-operators', 'Additive operators')}}
- {{SpecName('ES6', '#sec-multiplicative-operators', 'Multiplicative operators')}}
- {{SpecName('ES6', '#sec-postfix-expressions', 'Postfix expressions')}}
- {{SpecName('ES6', '#sec-unary-operators', 'Unary operators')}}
{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/bitwise_operators/index.html b/files/ca/web/javascript/referencia/operadors/bitwise_operators/index.html deleted file mode 100644 index f7fbae7b47..0000000000 --- a/files/ca/web/javascript/referencia/operadors/bitwise_operators/index.html +++ /dev/null @@ -1,719 +0,0 @@ ---- -title: Operadors de bits -slug: Web/JavaScript/Referencia/Operadors/Bitwise_Operators -translation_of: Web/JavaScript/Reference/Operators -translation_of_original: Web/JavaScript/Reference/Operators/Bitwise_Operators ---- -
{{jsSidebar("Operators")}}
- -

Resum

- -

Els operadors de bits tracten els seus operands com una seqüència de 32 bits (uns i zeros), en comptes de operar-los com a nombres decimals, hexadecimals o octals. Per exemple, la representació binària del és nombre decimal nou (9) 1001. Els operadors de bits treballen amb aquesta representació binària però el resultat que retorna l'operació sempre és un nombre standard de JavaScript.

- -

La taula que trobareu a continuació és un resum dels operadors de bits que es poden trobar a JavaScript:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OperadorÚsDescripció
AND binaria & b -

Retorna un 1 a les posicions on el bit de a i el bit de b són 1 i un 0 en totes les altres.

-
OR binaria | b -

Retorna un 1 a les posicions on al menys la posició de a o la de b són 1.

-
XOR binaria ^ b -

Retorna un 1 a cada posició on a és 1 i b és 0 o bé a és 0 i b és 1.

-
NOT binari~ aInverteix els bits de l'operand donat.
Desplaçament a l'esquerraa << bDesplaça els bits de a b posicions a l'esquerra, tot omplint amb zeros les primeres b posicions.
Desplaçament a la dreta conservant el signea >> bDesplaça els bits de a b posicions a la dreta, descartant els bits desplaçats fora.
Desplaçament a la dreta omplint amb zerosa >>> bDesplaça els bits de a b posicions a la dreta, descartant els bits desplaçats fora. Els primers b bits s'omplen amb zeros.
- -

Enters de 32 bits amb signe

- -

Els operands de totes les operacions de bits es converteixen a enters amb signe de 32 bits utilitzant el format de complement a 2. Això vol dir que la versió negativa d'un nombre (per exemple 5 vs -5) és exactament la mateixa representació binària però amb els bits invertits (operació de bits NOT del nombre, també coneguda com a complement del nombre) més 1. Per exemple, seguidament es mostra la representació binària de 314:

- -
00000000000000000000000100111010
-
- -

I a continuació ~314, és a dir, el complement de 314:

- -
11111111111111111111111011000101
-
- -

Finalment es mostra -314, és a dir, el complement a dos de 314:

- -
11111111111111111111111011000110
-
- -

El complement a dos garanteix que el bit de més a l'esquerra sempre serà un 0 quan el nombre és positiu i un 1 quan el nombre sigui negatiu. Aquest bit és doncs anomentat el bit de signe degut a això.

- -

El nombre 0 es representa com a l'enter composat íntegrament de zeros a tots els seus bits.

- -
0 (base 10) = 00000000000000000000000000000000 (base 2)
-
- -

El nombre -1 és l'enter composats completament per 1s a tots els seus bits.

- -
-1 (base 10) = 11111111111111111111111111111111 (base 2)
-
- -

El nombre -2147483648 (representació hexadecimal: -0x80000000) és l'enter composat per zeros a tots els seus bits a excepciò del bit de més a l'esquerra, que és un 1.

- -
-2147483648 (base 10) = 10000000000000000000000000000000 (base 2)
-
- -

El nombre 2147483647 (representació hexadecimal: 0x7fffffff) és el sencer composat per 1 a tots els seus bits a excepció del de més a l'esquerra.

- -
2147483647 (base 10) = 01111111111111111111111111111111 (base 2)
-
- -

Els nombres -2147483648 i 2147483647 són els enters més petit i més gran respectivament que poden ser representats mitjançant un nombre de 32 bits amb signe.

- -

Operadors lògics de bits

- -

Conceptualment els operadors lògics de bits funcionen de la següent forma:

- -
    -
  • Es converteixen els operans a enters de 32 bits amb signe, expressats com una sèrie de bits (zeros i uns).
  • -
  • Cada bit del primer operand s'emparella amb el corresponent bit del segon operand: el primer bit amb el primer bit, el segon amb el segon, etcètera.
  • -
  • L'operador s'aplica per cada parella de bits, tot construint el resultat bit a bit.
  • -
- -

& (AND binari)

- -

Realitza l'operació AND a cada parella de bits. a AND b esdevindrà 1 només si ambdós a i b són 1. La taula de la veritat per a l'operació  AND és la següent:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
aba AND b
000
010
100
111
- -
     9 (base 10) = 00000000000000000000000000001001 (base 2)
-    14 (base 10) = 00000000000000000000000000001110 (base 2)
-                   --------------------------------
-14 & 9 (base 10) = 00000000000000000000000000001000 (base 2) = 8 (base 10)
-
- -

Realitzar l'operació AND binària de qualsevol nombre amb el zero retornarà zero. Realitzar l'operació AND binària de qualsevol nombre amb -1 retornarà el mateix nombre.

- -

| (OR binari)

- -

Realitza la operació OR a cada parella de bits. a OR b retornarà 1 si qualsevol de a o b és 1. La taula de la veritat per a l'operació OR és:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
aba OR b
000
011
101
111
- -
     9 (base 10) = 00000000000000000000000000001001 (base 2)
-    14 (base 10) = 00000000000000000000000000001110 (base 2)
-                   --------------------------------
-14 | 9 (base 10) = 00000000000000000000000000001111 (base 2) = 15 (base 10)
-
- -

Realitzar l'operació OR binària de qualsevol nombre x amb 0 retornarà x. Realitzar l'operació OR binària de qualsevol nombre x amb -1 retornarà ~x

- -

^ (XOR binari)

- -

Realitza la operació XOR a cada parella de bits. a XOR b retorna 1 si a i b són diferents. La taula de la veritat per a l'operació XOR és la següent:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
aba XOR b
000
011
101
110
- -
     9 (base 10) = 00000000000000000000000000001001 (base 2)
-    14 (base 10) = 00000000000000000000000000001110 (base 2)
-                   --------------------------------
-14 ^ 9 (base 10) = 00000000000000000000000000000111 (base 2) = 7 (base 10)
-
- -

Realitzar l'operació XOR binària de qualsevol nombre x amb 0 retornarà x. Realitzar l'operació OR binària de qualsevol nombre x amb -1 retornarà ~x.

- -

~ (NOT binari)

- -

Realitza una operació NOT a cada bit. NOT a retorna el valor invers (també conegut com el complement a 1) de a. La taula de la veritat per a la operació NOT és:

- - - - - - - - - - - - - - - - -
aNOT a
01
10
- -
 9 (base 10) = 00000000000000000000000000001001 (base 2)
-               --------------------------------
-~9 (base 10) = 11111111111111111111111111110110 (base 2) = -10 (base 10)
-
- -

Realitzar la operació NOT binària a un nombre x qualsevol retorna -(x + 1). Per exemple, ~5 resulta en -6.

- -

Exemple amb indexOf:

- -
var str = 'rawr';
-var searchFor = 'a';
-
-// fora alternativa equivalent a if (-1*str.indexOf('a') <= -1)
-if (~str.indexOf(searchFor)) {
-  // searchFor és dins l'string
-} else {
-  // searchFor no està dins l'string
-}
-
-// valors retornats per (~str.indexOf(searchFor))
-// r == -1
-// a == -2
-// w == -3
-
- -

Operadors binaris de desplaçament

- -

Els operadors binaris de desplaçament accepten dos operands: el primer és el valor que serà transformat a enter de 32 bits i al que se li aplicarà el desplaçament. El segon determina el nombre de posicions que es desplaçarà cada bit. La direcció en la que els bits es desplaçaran es determina per l'operador usat.

- -

Els operadors de desplaçament converteixen els seus operands a enters de 32 bits en ordre big-endian i retornen un valor amb el mateix tipus que l'operand de l'esquerra. L'operand de la dreta hauria de ser menor de 32, però de no ser així només s'utilitzen els primers 5 bits.

- -

<< (Desplaçament a l'esquerra)

- -

Aquest operador desplaça el primer operand un nombre específic de bits cap a l'esquerra. Els bits de l'esquerra sobrants són descartats. Per a omplir les primeres posicions de la dreta s'utilitzen zeros.

- -

Exemple: 9 << 2 resulta en 36:

- -
     9 (base 10): 00000000000000000000000000001001 (base 2)
-                  --------------------------------
-9 << 2 (base 10): 00000000000000000000000000100100 (base 2) = 36 (base 10)
-
- -

Desplaçar a l'esquerra qualsevol nombre x y bits resulta en x * 2^y.

- -

>> (Desplaçament a la dreta preservant el signe)

- -

Aquest operador desplaça el primer operand un nombre específic de bits a la dreta. Els bits sobrants es descarten. Els bits de l'esquerra s'inicialitzen amb el valor inicial del primer bit de l'esquerra. Degut a que el bit de més a l'esquerra tindrà el mateix valor que el bit de més a l'esquerra abans de realitzar el desplaçament, el bit de signe no canvia. És degut a aquesta propietat que es diu que aquest operand preserva el signe.

- -

Per exemple, 9 >> 2 resulta en 2:

- -
     9 (base 10): 00000000000000000000000000001001 (base 2)
-                  --------------------------------
-9 >> 2 (base 10): 00000000000000000000000000000010 (base 2) = 2 (base 10)
-
- -

De la mateixa manera, -9 >> 2 resulta en -3, ja que el signe es preserva:

- -
     -9 (base 10): 11111111111111111111111111110111 (base 2)
-                   --------------------------------
--9 >> 2 (base 10): 11111111111111111111111111111101 (base 2) = -3 (base 10)
-
- -

>>> (Desplaçament a la dreta omplint amb zeros)

- -

Aquest operador desplaça el primer operand un nombre específic de bits cap a la dreta. Els bits sobrants degut al desplaçament són descartats. Els bits de l'esquerra són omplerts utilitzant zeros. Com que el bit de signe sempre acaba sent un zero el resultat sempre és no negatiu.

- -

Per a nombres no negatius, els operadors de desplaçament a la dreta preservant el signe i omplint amb zeros retornen el mateix resultat. Per exemple, 9 >>> 2 resulta en 2, tal com 9 >> 2:

- -
      9 (base 10): 00000000000000000000000000001001 (base 2)
-                   --------------------------------
-9 >>> 2 (base 10): 00000000000000000000000000000010 (base 2) = 2 (base 10)
-
- -

El resultat varia, però, per a nombres negatius. Per exemple, -9 >>> 2 resulta en 1073741821, el qual es diferent de -9 >> 2 (que retorna -3):

- -
      -9 (base 10): 11111111111111111111111111110111 (base 2)
-                    --------------------------------
--9 >>> 2 (base 10): 00111111111111111111111111111101 (base 2) = 1073741821 (base 10)
-
- -

Exemples

- -

Exemple: Marques i màscares de bits

- -

Els operadors lògics de bits s'empren tot sovint per a crear, manipular i llegir seqüències de marques, les quals realitzen uns funció similar a les variables booleanes. El seu avantatge davant les variables booleanes és que les seqüències de marques utilitzen molta menys memòria (per un factor de 32).

- -

The bitwise logical operators are often used to create, manipulate, and read sequences of flags, which are like binary variables. Variables could be used instead of these sequences, but binary flags take much less memory (by a factor of 32).

- -

Suposem 4 marques:

- -
    -
  • Marca A: tenim un problema de formigues
  • -
  • Marca B: tenim un ratpenat
  • -
  • Marca C: tenim un gat
  • -
  • Marca D: tenim un ànec
  • -
- -

Aquestes marques són representades per una seqüència de bits: DCBA. Quan una marca està activada, té un valor de 1. Quan una marca no està activa rep un valor de 0. Suposem que una variable anomenada flags (marques en anglès) té el valor binari 0101:

- -
var flags = 5;   // 0101 en binari
-
- -

Aquest valor indica:

- -
    -
  • La marca A està activa, és a dir, és certa (tenim un problema de formigues)
  • -
  • La marca B és falsa (no tenim un murisec)
  • -
  • La marca C és certa (tenim un gat)
  • -
  • La marca D és falsa (no tenim un ànec)
  • -
- -

Com que les operacions be bits utilitzen nombres de 32 bits, 0101 és en realitat 00000000000000000000000000000101, però els zeros a l'esquerra es poden obviar ja que no contenen informació útil.

- -

Una màscara de bits és una seqüència que pot manipular i/o llegir marques. És molt comú definir màscares "primitives" per a cada marca:

- -
var FLAG_A = 1; // 0001
-var FLAG_B = 2; // 0010
-var FLAG_C = 4; // 0100
-var FLAG_D = 8; // 1000
-
- -

Es fàcil crear noves màscares mitjançant operacions de bits lògiques sobre les màscares primitives. Per exemple, la màscara de bits 1011 es pot crear mitjançant operacions OR sobre FLAG_A, FLAG_B i FLAG_D:

- -
var mask = FLAG_A | FLAG_B | FLAG_D; // 0001 | 0010 | 1000 => 1011
-
- -

Els valors individuals d'una marca es poden obtindre mitjançant una operació AND de la seqüència de marques amb la màscara primitiva corresponent. La màscara de bits descarta els bits de les marques que no s'escauen. Per exemple, la màscara de bits 0100 es pot emprar per veure si la marca C està activa:

- -
// si tenim un gat...
-if (flags & FLAG_C) { // 0101 & 0100 => 0100 => true
-   // ... fer coses
-}
-
- -

Una màscara de bits amb múltiples marques activades funciona com un "or". Per exemple els següents dos blocs de codi són equivalents:

- -
// si tenim un ratpenat o un gat...
-// (0101 & 0010) || (0101 & 0100) => 0000 || 0100 => true
-if ((flags & FLAG_B) || (flags & FLAG_C)) {
-   // ... fer coses
-}
-
- -
// si tenim un ratpenat o un gat...
-var mask = FLAG_B | FLAG_C; // 0010 | 0100 => 0110
-if (flags & mask) { // 0101 & 0110 => 0100 => true
-   // ... fer coses
-}
-
- -

Les marques es poden activar mitjançant una operació OR amb la màscara, on cada bit amb el valor 1 activarà la marca corresponent si no està ja activada. Per exemple, la màscara de bits 1100 pot ser emprada per a activar les marques C i D:

- -
// si, tenim un gat i un ànec
-var mask = FLAG_C | FLAG_D; // 0100 | 1000 => 1100
-flags |= mask;   // 0101 | 1100 => 1101
-
- -

Les marques es poden desactivar mitjançant una operació AND amb una màscara de bits, on cada bit amb el valor de zero desactivarà la marca corresponent si no està ja desactivada. Aquestes màscares poden generar-se fàcilment mitjançant una operació NOT sobre la màscara primitiva adient. Per exemple, la màscara 1010 pot ser emprada per a desactivar les marques A i C:

- -
// no, no tenim un problema amb formigues ni tenim un gat
-var mask = ~(FLAG_A | FLAG_C); // ~0101 => 1010
-flags &= mask;   // 1101 & 1010 => 1000
-
- -

També es podría haver creat la màscara amb ~FLAG_A & ~FLAG_C (Llei de De Morgan):

- -
// no, no tenim un problema amb formigues ni tenim un gat
-var mask = ~FLAG_A & ~FLAG_C;
-flags &= mask;   // 1101 & 1010 => 1000
-
- -

Es pot invertir una màscara (entenem per invertir activar-la si està desactivada i desactivar-la si està activada. És a dir, invertir el seu valor) mitjançant una operació XOR amb una màscara de bits, on cada bit amb el valor 1 invertirà el valor de la marca corresponent. Per exemple, la màscara de bits 0110 pot ser emprada per invertir les marques B i C:

- -
// Si no teniem un ratpenat, ara en tenim un
-// i si en teniem un, adéu ratpenat
-// El mateix amb els gats
-var mask = FLAG_B | FLAG_C;
-flags = flags ^ mask;   // 1100 ^ 0110 => 1010
-
- -

Finalment, les marques poden ser invertides mitjançant l'operador NOT:

- -
// entrant a l'univers paral·lel
-flags = ~flags;    // ~1010 => 0101
-
- -

Xuletes per conversions

- -

Converteix un String binari a un Number decimal:

- -
var sBinString = "1011";
-var nMyNumber = parseInt(sBinString, 2);
-alert(nMyNumber); // prints 11, i.e. 1011
-
- -

Converteix un Number decimal en un String binari:

- -
var nMyNumber = 11;
-var sBinString = nMyNumber.toString(2);
-alert(sBinString); // prints 1011, i.e. 11
-
- -

Automatització de la creació de màscares

- -

El procés de creació de màscares per a valors Booleans pot ser automatitzat:

- -
function createMask () {
-  var nMask = 0, nFlag = 0, nLen = arguments.length > 32 ? 32 : arguments.length;
-  for (nFlag; nFlag < nLen; nMask |= arguments[nFlag] << nFlag++);
-  return nMask;
-}
-var mask1 = createMask(true, true, false, true); // 11, i.e.: 1011
-var mask2 = createMask(false, false, true); // 4, i.e.: 0100
-var mask3 = createMask(true); // 1, i.e.: 0001
-// etc.
-
-alert(mask1); // prints 11, i.e.: 1011
-
- -

Algorisme invers: un array de booleans a partir d'una màscara

- -

El codi següent crea un Array de Booleans a partir d'una màscara:

- -
function arrayFromMask (nMask) {
-  // nMask must be between -2147483648 and 2147483647
-  if (nMask > 0x7fffffff || nMask < -0x80000000) {
-    throw new TypeError("arrayFromMask - out of range");
-  }
-  for (var nShifted = nMask, aFromMask = []; nShifted;
-       aFromMask.push(Boolean(nShifted & 1)), nShifted >>>= 1);
-  return aFromMask;
-}
-
-var array1 = arrayFromMask(11);
-var array2 = arrayFromMask(4);
-var array3 = arrayFromMask(1);
-
-alert("[" + array1.join(", ") + "]");
-// prints "[true, true, false, true]", i.e.: 11, i.e.: 1011
-
- -

Ambdós algorismes poden ser testejats a l'hora...

- -
var nTest = 19; // la nostra màscara personal
-var nResult = createMask.apply(this, arrayFromMask(nTest));
-
-alert(nResult); // 19
-
- -

Només amb finalitat didàctica (ja que disposem del mètode Number.toString(2)), es mostra com és posible modficiar l'algorisme arrayFromMask per a crear un String que contingui la representació d'un Number en comptes d'un Array de Booleans:

- -
function createBinaryString (nMask) {
-  // nMask ha d'estar entre -2147483648 i 2147483647
-  for (var nFlag = 0, nShifted = nMask, sMask = ""; nFlag < 32;
-       nFlag++, sMask += String(nShifted >>> 31), nShifted <<= 1);
-  return sMask;
-}
-
-var string1 = createBinaryString(11);
-var string2 = createBinaryString(4);
-var string3 = createBinaryString(1);
-
-alert(string1);
-// prints 00000000000000000000000000001011, i.e. 11
-
- -

Specifications

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
ECMAScript 1a Edició.StandardDefinició inicial
{{SpecName('ES5.1', '#sec-11.4.8', 'Bitwise NOT operator')}}
- {{SpecName('ES5.1', '#sec-11.7', 'Bitwise shift operators')}}
- {{SpecName('ES5.1', '#sec-11.10', 'Binary bitwise operators')}}
{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-bitwise-not-operator', 'Bitwise NOT operator')}}
- {{SpecName('ES6', '#sec-bitwise-shift-operators', 'Bitwise shift operators')}}
- {{SpecName('ES6', '#sec-binary-bitwise-operators', 'Binary bitwise operators')}}
{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterístiquesChromeFirefox (Gecko)Internet ExplorerOperaSafari
Bitwise NOT (~){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise AND (&){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise OR (|){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise XOR (^){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Left shift (<<){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Right shift (>>){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Unsigned right shift (>>>){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Bitwise NOT (~){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise AND (&){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise OR (|){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Bitwise XOR (^){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Left shift (<<){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Right shift (>>){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
Unsigned right shift (>>>){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/conditional_operator/index.html b/files/ca/web/javascript/referencia/operadors/conditional_operator/index.html deleted file mode 100644 index 15265c62b3..0000000000 --- a/files/ca/web/javascript/referencia/operadors/conditional_operator/index.html +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: Operador Condicional (ternari) -slug: Web/JavaScript/Referencia/Operadors/Conditional_Operator -translation_of: Web/JavaScript/Reference/Operators/Conditional_Operator ---- -
-
{{jsSidebar("Operators")}}
-
- -

Resum

- -

L'operador condicional (ternari) és l'únic operador de JavaScript que opera amb tres operands. Aquest operador és freqüentment usat com una simplificació de la sentència if.

- -

Sintaxi

- -
condition ? expr1 : expr2 
- -

Paràmetres

- -
-
condition
-
Una expressió que avalua true o false.
-
- -
-
expr1, expr2
-
Expressions amb valors de qualsevol tipus.
-
- -

Descripció

- -

Si condition és true, l'operador retorna el valor de expr1; de ser el contrari, retorna el valor de expr2. Per exemple, per mostrar diferents missatges basats en el valor de la variable isMember, es podria fer servir aquesta sentència:

- -
"The fee is " + (isMember ? "$2.00" : "$10.00")
-
- -

També es pot assignar variables depenent del resultat ternari:

- -
var elvisLives = Math.PI > 4 ? "Yep" : "Nope";
- -

És possible realitzar avaluacions ternàries múltiples (nota: L'operador condicional operator s'associa per la dreta):

- -
var firstCheck = false,
-    secondCheck = false,
-    access = firstCheck ? "Access denied" : secondCheck ? "Access denied" : "Access granted";
-
-console.log( access ); // logs "Access granted"
- -

També es pot usar avaluacions ternàries en espais lliures per tal de fer diferents operacions:

- -
var stop = false, age = 16;
-
-age > 18 ? location.assign("continue.html") : stop = true;
-
- -

També es pot fer més d'una sola operació per cas, separant-les amb una coma:

- -
var stop = false, age = 23;
-
-age > 18 ? (
-    alert("OK, you can go."),
-    location.assign("continue.html")
-) : (
-    stop = true,
-    alert("Sorry, you are much too young!")
-);
-
- -

I per últim, també es pot fer més d'una operació durant l'assignació d'un valor. En aquest cas, el últim valor del parèntesis serparat per una coma serà el valor assignat.

- -
var age = 16;
-
-var url = age > 18 ? (
-    alert("OK, you can go."),
-    // alert returns "undefined", but it will be ignored because
-    // isn't the last comma-separated value of the parenthesis
-    "continue.html" // the value to be assigned if age > 18
-) : (
-    alert("You are much too young!"),
-    alert("Sorry :-("),
-    // etc. etc.
-    "stop.html" // the value to be assigned if !(age > 18)
-);
-
-location.assign(url); // "stop.html"
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició deECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-11.12', 'The conditional operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-conditional-operator', 'Conditional Operator')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/function/index.html b/files/ca/web/javascript/referencia/operadors/function/index.html deleted file mode 100644 index 0908f591b6..0000000000 --- a/files/ca/web/javascript/referencia/operadors/function/index.html +++ /dev/null @@ -1,146 +0,0 @@ ---- -title: function expression -slug: Web/JavaScript/Referencia/Operadors/function -translation_of: Web/JavaScript/Reference/Operators/function ---- -
{{jsSidebar("Operators")}}
- -

La paraula clau function es pot utilitzar per definir una funció dins d'una expressió.

- -

Sintaxi

- -
function [nom]([paràm1[, paràm2[, ..., paràmN]]]) {
-   sentències
-}
- -

Paràmetres

- -
-
nom
-
El nom de la funció. Es pot ometre, i en aquest cas la funció seria anònima. El nom és només local pel cos de la funció.
-
paràmN
-
El nom d'un argument que es passa a la funció.
-
sentències
-
Les sentències que constitueixen el cos de la funció.
-
- -

Descripció

- -

Una expressió d'una funció és molt semblant i té gairebé la mateixa sintaxi que una sentència d'una funció (function sentència d'una funció per més detalls). La principal diferència entre l'expressió d'una funció i una sentèndia d'una expressió és el nom de la functió, el qual es pot ometre en expressions de funcions per tal de crear funcions anònimes. Una expressió d'una funció es pot utilitzar com a un IIFE (Immediately Invoked Function Expression) que s'executa un cop s'ha definit. Vegeu també el capítol sobre funcions per més informació.

- -

Exemples

- -

L'exemple següent defineix una funció sense nom i l'assigna a x. La funció retorna el quadrat del seu argument:

- -
var x = function(y) {
-   return y * y;
-};
-
- -

Expressió d'una funció amb nom

- -

Si vols fer referència a la funció actual dins del cos de la funció, necessitaràs crear una expressió d'una funció amb nom. Aquest nom és llavors només local pel cos de la funció (àmbit). AIxò també evita utilitzar la propietat no estàndard arguments.callee.

- -
var math = {
-  'factorial': function factorial(n) {
-    if (n <= 1)
-      return 1;
-    return n * factorial(n - 1);
-  }
-};
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ESDraft', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ESDraft')}} 
{{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-13', 'Function definition')}}{{Spec2('ES5.1')}} 
{{SpecName('ES3', '#sec-13', 'Function definition')}}{{Spec2('ES3')}}Definició inicial. Implementat en JavaScript 1.5.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Functions_and_function_scope", "Functions and function scope")}}
  • -
  • {{jsxref("Function")}}
  • -
  • {{jsxref("Statements/function", "function statement")}}
  • -
  • {{jsxref("Statements/function*", "function* statement")}}
  • -
  • {{jsxref("Operators/function*", "function* expression")}}
  • -
  • {{jsxref("GeneratorFunction")}}
  • -
diff --git a/files/ca/web/javascript/referencia/operadors/grouping/index.html b/files/ca/web/javascript/referencia/operadors/grouping/index.html deleted file mode 100644 index 45e8566806..0000000000 --- a/files/ca/web/javascript/referencia/operadors/grouping/index.html +++ /dev/null @@ -1,128 +0,0 @@ ---- -title: Operador d'agrupament -slug: Web/JavaScript/Referencia/Operadors/Grouping -translation_of: Web/JavaScript/Reference/Operators/Grouping ---- -
-
{{jsSidebar("Operators")}}
-
- -

Resum

- -

L'operador d'agrupament ( ) controla la precedència de l'avaluació en expresions.

- -

Sintaxi

- -
 ( )
- -

Descripció

- -

L'operador agrupament consisteix en un parell de parèntesis que embolcallen una expressió o una sub-expressió per anular la precedència d'operadors normal de forma que expressions amb un nivell més baix de precedència poden ser avaluades abans d'una expressió amb més prioritat.

- -

Exemples

- -

Primer predomina la multiplicació i la divisió, després la suma i la resta per tal d'avaluar primer la suma.

- -
var a = 1;
-var b = 2;
-var c = 3;
-
-// default precedence
-a + b * c     // 7
-// evaluated by default like this
-a + (b * c)   // 7
-
-// now overriding precedence
-// addition before multiplication
-(a + b) * c   // 9
-
-// which is equivalent to
-a * c + b * c // 9
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-11.1.6', 'The Grouping Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-grouping-operator', 'The Grouping Operator')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/index.html b/files/ca/web/javascript/referencia/operadors/index.html deleted file mode 100644 index 4a70edc4fb..0000000000 --- a/files/ca/web/javascript/referencia/operadors/index.html +++ /dev/null @@ -1,282 +0,0 @@ ---- -title: Expressions and operators -slug: Web/JavaScript/Referencia/Operadors -tags: - - JavaScript - - NeedsTranslation - - Operators - - TopicStub -translation_of: Web/JavaScript/Reference/Operators ---- -
{{jsSidebar("Operators")}}
- -

Aquest capítol documenta totls els operadors, expressions i paraules clau del llenguatge JavaScript.

- -

Expressions i operadors per categoria

- -

Per a un llistat en order alfabetic vegeu el menú de l'esquerra.

- -

Expressions primàries

- -

Paraules clau bàsiques i expressions generals en JavaScript.

- -
-
{{jsxref("Operadors/this", "this")}}
-
La paraula clau this fa referència al contexte d'execució de la funció actual.
-
{{jsxref("Operadors/function", "function")}}
-
La paraula clau function defineix una expressió de funció.
-
{{experimental_inline()}} {{jsxref("Operadors/function*", "function*")}}
-
La paraula clau function* defineix una expressió de funció generadora.
-
{{experimental_inline()}} {{jsxref("Operadors/yield", "yield")}}
-
Pausa i resumeix una funció generadora.
-
{{experimental_inline()}} {{jsxref("Operadors/yield*", "yield*")}}
-
Delega a una altra funció generadora o objecte iterable.
-
{{jsxref("Global_Objects/Array", "[]")}}
-
Sintaxi d'inicialització o literal d'arrays.
-
{{jsxref("Operators/Object_initializer", "{}")}}
-
Sintaxi d'inicialitzador o literal d'objectes.
-
{{jsxref("Global_Objects/RegExp", "/ab+c/i")}}
-
Sintaxi de literals formats per expressions regulars.
-
{{experimental_inline()}} {{jsxref("Operadors/Array_comprehensions", "[for (x of y) x]")}}
-
Comprensió d'arrays.
-
{{experimental_inline()}} {{jsxref("Operadors/Generator_comprehensions", "(for (x of y) y)")}}
-
Comprensió de generators.
-
{{jsxref("Operadors/Grouping", "( )")}}
-
Operador d'agrupament.
-
- -

Expressions de banda esquerra

- -

Els valors de l'esquerra són la destinació d'una assignació.

- -
-
{{jsxref("Operadors/Property_accessors", "Property accessors", "", 1)}}
-
Els operadors membres proporcionen accés a una propietat o mètode d'un objecte
- (object.property i object["property"]).
-
{{jsxref("Operadors/new", "new")}}
-
L'operador new crea una instància d'un constructor.
-
{{experimental_inline()}} {{jsxref("Operadors/super", "super")}}
-
La paraula clau super crida el constructor de l'objecte pare.
-
{{experimental_inline()}} {{jsxref("Operadors/Spread_operator", "...obj")}}
-
L'operador d'extensió permet que una expressió s'expandeixi en llocs on s'esperen mútiples argurments (per a crides de funcions) o elements (per a literals d'arrays).
-
- -

Increment i decrement

- -

Operadors de increment o decrement en forma de prefix/sufix.

- -
-
{{jsxref("Operadors/Arithmetic_Operators", "A++", "#Increment")}}
-
Operador sufix d'increment.
-
{{jsxref("Operadors/Arithmetic_Operators", "A--", "#Decrement")}}
-
Operador sufix de decrement.
-
{{jsxref("Operadors/Arithmetic_Operators", "++A", "#Increment")}}
-
Operador prefix d'increment.
-
{{jsxref("Operadors/Arithmetic_Operators", "--A", "#Decrement")}}
-
Operador prefix de decrement.
-
- -

Operadors unaris

- -

Un operador unari és un operador que només accepta un operand.

- -
-
{{jsxref("Operadors/delete", "delete")}}
-
L'operador delete esborra una propietat d'un objecte.
-
{{jsxref("Operadors/void", "void")}}
-
L'operador void evalua una expressió i descarta el que retorni.
-
{{jsxref("Operadors/typeof", "typeof")}}
-
L'operador typeof determina el tipus d'un objecte donat.
-
{{jsxref("Operadors/Arithmetic_Operators", "+", "#Unary_plus")}}
-
L'operador unari més converteix l'operand donat al tipus Number.
-
{{jsxref("Operadors/Arithmetic_Operators", "-", "#Unary_negation")}}
-
L'operador unari negació converteix l'operand donat al tipus Number i llavors el nega.
-
{{jsxref("Operadors/Bitwise_Operators", "~", "#Bitwise_NOT")}}
-
Operador binari NOT.
-
{{jsxref("Operadors/Logical_Operators", "!", "#Logical_NOT")}}
-
Operador lògic NOT.
-
- -

Operadors aritmètics

- -

Els operadors aritmètics accepten valors numèrics (ja siguin literals o variables) com a operands i retornen un únic valor numèric.

- -
-
{{jsxref("Operadors/Arithmetic_Operators", "+", "#Addition")}}
-
Operador de suma.
-
{{jsxref("Operadors/Arithmetic_Operators", "-", "#Subtraction")}}
-
Operador de resta.
-
{{jsxref("Operadors/Arithmetic_Operators", "/", "#Division")}}
-
Operador de divisió.
-
{{jsxref("Operadors/Arithmetic_Operators", "*", "#Multiplication")}}
-
Operador de multiplicació.
-
{{jsxref("Operadors/Arithmetic_Operators", "%", "#Remainder")}}
-
Operador de mòdul.
-
- -

Operadors relacionals

- -

Els operadors relacionals compara els operands donats i retorna un valor de tipus Boolean value basat en si la relació és certa o no.

- -
-
{{jsxref("Operadors/in", "in")}}
-
L'operador in determina si un objecte té la propietat donada.
-
{{jsxref("Operadors/instanceof", "instanceof")}}
-
L'operador instanceof determina si un objecte és una instància d'un altre objecte.
-
{{jsxref("Operadors/Comparison_Operators", "<", "#Less_than_operator")}}
-
Operador menor que.
-
{{jsxref("Operadors/Comparison_Operators", ">", "#Greater_than_operator")}}
-
Operador major que.
-
{{jsxref("Operadors/Comparison_Operators", "<=", "#Less_than_or_equal_operator")}}
-
Operador menor o igual que.
-
{{jsxref("Operadors/Comparison_Operators", ">=", "#Greater_than_or_equal_operator")}}
-
Operador major o igual que.
-
- -

Operadors d'igualtat

- -

El resultat d'evaluar un operador d'igualtat és sempre de tipus Boolean i el resultat es basa en si la comparació és certa.

- -
-
{{jsxref("Operadors/Comparison_Operators", "==", "#Equality")}}
-
Operador d'igulatat.
-
{{jsxref("Operadors/Comparison_Operators", "!=", "#Inequality")}}
-
Operador de no igualtat.
-
{{jsxref("Operadors/Comparison_Operators", "===", "#Identity")}}
-
Operador identitat.
-
{{jsxref("Operadors/Comparison_Operators", "!==", "#Nonidentity")}}
-
Operador de no identitat.
-
- -

Operadors de desplaçament de bits

- -

Operacions que desplacen tots els bits d'un operand.

- -
-
{{jsxref("Operadors/Bitwise_Operators", "<<", "#Left_shift")}}
-
Operador de desplaçament de bits a l'esquerra.
-
{{jsxref("Operadors/Bitwise_Operators", ">>", "#Right_shift")}}
-
Operador de desplaçament de bits a la dreta.
-
{{jsxref("Operadors/Bitwise_Operators", ">>>", "#Unsigned_right_shift")}}
-
Operador de desplaçament a la dreta sense signe.
-
- -

Operadors binaris

- -

Els operadors binaris tracten els seus operands com un conjunt de 32 bits (uns i zeros) i retornen valors numèrics standards de JavaScript.

- -
-
{{jsxref("Operadors/Bitwise_Operators", "&", "#Bitwise_AND")}}
-
AND binari.
-
{{jsxref("Operadors/Bitwise_Operators", "|", "#Bitwise_OR")}}
-
OR binari.
-
{{jsxref("Operadors/Bitwise_Operators", "^", "#Bitwise_XOR")}}
-
XOR binari.
-
- -

Operadors lògics

- -

Els operadors lògics típicament s'utilitzen amb valors booleans (és a dir, logics) i retornen un valor booleà.

- -
-
{{jsxref("Operadors/Logical_Operators", "&&", "#Logical_AND")}}
-
AND lògic.
-
{{jsxref("Operadors/Logical_Operators", "||", "#Logical_OR")}}
-
OR lògic.
-
- -

Operador condicional (ternari)

- -
-
{{jsxref("Operadors/Conditional_Operator", "(condition ? ifTrue : ifFalse)")}}
-
-

L'operador condicional retorna un dels dos valors basat en l'evaluació lògica de la condició.

-
-
- -

Operadors d'assignació

- -

Els operadors d'assignació asignen un valor a l'operand de l'esquerra basant-se en l'evaluació de l'operand de la dreta.

- -
-
{{jsxref("Operadors/Assignment_Operators", "=", "#Assignment")}}
-
Operador d'assignació.
-
{{jsxref("Operadors/Assignment_Operators", "*=", "#Multiplication_assignment")}}
-
Assignació de la multiplicació.
-
{{jsxref("Operadors/Assignment_Operators", "/=", "#Division_assignment")}}
-
Assignació de la divisó.
-
{{jsxref("Operadors/Assignment_Operators", "%=", "#Remainder_assignment")}}
-
Assignació del mòdul.
-
{{jsxref("Operadors/Assignment_Operators", "+=", "#Addition_assignment")}}
-
Assignació de la suma.
-
{{jsxref("Operadors/Assignment_Operators", "-=", "#Subtraction_assignment")}}
-
Assignació de la resta.
-
{{jsxref("Operadors/Assignment_Operators", "<<=", "#Left_shift_assignment")}}
-
Assignació del desplaçament a l'esquerra.
-
{{jsxref("Operadors/Assignment_Operators", ">>=", "#Right_shift_assignment")}}
-
Assignació del desplaçament a la dreta.
-
{{jsxref("Operadors/Assignment_Operators", ">>>=", "#Unsigned_right_shift_assignment")}}
-
Assignació del desplaçament a la dreta sense signe.
-
{{jsxref("Operadors/Assignment_Operators", "&=", "#Bitwise_AND_assignment")}}
-
Assignació de l'AND binari.
-
{{jsxref("Operadors/Assignment_Operators", "^=", "#Bitwise_XOR_assignment")}}
-
Assignació del XOR binari.
-
{{jsxref("Operadors/Assignment_Operators", "|=", "#Bitwise_OR_assignment")}}
-
Assignació de l'OR binari.
-
{{experimental_inline()}} {{jsxref("Operadors/Destructuring_assignment", "[a, b] = [1, 2]")}}
- {{experimental_inline()}} {{jsxref("Operadors/Destructuring_assignment", "{a, b} = {a:1, b:2}")}}
-
-

L'assignació de desestructuració permet assignar les propietats d'un array o objecte a variables utilitzant una sintaxi que recorda la de literals d'arrays o objectes.

-
-
- -

Operador coma

- -
-
{{jsxref("Operadors/Comma_Operator", ",")}}
-
L'operador coma permet que múltiples expressions siguin evaluades en una sola sentència i retorna el resultat de l'última expressió.
-
- -

Característiques no standard

- -
-
{{non-standard_inline}} {{jsxref("Operadors/Legacy_generator_function", "Legacy generator function", "", 1)}}
-
La paraula clau function es pot emprar per a definir una funció generadora obsoleta dins una expressió. Per a crear una funció generadora obsoleta el cos de la funció ha de contindre al menys una expressió {{jsxref("Operators/yield", "yield")}}.
-
{{non-standard_inline}} {{jsxref("Operadors/Expression_closures", "Expression closures", "", 1)}}
-
La sintaxi d'expressions closure és una abreviació per a escriure funcions simples.
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial.
{{SpecName('ES5.1', '#sec-11', 'Expressions')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-ecmascript-language-expressions', 'Llenguatge ECMAScript: Expressions')}}{{Spec2('ES6')}} -

Nou: L'operador d'extensió, l'assignació de desestructuració, la paraula clau super, la comprensió d'arrays i la comprensió de generadors

-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/logical_operators/index.html b/files/ca/web/javascript/referencia/operadors/logical_operators/index.html deleted file mode 100644 index 591e1fbc4f..0000000000 --- a/files/ca/web/javascript/referencia/operadors/logical_operators/index.html +++ /dev/null @@ -1,302 +0,0 @@ ---- -title: Operadors Lògics -slug: Web/JavaScript/Referencia/Operadors/Logical_Operators -translation_of: Web/JavaScript/Reference/Operators -translation_of_original: Web/JavaScript/Reference/Operators/Logical_Operators ---- -
-
{{jsSidebar("Operators")}}
-
- -

Resum

- -

Els operadors lògics s'utilitzen normalment amb valors Boolean (lògics). En cas de serh-hi presents, retornen un valor booleà. Tot i així, els operadors && i || retornen el valor d'un dels operands especificats, així que si aquests operadors es fan servir amb valors no booleans, poden retornar un valor no booleà.

- -

Descripció

- -

Els operadors lògics es descriuren en la taula següent:

- - - - - - - - - - - - - - - - - - - - - - - - -
OperadorÚsDescripció
AND lògic (&&)expr1 && expr2Retorna expr1 si es pot convertir en false; sinó, retorna expr2. Així, quan es fa servir amb valors booleans, && retorna true si ambdós operands són true; de ser el contrari, retorna false.
OR lògic(||)expr1 || expr2Retorna expr1 si es pot converir en true; de ser al contrari, retorna expr2. Així, quan s'usa amb valors Booleans, || retorna true si l'operand és true; si amdós són false, retorna false.
NOT lògic (!)!exprRetorna false si el seu únic operand pot convertir-se a true; sinó, retorna true.
- -

Exemples d'expressions que es poden converir a false son aquelles que avaluen null, 0, la cadena buida (""), o undefined.

- -

Tot i que els operadors && i || es poden fer servir amb operands que no siguin valors Booleans, poden ser considerats operadors Booleans ja que els valors que retornen sempre es poden convertir en valors Booleans.

- -

Avaluació de tipus curtcircuit

- -

Com a expressions lògiques que són, s'avaluen d'esquerra a dreta, they are tested for possible "short-circuit" evaluation fent servir les regles següents:

- -
    -
  • false && (quelcom) is short-circuit evaluated to false.
  • -
  • true || (quelcom) is short-circuit evaluated to true.
  • -
- -

Les regles de la lògica garanteixen que aquestes avaluacions són sempre correctes. Fixeu-vos que la part quelcom d'adalt no s'avalua, així que els efectes secundaris d'això no tindràn efecte. Fixeu-vos també que la part de l'expressió de dalt anomenada quelcom és una expressió lògica simple (com s'indiquen amb els parèntesis).

- -

Per exemple, les dues funcions següents són equivalents.

- -
function shortCircuitEvaluation() {
-  doSomething() || doSomethingElse()
-}
-
-function equivalentEvaluation() {
-  var flag = doSomething();
-  if (!flag) {
-    doSomethingElse();
-  }
-}
-
- -

Tot i així, les següents expressions no són equivalents degut a la precendència dels operadors, i remarca la importància de requerir que l'operador de la dreta sigui una sola expressió (agrupada, si s'escau, per parèntesi).

- -
false && true  || true      // returns true
-false && (true || true)     // returns false
- -

AND lògic (&&)

- -

El codi següent mostra exemples de l'operador && (AND lògic).

- -
a1 = true  && true      // t && t returns true
-a2 = true  && false     // t && f returns false
-a3 = false && true      // f && t returns false
-a4 = false && (3 == 4)  // f && f returns false
-a5 = "Cat" && "Dog"     // t && t returns "Dog"
-a6 = false && "Cat"     // f && t returns false
-a7 = "Cat" && false     // t && f returns false
-
- -

OR lògic (||)

- -

El codi següent mostra exemples de l'operador || (OR lògic).

- -
o1 = true  || true       // t || t returns true
-o2 = false || true       // f || t returns true
-o3 = true  || false      // t || f returns true
-o4 = false || (3 == 4)   // f || f returns false
-o5 = "Cat" || "Dog"      // t || t returns "Cat"
-o6 = false || "Cat"      // f || t returns "Cat"
-o7 = "Cat" || false      // t || f returns "Cat"
-
- -

NOT lògic (!)

- -

El codi següent mostra exemples de l'operador ! (NOT lògic).

- -
n1 = !true              // !t returns false
-n2 = !false             // !f returns true
-n3 = !"Cat"             // !t returns false
-
- -

Regles de conversió

- -

Convertir AND a OR

- -

L'operació següent que inclou Booleans:

- -
bCondition1 && bCondition2
- -

sempre és igual a:

- -
!(!bCondition1 || !bCondition2)
- -

Convertir OR a AND

- -

L'operació següent que inclou Booleans:

- -
bCondition1 || bCondition2
- -

sempre és igual a:

- -
!(!bCondition1 && !bCondition2)
- -

Desfer-se de parèntesis aniuats

- -

Com que les expressions lògiques s'avaluen d'esquerra a dreta, sempre és posible esborrar els parèntesi d'expressions complexes mitjançant les regles següents.

- -

Desfer-se d'un AND aniuat

- -

L'operació següent que inclou Booleans:

- -
bCondition1 || (bCondition2 && bCondition3)
- -

sempre és igual a:

- -
bCondition1 || bCondition2 && bCondition3
- -

Desfer-se d'un OR aniuat

- -

L'operació següent que inclou Booleans:

- -
bCondition1 && (bCondition2 || bCondition3)
- -

sempre és igual a:

- -
!(!bCondition1 || !bCondition2 && !bCondition3)
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
1a edició de ECMAScript.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-11.4.9', 'Logical NOT Operator')}}
- {{SpecName('ES5.1', '#sec-11.11', 'Binary Logical Operators')}}
{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-logical-not-operator', 'Logical NOT operator')}}
- {{SpecName('ES6', '#sec-binary-logical-operators', 'Binary Logical Operators')}}
{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
AND lògic (&&){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
OR lògic (||){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
NOT lògic (!){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
AND lògic (&&){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
OR lògic (||){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
NOT lògic (!){{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Compatibilitat amb versions anteriors: Comportament a JavaScript 1.0 i 1.1

- -

Els operadors && i || es comporten de la forma següent:

- - - - - - - - - - - - - - - - - - - -
OperadorÚsComportament
&&expr1 && expr2Si el primer operand (expr1) es pot converitr a false, l'operador && retorna false en comptes del valor de expr1.
||expr1 || expr2Si el primer operand (expr1) es pot converitr a true, l'operador || retorna true en comptes del valor de expr1.
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/operador_coma/index.html b/files/ca/web/javascript/referencia/operadors/operador_coma/index.html deleted file mode 100644 index f6a62d2bc8..0000000000 --- a/files/ca/web/javascript/referencia/operadors/operador_coma/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Operador Coma -slug: Web/JavaScript/Referencia/Operadors/Operador_Coma -translation_of: Web/JavaScript/Reference/Operators/Comma_Operator ---- -
-
{{jsSidebar("Operators")}}
-
- -

Resum

- -

L'operador coma avalua cadascun dels seus operands (d'esquerra a dreta) i retorna el valor de l´últim operand.

- -

Sintaxi

- -
expr1, expr2, expr3...
- -

Paràmetres

- -
-
expr1, expr2, expr3...
-
Qualsevol expressions.
-
- -

Descripció

- -

Es pot fer servir l'operador coma quan es vulgui incloure múltiples expressions en una localització que requereix una sola expressió. L'ús més freqüent que es fa d'aquest operador es per subministrar múltiples paràmetres en una for loop.

- -

Exemple

- -

Si a és un array de 2 dimesnions amb 10 elements on a side, el codi següent usa l'operador coma per incrementar dos variables al mateix temps. Vegeu que la coma en la sentència var no  és l'operador coma, ja que no existeix dins d'una expressió. Més aviat, és un caràcter especial en les sentències var que combina múltiples d'ells en un. Pràcticament, la coma es comporta quasi igual que l'operador coma. El codi imprimeix els valors dels elements de la diagonal de l'array:

- -
for (var i = 0, j = 9; i <= 9; i++, j--)
-  document.writeln("a[" + i + "][" + j + "] = " + a[i][j]);
- -

Processar i després retornar

- -

Un altre exemple sobre l'ús que es pot fer sobre l'operador coma és processar abansd e retornar. Com s'indica, només l'últim element serà retornat, però tots els altres també seràn avaluats. Així doncs, es podria fer:

- -
function myFunc () {
-  var x = 0;
-
-  return (x += 1, x); // the same of return ++x;
-}
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
ECMAScript 1st Edition.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-11.14', 'Comma operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-comma-operator', 'Comma operator')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic3.0
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/super/index.html b/files/ca/web/javascript/referencia/operadors/super/index.html deleted file mode 100644 index c19e58cba1..0000000000 --- a/files/ca/web/javascript/referencia/operadors/super/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: super -slug: Web/JavaScript/Referencia/Operadors/super -translation_of: Web/JavaScript/Reference/Operators/super ---- -
{{jsSidebar("Operators")}}
- -

Resum

- -

La paraula clau super s'utilitza per cridar funcions del pare de l'objecte.

- -

Sintaxi

- -
super([arguments]); // crida el constructor del pare.
-super.functionOnParent([arguments]);
-
- -

Descripció

- -

Quan s'utilitza en un constructor, la paraula clau super apareix sola i s'ha d'utilitzar abans de la paraula clau this. Aquesta paraula clau també es pot utilitzar per cridar funcions en un objecte pare.

- -

Exemple

- -

Aquest fragment de codi es pren de la mostra de classes  mostra de classes (demostració en viu).

- -
class Square extends Polygon {
-  constructor(length) {
-    // Aquí es crida el constructor del pare de la classe amb les longituds
-    // proveïdes per l'alçada i l'amplada del polígon
-    super(length, length);
-    // Nota: En classes derivades, s'ha de cridar super() abans de poder
-    // utilitzar 'this'. Obviar això causarà un error de referència.
-    this.name = 'Square';
-  }
-
-  get area() {
-    return this.height * this.width;
-  }
-
-  set area(value) {
-    this.area = value;
-  }
-}
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-super-keyword', 'super')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(42.0)}}{{CompatNo}}
- {{bug(1066239)}}
{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
Safari Mobile - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera Mobile
Suport bàsic{{CompatUnknown}}{{CompatChrome(42.0)}}{{CompatNo}}
- {{bug(1066239)}}
{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/typeof/index.html b/files/ca/web/javascript/referencia/operadors/typeof/index.html deleted file mode 100644 index a7407e79ce..0000000000 --- a/files/ca/web/javascript/referencia/operadors/typeof/index.html +++ /dev/null @@ -1,240 +0,0 @@ ---- -title: typeof -slug: Web/JavaScript/Referencia/Operadors/typeof -translation_of: Web/JavaScript/Reference/Operators/typeof ---- -
-
{{jsSidebar("Operators")}}
-
- -

Resum

- -

L'operador typeof retorna una cadena de caràcters que representa el tipus de l'operand, que en cap cas és evaluat.

- -

Sintaxi

- -

L'operador typeof va seguit del seu operand:

- -
typeof operand
- -

Paràmetres

- -

operand és una expressió que representa l'objecte o {{Glossary("Primitive", "primitive")}} del qual es retornarà el tipus.

- -

Descripció

- -

La taula següent resumeix els possibles valor de typeof. Per més informació sobre tipus i tipus primitius, vegeu també la pàgina de JavaScript data structure.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TipusResultat
Undefined"undefined"
Null"object" (vegeu a sota)
Boolean"boolean"
Number"number"
String"string"
Symbol (nou a l'ECMAScript 6)"symbol"
Host object (proporcionat per l'entorn JS)Depenent de l'implementació
Objecte Funció (implements [[Call]] in ECMA-262 terms)"function"
Qualsevol altre objecte"object"
- -

Exemples

- -

Casos normals

- -
// Numbers
-typeof 37 === 'number';
-typeof 3.14 === 'number';
-typeof Math.LN2 === 'number';
-typeof Infinity === 'number';
-typeof NaN === 'number'; // A pesar de ser un "Not-A-Number"
-typeof Number(1) === 'number'; // però no l'utilitzeu mai així!
-
-
-// Strings
-typeof "" === 'string';
-typeof "bla" === 'string';
-typeof (typeof 1) === 'string'; // typeof sempre retorna una string
-typeof String("abc") === 'string'; // però no l'utilitzeu mai així!
-
-
-// Booleans
-typeof true === 'boolean';
-typeof false === 'boolean';
-typeof Boolean(true) === 'boolean'; // però no l'utilitzeu mai així!
-
-
-// Symbols
-typeof Symbol() === 'symbol'
-typeof Symbol('foo') === 'symbol'
-typeof Symbol.iterator === 'symbol'
-
-
-// Undefined
-typeof undefined === 'undefined';
-typeof blabla === 'undefined'; // una variable no definida
-
-
-// Objects
-typeof {a:1} === 'object';
-
-// utilitzeu Array.isArray o bé Object.prototype.toString.call
-// per a diferenciar objectes normals d'arrays
-typeof [1, 2, 4] === 'object';
-
-typeof new Date() === 'object';
-
-
-// Els següents exemples són confusos, no els utilitzeu!
-typeof new Boolean(true) === 'object';
-typeof new Number(1) === 'object';
-typeof new String("abc") === 'object';
-
-
-// Funcions
-typeof function(){} === 'function';
-typeof Math.sin === 'function';
-
- -

null

- -
// Això es manté així des de l'inici de JavaScript
-typeof null === 'object';
-
- -

A la primera implementació de JavaScript, els valors de JavaScript es representaven com a una etiqueta de tipus i un valor. L'etiqueta de tipus per objectes era 0. null era representat amb el punter NULL (0x00 a la majoria de plataformes). D'aquesta manera null tenia 0 com a etiqueta de tipus, i això és el que determina que typeof retorni 'object' per a null. (referència)

- -

Es va proposar una esmena per a canviar aquest comportament per l'ECMAScript (via una opt-in), però aquesta va ser rebutjada. El resultat hagués estat typeof null === 'null'.

- -

Expressions regulars

- -

Expressions regulars que poden ser cridades van ser un afegit no standard en alguns navegadors web.

- -
typeof /s/ === 'function'; // Chrome 1-12 No cumpleix l'standard ECMAScript 5.1
-typeof /s/ === 'object';   // Firefox 5+  D'acord amb ECMAScript 5.1
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
1a edició ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.1
{{SpecName('ES5.1', '#sec-11.4.3', 'The typeof Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-typeof-operator', 'The typeof Operator')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Els objects host a Internet Explorer són objectes en comptes de funcions

- -

A IE 6, 7, i 8 molts dels host objects són objectes i no funcions. Per exemple:

- -
typeof alert === 'object'
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/void/index.html b/files/ca/web/javascript/referencia/operadors/void/index.html deleted file mode 100644 index ddf98ebfd9..0000000000 --- a/files/ca/web/javascript/referencia/operadors/void/index.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: L'operador void -slug: Web/JavaScript/Referencia/Operadors/void -translation_of: Web/JavaScript/Reference/Operators/void ---- -
{{jsSidebar("Operators")}}
- -

Resum

- -

L'operador void evalua l'expressió donada i retorna undefined.

- -

Sintaxi

- -
void expressió
- -

Descripció

- -

Aquest operador permet inserir expressions que produeixen efectes secundaris en llocs on es vol una expressió que s'evalui a undefined.

- -

L'operador void tot sovint s'utilitza simplement per a obtenir el valor primitiu undefined, normalment usant "void(0)" (que és equivalent a "void 0"). En aquests casos es pot utilitzar la variable global undefined en comptes de l'operador void (asumint que no ha sigut assignada a un valor no standard).

- -

Expressions de funció invocades de forma immediata

- -

A l'utilitzar una expressió de funció invocada de forma immediata, es pot usar void per a forçar que la paraula clau function sigui tractada com a una expressió en comptes d'una declaració.

- -
void function iife() {
-    var bar = function () {};
-    var baz = function () {};
-    var foo = function () {
-        bar();
-        baz();
-     };
-    var biz = function () {};
-
-    foo();
-    biz();
-}();
-
- -

URIs de JavaScript

- -

Quan un navegador segueix una URI de l'estil javascript: , aquest evalua el codi que hi ha a la URI i llavors reemplaça el contingut de la pàgina amb el valor retornat, a no ser que el valor retornat sigui undefined. L'operador void pot ser emprat en aquest case per a retornar undefined. Per exemple:

- -
<a href="javascript:void(0);">
-  Cliqueu aquí per a no fer res
-</a>
-
-<a href="javascript:void(document.body.style.backgroundColor='green');">
-  Clique aquí per a un fons de color verd
-</a>
-
- -

Tingueu en compte, però, que el pseudo protocol javascript: no és recomanat ja que existeixen alternatives, com ara manegadors d'events no obtrusius.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
ECMAScript 1a Edició.StandardDefinició inicial. Implementat al JavaScript 1.1
{{SpecName('ES5.1', '#sec-11.4.2', 'The void Operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-void-operator', 'The void Operator')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/operadors/yield/index.html b/files/ca/web/javascript/referencia/operadors/yield/index.html deleted file mode 100644 index d01f641767..0000000000 --- a/files/ca/web/javascript/referencia/operadors/yield/index.html +++ /dev/null @@ -1,152 +0,0 @@ ---- -title: yield -slug: Web/JavaScript/Referencia/Operadors/yield -translation_of: Web/JavaScript/Reference/Operators/yield ---- -
{{jsSidebar("Operators")}}
- -

Resum

- -

La paraula clau yield s'utilitza per a pausar i reprendre una funció generadora ({{jsxref("Statements/function*", "function*")}} o bé una funció generadora obsoleta).

- -

Sintaxi

- -
 yield [[expressió]];
- -
-
expressió
-
La expresssió a retornar. Si s'omet es retorna undefined.
-
- -

Descripció

- -

La paraula clau yield causa que l'execució d'una funció generadora es pausi i retorni el valor de l'expressió que la segueix. La paraula clau yield es pot entendre com una versió de la paraula clau return per a generadors.

- -

La paraula clau yield retorna en realitat un objecte de tipus IteratorResult amb dues propietats: value i done. La propietat value és el resultat d'evaluar l'expresssió que segueix yield mentre que la propietat done és de tipus booleà i indica si la funció generadora ha completat la seva execució o no.

- -

Un cop pausada mitjançant una expressió yield, l'execució de codi del generador no es reprendrà a no ser que s'invoqui externament mitjançant la crida a la funció next() del generador. Això permet un control directe de l'execució del generador i valors de retorn incrementals.

- -

Exemples

- -

El següent codi és un exemple de la declaració d'una funció generadora al llarg d'una funció d'ajut.

- -
function* foo(){
-  var index = 0;
-  while (index <= 2) // quan index arriba a 3,
-                     // la propietat done del yield serà true
-                     // i el seu valor serà undefined;
-    yield index++;
-}
- -

Un cop la funció generadora és definida es pot utilitzar tot construïnt un iterador tal i com es mostra a continuació:

- -
var iterator = foo();
-console.log(iterator.next()); // { value:0, done:false }
-console.log(iterator.next()); // { value:1, done:false }
-console.log(iterator.next()); // { value:2, done:false }
-console.log(iterator.next()); // { value:undefined, done:true }
- -

Especificacions

- - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#', 'Yield')}}{{Spec2('ES6')}}Definició inicial
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari (WebKit)
Suport bàsic39{{CompatGeckoDesktop("26.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
Objecte IteratorResult en comptes de throwing{{CompatUnknown}}{{CompatGeckoDesktop("29.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsicyes (when?){{CompatGeckoMobile("26.0")}}{{CompatUnknown}}{{ CompatUnknown}}{{CompatUnknown}}
Objecte IteratorResult en comptes de throwing{{CompatUnknown}}{{CompatGeckoMobile("29.0")}}{{CompatUnknown}}{{CompatUnknown}}{{CompatUnknown}}
-
- -

Notes específiques per a Firefox

- -
    -
  • A partir de Gecko 29 {{geckoRelease(29)}} la funció generadora, un cop completada, no llença un {{jsxref("TypeError")}} "generator has already finished" sino que retorna un objecte de tipus IteratorResult com per exemple { value: undefined, done: true } ({{bug(958951)}}).
  • -
  • A partir de Gecko 33 {{geckoRelease(33)}} l'anàlisi de l'expressió que segueix al yield s'ha actualitzat per a satisfer l'especificació de ES6 ({{bug(981599)}}): -
      -
    • L'expressió que segueix la paraula clau yield és opcional i si s'omet ja no es llença SyntaxError: function* foo() { yield; }
    • -
    -
  • -
- -

Vegeu tambè

- -
    -
  • El protocol dels iteradors
  • -
  • {{jsxref("Statements/function*", "function*")}}
  • -
  • {{jsxref("Operators/function*", "function* expression")}}
  • -
  • {{jsxref("Operators/yield*", "yield*")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/block/index.html b/files/ca/web/javascript/referencia/sentencies/block/index.html deleted file mode 100644 index cfa5d7fd20..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/block/index.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: block -slug: Web/JavaScript/Referencia/Sentencies/block -translation_of: Web/JavaScript/Reference/Statements/block ---- -
-
{{jsSidebar("Statements")}}
-
- -

Resum

- -

Una sentència bloc (o sentència composta en altres llengües) s'usa per agrupar zero o més sentències. El bloc està delimitat per un parell de claus.

- -

Sintaxi

- -
{
-  sentència_1;
-  sentència_2;
-  ...
-  sentència_n;
-}
-
- -
-
statement_1, statement_2, statement_n
-
Sentències agrupades dins la sentència block.
-
- -

Descripció

- -

Aquesta sentència s'utilitza normalment amb les sentències de control de flux (p.ex. if, for, while). Per exemple:

- -
while (x < 10) {
-  x++;
-}
-
- -

Tingueu en compte que la sentència block no acaba amb un punt i coma.

- -

La sentència bloc sovint s'anomena sentència composta en altres llengües. Aquesta sentència permet usar múltiples sentències allà on JavaScript espera només una única sentència. Combinar sentències en blocs és una pràctica comuna en JavaScript. El comportament oposat és possible fent servir una sentència buida, on no es proporciona cap declaració, encara que es requereixi una.

- -

Fora de l'àmbit del bloc

- -

Important: Les variables declarades amb var no tenen àmbit de bloc. Les variables introduïdes amb un bloc estàn en l'àmbit de la funció o l'script que els conté, i els efectes d'establir-los persisteixen més enllà del mateix bloc. En altres paraules, les sentències de bloc no introdueixen un àmbit. Encara que els blocs "independents" són sintàcticament vàlids, no és desitjable usar-los en JavaScript, ja que no fan el que pensem que fan, en el cas que penseu que fan alguna cosa semblant als blocs en C o Java. Per exemple:

- -
var x = 1;
-{
-  var x = 2;
-}
-console.log(x); // logs 2
-
- -

Això registra 2 ja que la sentència var x dins el bloc es troba en el mateix àmbit que la sentència var x anterior al bloc. En C o Java, el codi equivalent hauria emès 1.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacionsEstatComentaris
1a edició d'ECMAScript.EstàndardDefinició inicial. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-12.1', 'Block statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-block', 'Block statement')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Statements/while", "while")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/break/index.html b/files/ca/web/javascript/referencia/sentencies/break/index.html deleted file mode 100644 index d71eff620d..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/break/index.html +++ /dev/null @@ -1,154 +0,0 @@ ---- -title: break -slug: Web/JavaScript/Referencia/Sentencies/break -translation_of: Web/JavaScript/Reference/Statements/break ---- -
{{jsSidebar("Statements")}}
- -

La sentència break acaba el bucle actual, {{jsxref("Statements/switch", "switch")}}, o una sentència {{jsxref("Statements/label", "label")}} i transfereix el control de programa a la sentència següent de la sentència acabada.

- -

Sintaxi

- -
break [etiqueta];
- -
-
Etiqueta
-
Opcional. És l'identificador associat amb l'etiqueta de la sentència. Si la sentència no és un bucle o un {{jsxref("Statements/switch", "switch")}}, això és necessari.
-
- -

Descripció

- -

La sentència break inclou una etiqueta opcional que permet al programa sortir de la sentència etiquetada. La sentència break necessita ser imbricada dins l'etiqueta de referència. La sentència etiquetada pot ser qualsevol sentència {{jsxref("Statements/block", "block")}}, no ha de ser precedida per una sentència de bucle.

- -

Exemples

- -

La funció següent té una sentència break que acaba amb el bucle{{jsxref("Statements/while", "while")}} quan i és 3, per després retornar el valor 3 * x.

- -
function testBreak(x) {
-  var i = 0;
-
-  while (i < 6) {
-    if (i == 3) {
-      break;
-    }
-    i += 1;
-  }
-
-  return i * x;
-}
- -

El codi següent utilitza sentències break amb blocs etiquetats. Una sentència break ha de ser imbricada dins de qualsevol etiqueta que fa referència. Vegeu que inner_block és troba imbricada dins outer_block.

- -
outer_block: {
-  inner_block: {
-    console.log('1');
-    break outer_block; // surt tan de inner_block com de outer_block
-    console.log(':-('); // es salta
-  }
-  console.log('2'); // es salta
-}
-
- -

El codi següent també utilitza sentències break amb blocs etiquetats però cenera un Syntax Error perquè la sentència break es troba dins de block_1 però fa referència a block_2. Una sentència break ha d'estar sempre imbricada dins de l'eitqueta a la que fa referència.

- -
block_1: {
-  console.log('1');
-  break block_2; // SyntaxError: etiqueta no trobada
-}
-
-block_2: {
-  console.log('2');
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Versió no etiquetada.
{{SpecName('ES3')}}{{Spec2('ES3')}}versió etiquetada afegida.
{{SpecName('ES5.1', '#sec-12.8', 'Break statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-break-statement', 'Break statement')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Statements/continue", "continue")}}
  • -
  • {{jsxref("Statements/label", "label")}}
  • -
  • {{jsxref("Statements/switch", "switch")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/buida/index.html b/files/ca/web/javascript/referencia/sentencies/buida/index.html deleted file mode 100644 index 6800d476f8..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/buida/index.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: Buida -slug: Web/JavaScript/Referencia/Sentencies/Buida -translation_of: Web/JavaScript/Reference/Statements/Empty ---- -
-
{{jsSidebar("Statements")}}
-
- -

Resum

- -

Una sentència buida es fa servir per no proveïr cap sentència, encara que la sintaxi de JavaScript n'esperaria una.

- -

Sintaxi

- -
;
-
- -

Descripció

- -

La sentència buida és un punt i coma (;) que indica que cap sentència s'executarà, encara que la sintaxi de JavaScript en requereixi una. Pel contrari, quan es vol realitzar múltiples sentències, però JavaScript només en permet un, és possible realitzar-ho mitjançant l'ús d'una sentència de block; que combina diverses sentències en una única sentència.

- -

Exemples

- -

La sentència buida sovint s'utilitza amb sentències de bucles. Vegeu l'exemple segúent amb el cos del bucle buit:

- -
var arr = [1, 2, 3];
-
-// Assign all array values to 0
-for (i = 0; i < arr.length; arr[i++] = 0) /* empty statement */ ;
-
-console.log(arr)
-// [0, 0, 0]
-
- -

Nota: És una bona idea comentar l'ús intencional de la sentència buida, ja que no és fa molt obvi diferenciar-lo d'un punt i coma normal. En el següent exemple l'ús probablement no és intencional:

- -
if (condition);       // Caution, this "if" does nothing!
-   killTheUniverse()  // So this gets always executed!!!
-
- -

Un altre exemple: Una sentència if...else sense claus ({}). Si tres és cert, no passarà res, four does not matter, ni tampoc s'executarà la funció launchRocket() en el cas else.

- -
if (one)
-  doOne();
-else if (two)
-  doTwo();
-else if (three)
-  ; // nothing here
-else if (four)
-  doFour();
-else
-  launchRocket();
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-12.3', 'Empty statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-empty-statement', 'Empty statement')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Statements/block", "Block statement")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/continue/index.html b/files/ca/web/javascript/referencia/sentencies/continue/index.html deleted file mode 100644 index a6928d15b7..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/continue/index.html +++ /dev/null @@ -1,199 +0,0 @@ ---- -title: continue -slug: Web/JavaScript/Referencia/Sentencies/continue -translation_of: Web/JavaScript/Reference/Statements/continue ---- -
{{jsSidebar("Statements")}}
- -

La sentència continue acaba l'execució de les sentències en la iteració actual del bucle actual o etiquetat, i continua l'execució del bucle amb la següent iteració.

- -

Sintaxi

- -
continue [etiqueta];
- -
-
Etiqueta
-
Identificador associat amb l'etiqueta de la sentència.
-
- -

Descripció

- -

En contrast amb la sentència {{jsxref("Statements/break", "break")}} , continue no acaba l'execució del bucle: En comptes d'això,

- -
    -
  • En un bucle {{jsxref("Statements/while", "while")}}, salta un altre cop a la condició.
  • -
- -
    -
  • En un bucle {{jsxref("Statements/for", "for")}}, Salta a l'actualització de l'expressió.
  • -
- -

La sentència continue pot incloure una etiqueta opcional que permet al programa saltar a la següent iteració d'una sentència d'un bucle etiquetat en comptes del bucle actual. En aquest cas, la sentència continue necessita trobar-se imbricada dins de la sentència etiquetada.

- -

Exemples

- -

Utilitzar continue amb while

- -

L'exemple següent mostra un bucle{{jsxref("Statements/while", "while")}} que contè una sentència continue que s'executa quan el valor de i és 3. Així doncs, n pren els valors 1, 3, 7, i 12.

- -
var i = 0;
-var n = 0;
-
-while (i < 5) {
-  i++;
-
-  if (i === 3) {
-    continue;
-  }
-
-  n += i;
-}
-
- -

Utilitzar continue amb una etiqueta

- -

En l'exemple següent, una sentència etiquetada checkiandj contè una sentència etiquetada checkj. si es troba un continue, el programa continua al començament de la sentència checkj. Cada cop que es troba continue, checkj reitera fins que la condició retorna falç. Quan es retorna falç, es completa la resta de la sentència checkiandj.

- -

Si continue té una etiqueta de checkiandj, el programa continuarà al començament de la sentència checkiandj.

- -

Vegeu també {{jsxref("Statements/label", "label")}}.

- -
var i = 0;
-var j = 8;
-
-checkiandj: while (i < 4) {
-  console.log("i: " + i);
-  i += 1;
-
-  checkj: while (j > 4) {
-    console.log("j: "+ j);
-    j -= 1;
-
-    if ((j % 2) == 0)
-      continue checkj;
-    console.log(j + " is odd.");
-  }
-  console.log("i = " + i);
-  console.log("j = " + j);
-}
-
- -

Resultat:

- -
"i: 0"
-
-// start checkj
-"j: 8"
-"7 is odd."
-"j: 7"
-"j: 6"
-"5 is odd."
-"j: 5"
-// end checkj
-
-"i = 1"
-"j = 4"
-
-"i: 1"
-"i = 2"
-"j = 4"
-
-"i: 2"
-"i = 3"
-"j = 4"
-
-"i: 3"
-"i = 4"
-"j = 4"
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES1')}}{{Spec2('ES1')}}Definició inicial. Versió sense etiqueta.
{{SpecName('ES3')}}{{Spec2('ES3')}}Versió amb etiqueta afegida.
{{SpecName('ES5.1', '#sec-12.7', 'Continue statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-continue-statement', 'Continue statement')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Statements/break", "break")}}
  • -
  • {{jsxref("Statements/label", "label")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/debugger/index.html b/files/ca/web/javascript/referencia/sentencies/debugger/index.html deleted file mode 100644 index 54d8d02e3d..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/debugger/index.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: debugger -slug: Web/JavaScript/Referencia/Sentencies/debugger -translation_of: Web/JavaScript/Reference/Statements/debugger ---- -
{{jsSidebar("Statements")}}
- -

La sentència debugger invoca qualsevol funcionalitat de depuració disponible, com l'establiment d'un breakpoint (punt de ruptura). Si no hi ha cap funcionalitat de depuració disponible, aquesta sentència queda sense efecte.

- -

Sintaxi

- -
debugger;
- -

Exemples

- -

L'exemple següent mostra un codi on s'ha insertat una sentència de depuració, de forma que es crida un debugger (si existeix) quan es crida la funció.

- -
function potentiallyBuggyCode() {
-    debugger;
-    // codi potencialment erroni a examinar, executar pas a pas, etc.
-}
- -

Quan es crida el debugger, s'atura l'execució a la sentència del debugger. Es com un breakpoint en la font de l'script.

- -

Paused at a debugger statement.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-debugger-statement', 'Debugger statement')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-12.15', 'Debugger statement')}}{{Spec2('ES5.1')}}Definició inicial
{{SpecName('ES3', '#sec-7.5.3', 'Debugger statement')}}{{Spec2('ES3')}} 
{{SpecName('ES1', '#sec-7.4.3', 'Debugger statement')}}{{Spec2('ES1')}}Només mencionat com a paraula reservada.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/sentencies/do...while/index.html b/files/ca/web/javascript/referencia/sentencies/do...while/index.html deleted file mode 100644 index 88f221f83d..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/do...while/index.html +++ /dev/null @@ -1,124 +0,0 @@ ---- -title: do...while -slug: Web/JavaScript/Referencia/Sentencies/do...while -translation_of: Web/JavaScript/Reference/Statements/do...while ---- -
{{jsSidebar("Statements")}}
- -

La sentència do...while crea un bucle que executa una sentència especificada fins que la condició avalui a fals. La condició s'avalua després de la sentència, donant lloc a l'execució de la sentència especificada almenys un cop.

- -

Sintaxi

- -
do
-   sentència
-while (condició);
-
- -
-
sentència
-
Una sentència que s'executa almenys un cop i que es torna a executar cada cop que la condició avalui a certa. Per executar múltiples sentències dins d'un bucle, utilitzeu una sentència {{jsxref("Statements/block", "block")}} ({ ... }) per agrupar aquestes sentències.
-
- -
-
condició
-
Una expressió que s'avalua després de cada volta del bucle. si condició avalua a certa, la sentència es torna a executar. Quan la condició avalua a falç, control passa a la següent sentència que segueix el do...while.
-
- -

Exemples

- -

Utilitzar el do...while

- -

En l'exemple següent, el bucle do...while itera almenys un cop i torna a iterar fins que i deixa de ser més petit que 5.

- -
var i = 0;
-do {
-   i += 1;
-   console.log(i);
-} while (i < 5);
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat en JavaScript 1.2
{{SpecName('ES5.1', '#sec-12.6.1', 'do-while statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-do-while-statement', 'do-while statement')}}{{Spec2('ES6')}}Trailing ; ara és opcional.
- -

Browser compatibility

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}6{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Statements/while", "while")}}
  • -
  • {{jsxref("Statements/for", "for")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/export/index.html b/files/ca/web/javascript/referencia/sentencies/export/index.html deleted file mode 100644 index c1d92ab504..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/export/index.html +++ /dev/null @@ -1,158 +0,0 @@ ---- -title: export -slug: Web/JavaScript/Referencia/Sentencies/export -translation_of: Web/JavaScript/Reference/Statements/export ---- -
{{jsSidebar("Statements")}}
- -

La sentència export s'utilitza per exportar funcions, objectes o valors primitius d'un fitxer donat (o mòdul) per a que els puguin fer servir altres programes amb la sentència {{jsxref("Statements/import", "import")}}.

- -

Els mòduls exportats estan sempre {{jsxref("Strict_mode","strict mode", "", 1)}}  tan si es declaren així com si no. La sentència export no es pot fer servir en mòduls incrustats (embedded).

- -

Sintaxi

- -
export nom1, nom2, ..., nomN;
-export default nom1 
- -
-
nomN
-
Propietat, funció, o objecte que s'ha d'exportar (de manera que es pot importar a través de import en un altre script).
-
- -

Descripció

- -

Hi ha dos tipus diferents d'export:

- -
    -
  • Exportacions nominals (una o més per mòdul): -
    export myFunction; // exporta una funció declarada anteriorment
    -export const foo = Math.sqrt(2); // exporta una constant
    -export let name1, name2, …, nameN;
    -export let name1 = …, name2 = …, …, nameN;
    -export function functionName(){...}
    -export class ClassName {...}
    -
  • -
  • Exportacions per defecte (una per mòdul): -
    export default expression;
    -export default function (…) { … } // també class, function*
    -export default function name1(…) { … } // també class, function*
    -export { name1 as default, … };
    -
  • -
- -

Les exportacions amb nom són útils per exportar diversos valors. Durant la importació, un serà capaç d'utilitzar el mateix nom per referir-se al valor corresponent.

- -

Sobre la exportació per defecte, només pot haver-n'hi una per mòdul. Una exportació per defecte pot ser una funció, una classe un objecte o qualsevol altra cosa. Aquest valor es considerarà el principal valor exportat, ja que serà el més fàcil d'importar.

- -

Exemples

- -

Usant les exportacions nominals

- -

En el mòdul podem fer servir el codi següent:

- -
// "modul.js"
-export function cub(x) {
-  return x * x * x;
-}
-const foo = Math.PI + Math.SQRT2;
-export foo;
-
- -

Així, en un altre mòdul podem tenir:

- -
import { cub, foo } from 'modul.js';
-console.log(cub(3)); // 9
-console.log(foo);    // 4.555806215962888
- -

Usant l'exportació per defecte

- -

Si volem exportar un únic valor o tenir un valor per defecte per al nostre mòdul podem fer::

- -
// "modul.js"
-var function cub(x) {
-  return x * x * x;
-}
-export default cub;
- -

Així, en un altre mòdul podem importar directament:

- -
import laFuncio from 'modul';
-console.log(laFuncio(3)); // 9
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES6', '#sec-imports', 'Imports')}}{{Spec2('ES6')}}Definició inicial
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}{{CompatNo}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/sentencies/for...of/index.html b/files/ca/web/javascript/referencia/sentencies/for...of/index.html deleted file mode 100644 index 5cc16f52f8..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/for...of/index.html +++ /dev/null @@ -1,181 +0,0 @@ ---- -title: for...of -slug: Web/JavaScript/Referencia/Sentencies/for...of -translation_of: Web/JavaScript/Reference/Statements/for...of ---- -
-
{{jsSidebar("Statements")}}
-
- -

Resum

- -

La instrucció for...of crea un bucle que itera sobre objectes iterables (incloent {{jsxref("Array")}}, {{jsxref("Map")}}, {{jsxref("Set")}}, l'objecte arguments, etcètera), tot invocant un bloc de codi amb les instruccions a executar per a cada valor de la propietat.

- -

Sintaxi

- -
for (variable of objecte)
-  codi
-
- -
-
variable
-
A cada iteració el valor d'una propietat diferent és asignat a variable.
-
objecte
-
L'objecte del qual s'iteren les propietats, que són iterables.
-
- -

Exemples

- -

Diferència entre for...of i for...in

- -

El següent exemple mostra la diferència entre el bucle for...of i el bucle for...in. Mentre for...in itera sobre noms de propietats, for...of itera sobre els valors de les propietats:

- -
let arr = [3, 5, 7];
-arr.foo = "hola";
-
-for (let i in arr) {
-   console.log(i); // mostra "0", "1", "2", "foo"
-}
-
-for (let i of arr) {
-   console.log(i); // mostra "3", "5", "7"
-}
-
- -

Ús de Array.prototype.forEach()

- -

Per a aconseguir els mateixos valors que s'obtenen amb for...of també es pot utilitzar el mètode {{jsxref("Array.prototype.forEach()")}}:

- -
let arr = [3, 5, 7];
-arr.foo = "hola";
-
-arr.forEach(function (element, index) {
-    console.log(element); // mostra "3", "5", "7"
-    console.log(index);   // mostra "0", "1", "2"
-});
-
-// or with Object.keys()
-
-Object.keys(arr).forEach(function (element, index) {
-    console.log(arr[element]); // mostra "3", "5", "7", "hello"
-    console.log(arr[index]);   // mostra "3", "5", "7"
-});
- -

Iteració de coleccions del DOM

- -

Iterant sobre coleccions del DOM com {{domxref("NodeList")}}: el següent exemple afegeix la classe read als paràgrafs que són descendens directes d'un article:

- -
// Nota: Això només funcionarà en plataformes que
-// implementen NodeList.prototype[Symbol.iterator]
-let articleParagraphs = document.querySelectorAll("article > p");
-
-for (let paragraph of articleParagraphs) {
-  paragraph.classList.add("read");
-}
-
- -

Iteració de generadors:

- -

Els generadors també són iterables:

- -
function* fibonacci() { // una funció generadora
-    let [prev, curr] = [0, 1];
-    for (;;) {
-        [prev, curr] = [curr, prev + curr];
-        yield curr;
-    }
-}
-
-for (let n of fibonacci()) {
-    // trunca la seqüència als 1000
-    if (n > 1000)
-        break;
-    print(n);
-}
-
- -

Especificacions

- - - - - - - - - - - - - - -
EspecificacióEstatComentari
{{SpecName('ES6', '#sec-for-in-and-for-of-statements', 'for...of statement')}}{{Spec2('ES6')}}Definició inicial.
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable()}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatChrome(29)}}[1]
- {{CompatChrome(38)}}
{{CompatGeckoDesktop("13")}}
- {{CompatGeckoDesktop("17")}} (.iterator)
- {{CompatGeckoDesktop("27")}} ("@@iterator")
- {{CompatGeckoDesktop("36")}} (Symbol.iterator)
{{CompatNo}}257.1
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatUnknown}}{{CompatChrome(29)}}[1]
- {{CompatChrome(38)}}
{{CompatGeckoMobile("13")}}
- {{CompatGeckoMobile("17")}} (.iterator)
- {{CompatGeckoMobile("27")}} ("@@iterator")
- {{CompatGeckoMobile("36")}} (Symbol.iterator)
{{CompatUnknown}}{{CompatUnknown}}iOS 8
-
- -

[1] La característica està disponible sota una preferència. A chrome://flags/#enable-javascript-harmony, activar la entrada “Enable Experimental JavaScript”.

- -

Vegeu també

- -
    -
  • for each...in - una instrucció similar, però itera els valors de les propietats d'un objecte en comptes de les propietats mateixes de l'objecte (en desús).
  • -
  • {{jsxref("Array.prototype.forEach()")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/for/index.html b/files/ca/web/javascript/referencia/sentencies/for/index.html deleted file mode 100644 index 00a16b62df..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/for/index.html +++ /dev/null @@ -1,190 +0,0 @@ ---- -title: for -slug: Web/JavaScript/Referencia/Sentencies/for -translation_of: Web/JavaScript/Reference/Statements/for ---- -
-
{{jsSidebar("Statements")}}
-
- -

Resum

- -

La sentència for crea un bucle que consta de tres expressions opcionals, embolcallades entre paràntesis i separades per punts i comes, seguits d'una sentència o un grup de sentències executades en el bucle.

- -

Sintaxi

- -
for ([inicialització]; [condició]; [expressió final])
-   sentència
-
- -
-
inicialització
-
Una expressió (incloent expressions d'assignació) o declaració de variables. Normalment s'usa per inicialitzar una variable al contador. Opcionalment aquesta expressió pot declarar noves variables amb la paraula clau var.  Aquestes variables no sóc locals pel bucle, és a dir, es troben en el mateix àmbit en que es troba el bucle for. El resultat d'aquesta expressió es descarta.
-
condició
-
Una expressió que s'avalua abans de cada iteració del bucle. Si aquesta expressió s'avalua true, s'executa la sentència. Aquesta prova condicional és opcional. Si s'omet, la condició sempre avalua true. Si l'expressió avalua a false, l'execució salta a la primera expressió que es trobi després del constructe for.
-
Expressió final
-
Una expressió per ser avaluada al final de cada iteració del bucle. Això passa abans de la següent avaluació de condició. Generalment s'usa per actualitzar o incrementar la variable contador.
-
sentència
-
Una sentència que s'executa mentre la condició avalui a true. Per executar múltiples sentències dins el bucle, utilitzeu una sentència block ({ ... }) per agrupar aquestes sentències. Per no executar cap sentència dins el bucle, utilitzeu una sentència buida  (;).
-
- -

Exemples

- -

Exemple: Fer servir for

- -

La següent sentència for comença declarant la variable i i l'inicialitza a 0. Comprova que  i és menor que nou, realitza les dues sentències següents, i incrementa i per 1 després de cada pas pel bucle.

- -
for (var i = 0; i < 9; i++) {
-   console.log(i);
-   // more statements
-}
-
- -

Exemple: Expressions for opcionals

- -

Les tres expressions en la capçalera del bucle for són opcionals.

- -

Per exemple, enel bloc d'inicialització no es requereix inicialitzar les variablesblock it is not required to initialize variables:

- -
var i = 0;
-for (; i < 9; i++) {
-    console.log(i);
-    // more statements
-}
-
- -

Com el bloc d'inicialització, el bloc de condició també és opcional. Si s'omet aquesta expressió, s'ha de d'assegurar de trencar el bucle en el cos per evitar crear un bucle infinit.

- -
for (var i = 0;; i++) {
-   console.log(i);
-   if (i > 3) break;
-   // more statements
-}
- -

També es pot ometre els tres blocs. Un alre cop, assegureu-vos de fer servir la sentència break per finalitzar el bucle i també modificar (incrementar) una variable, de forma que la condició per la sentència break esdevé certa en algun moment determinat.

- -
var i = 0;
-
-for (;;) {
-  if (i > 3) break;
-  console.log(i);
-  i++;
-}
-
- -

Exemple: Fer servir for amb una sentència buida

- -

El cicle for següent callcula la possició de desplaçament d'un node en la secció  [expressió final], i per tant no requereix l'ús d'una sentència o secció de sentències block, es fa servir una sentència buida en el seu lloc.

- -
function showOffsetPos (sId) {
-  var nLeft = 0, nTop = 0;
-
-  for (var oItNode = document.getElementById(sId); // initialization
-       oItNode; // condition
-       nLeft += oItNode.offsetLeft, nTop += oItNode.offsetTop, oItNode = oItNode.offsetParent) // final-expression
-       /* empty statement */ ;
-
-  console.log("Offset position of \"" + sId + "\" element:\n left: " + nLeft + "px;\n top: " + nTop + "px;");
-}
-
-// Example call:
-
-showOffsetPos("content");
-
-// Output:
-// "Offset position of "content" element:
-// left: 0px;
-// top: 153px;"
- -
Nota: En aquest cas, quan no es fa servir la secció sentència, es fica un punt i coma immediatament despres de la declaració del cicle.
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-12.6.3', 'for statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-for-statement', 'for statement')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Statements/break", "break")}}
  • -
  • {{jsxref("Statements/continue", "continue")}}
  • -
  • {{jsxref("Statements/empty", "empty")}}
  • -
  • {{jsxref("Statements/while", "while")}}
  • -
  • do...while
  • -
  • for...in
  • -
  • for...of
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/function/index.html b/files/ca/web/javascript/referencia/sentencies/function/index.html deleted file mode 100644 index 37deff748f..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/function/index.html +++ /dev/null @@ -1,171 +0,0 @@ ---- -title: function -slug: Web/JavaScript/Referencia/Sentencies/function -translation_of: Web/JavaScript/Reference/Statements/function ---- -
-
{{jsSidebar("Statements")}}
-
- -

Resum

- -

La declaració d'una funció defineix una funció amb uns paràmetres especificats.

- -
-

També podeu definir funcions fent servir el constructor {{jsxref("Function")}} i un {{jsxref("Operators/function", "function expression")}}.

-
- -

Sintaxi

- -
function nom([paràm,[, paràm,[..., paràm]]]) {
-   [sentències]
-}
-
- -
-
nom
-
El nom de la funció.
-
- -
-
paràm
-
El nom d'un argument que se li passarà a la funció. Una funció pot arribar a tenir fins a 255 arguments.
-
- -
-
sentències
-
Les sentències que comprenen el cos de la funció.
-
- -

Descripció

- -

Una funció creada amb una declaració d'una funció és un objecte Function i té totes les propietats, mètodes i comportament dels objectes Function. Vegeu {{jsxref("Function")}} per informació detallada sobre funcions.

- -

Una funció també es pot crear fent servir una expressió (vegeu {{jsxref("Operators/function", "function expression")}}).

- -

Per defecte, les funcions retornen undefined. Per tal de retornar qualsevol altre valor, la funció ha de tenir una sentència {{jsxref("Statements/return", "return")}} que especifiqui el valor que retorna.

- -

Funcions creades de forma condicional

- -

Les funcions poden ser declarades de forma condicional, és a dir, una sentència d'una funció pot estar aniuada dins d'una sentència if. La majoria de navegadors que no siguin Mozilla tractaran aquestes declaracions condicionals com a declaracions incondicionals i crearàn la funció tant si la condició és vertadera o falsa, vegeu aquest article per una visió general. Per tant, no s'haurien de fer servir, per creacions condicionals feu servir expressions de funcions.

- -

Declarar les funcions abans de definir-les (hosting)

- -

Function declarations in JavaScript are hoisting the function definition. En Javascript es pot ser cridar una funció abans de declarar-la. En anglès existeix un ver:

- -
hoisted(); // logs "foo"
-
-function hoisted() {
-  console.log("foo");
-}
-
- -

Vegeu que {{jsxref("Operators/function", "function expressions")}} no estan hoisted:

- -
notHoisted(); // TypeError: notHoisted is not a function
-
-var notHoisted = function() {
-   console.log("bar");
-};
-
- -

Exemples

- -

Exemple: Fer servir function

- -

El codi següent declara una funció que retorna la quantitat total de vendes, quan se li dóna el nombre d'unitat venudes d' a, b, i c.

- -
function calc_sales(units_a, units_b, units_c) {
-   return units_a*79 + units_b * 129 + units_c * 699;
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició iniciañ. Implementat en JavaScript 1.0
{{SpecName('ES5.1', '#sec-13', 'Function definition')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-function-definitions', 'Function definitions')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Functions_and_function_scope", "Functions and function scope")}}
  • -
  • {{jsxref("Function")}}
  • -
  • {{jsxref("Operators/function", "function expression")}}
  • -
  • {{jsxref("Statements/function*", "function* statement")}}
  • -
  • {{jsxref("Operators/function*", "function* expression")}}
  • -
  • {{jsxref("GeneratorFunction")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/if...else/index.html b/files/ca/web/javascript/referencia/sentencies/if...else/index.html deleted file mode 100644 index b45e9bea3c..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/if...else/index.html +++ /dev/null @@ -1,203 +0,0 @@ ---- -title: if...else -slug: Web/JavaScript/Referencia/Sentencies/if...else -translation_of: Web/JavaScript/Reference/Statements/if...else ---- -
-
{{jsSidebar("Statements")}}
-
- -

Resum

- -

La sentència if executa una sentència si una condició especificada és certa. Si la condició és falsa, opcionalment s'executa una declaració diferent.

- -

Sintaxi

- -
if (condició)
-   sentència1
-[else
-   sentència2]
-
- -
-
condició
-
Una expressió que esdevé o certa o falsa.
-
- -
-
sentència1
-
És la sentència que s'executa si la condició esdevé certa. Pot ser qualsevol declaració, incloent més sentències if aniuades. Per executar múltimples sentències, es fa servir una sentència block ({ ... }) per agrupar aquestes sentències, si no es vol executar cap sentència, es fa servir una sentència buida.
-
- -
-
sentència2
-
La sentència que s'executa si la condition esdevé falsa i hi ha la clàusula else. Pot ser qualsevol sentència, incloent sentències en block i més sentències if aniuades.
-
- -

Descripció

- -

Múltiples sentències if...else poden aniuar-se per crear una clàusula else if. Fixeu-vos que no hi ha la paraula clau elseif (en una paraula) en JavaScript.

- -
if (condició1)
-   sentència1
-else if (condició2)
-   sentència2
-else if (condició3)
-   sentència3
-...
-else
-   sentènciaN
-
- -

Per veure com funciona, així es com es veuria amb l'aniuament degudament indentat.

- -
if (condició1)
-   sentència1
-else
-   if (condició2)
-      sentència2
-   else
-      if (condició3)
-...
-
- -

Per executar múltiples sentències dins una clàusula, utilitzeu una sentència block ({ ... }) per agrupar aquestes sentències. En general, és una bona pràctica utilitzar sempre sentències de block, especialment en codi que inclogui sentències if aniuades:

- -
if (condició) {
-   sentència1
-} else {
-   sentència2
-}
-
- -

No confongueu els valors booleans primitius true i false amb els valors cert i fals de l'objecte Boolean. Qualsevol valor que no sigui undefined, null, 0, NaN, o una cadena buida (""), i qualsevol objecte, incloent un objecte Boolean que tingui el valor fals, esdevé cert quan es passa a una sentència condicional. Per exemple:

- -
var b = new Boolean(false);
-if (b) // this condition evaluates to true
-
- -

Exemples

- -

Exemple: Fer servir if...else

- -
if (cipher_char === from_char) {
-   result = result + to_char;
-   x++;
-} else {
-   result = result + clear_char;
-}
-
- -

Exemple: Fer servir else if

- -

Vegeu que no hi ha cap sintaxi elseif en JavaScript. Tanmateix, es pot escriure amb un espai entre else i if:

- -
if (x > 5) {
-
-} else if (x > 50) {
-
-} else {
-
-}
- -

Exemple: Assignació dins l'expressió condicional

- -

És recomanable no utilitzar assignacions simples en una expressió condicional, atès que l'assignació es pot confondre amb l'igualtat quan es mira per sobre el codi. Per exemple, no utilitzeu el codi següent:

- -
if (x = y) {
-   /* do the right thing */
-}
-
- -

Si necessiteu usar una assignació dins d'una expressió condicional, una pràctica comuna és ficar parèntesis addicionals embolcallant l'assignació. Per exemple:

- -
if ((x = y)) {
-   /* do the right thing */
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacóEstatComentaris
1a edició de ECMAScript.EstàndardDefinció inicial.
{{SpecName('ES5.1', '#sec-12.5', 'if statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-if-statement', 'if statement')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- -
    -
  • {{jsxref("Statements/block", "block")}}
  • -
  • {{jsxref("Statements/switch", "switch")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sentencies/index.html b/files/ca/web/javascript/referencia/sentencies/index.html deleted file mode 100644 index e91e446cbf..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/index.html +++ /dev/null @@ -1,129 +0,0 @@ ---- -title: Statements and declarations -slug: Web/JavaScript/Referencia/Sentencies -tags: - - JavaScript - - NeedsTranslation - - Reference - - TopicStub - - statements -translation_of: Web/JavaScript/Reference/Statements ---- -
{{jsSidebar("Statements")}}
- -

Les aplicacions de JavaScript consisteixen en sentències amb una sintaxi adequada. Una sola sentència pot ocupar múltiples línies. Múltiples sentències poden donar-se en una sola línia si cada sentència és separada per un punt i coma. Això no és una paraula clau sino un grup de paraules claus.

- -

Sentències i declaracions per categoria

- -

Per a un llistat alfabetic vegeu el menú de l'esquerra.

- -

Control de fluxe

- -
-
{{jsxref("Sentencies/block", "Block")}}
-
Una sentència bloc s'utilitza per a agrupar zero o més sentències. El bloc és delimitat per un parell de claus {}.
-
{{jsxref("Sentencies/break", "break")}}
-
Acaba la sentència bucle, switch o label actual i transfereix el control del programa a la sentència que segueix la sentència que tot just s'ha acabat.
-
{{jsxref("Sentencies/continue", "continue")}}
-
Acaba l'execució de les sentències de la iteració del bucle actual o bé del bucle especificat, i continua l'execució del bucle amb la següent iteració.
-
{{jsxref("Sentencies/Empty", "Empty")}}
-
Una sentència buida s'utilitza per a proporcionar una sentència que no fa res quan JavaScript espera una sentència però no se'n necesita executar cap.
-
{{jsxref("Sentencies/if...else", "if...else")}}
-
Executa una sentència si la condició especificada és certa. Si la condició és falsa una altra sentència pot ser executada.
-
{{jsxref("Sentencies/switch", "switch")}}
-
Evalua una expressió, compara el resultat de l'evaluació amb una clàusula de tipus case i executa la sentència pertanyent a la clàusula case que és igual a l'evaluació de l'expressió.
-
{{jsxref("Sentencies/throw", "throw")}}
-
Llença una excepció definida per l'usuari.
-
{{jsxref("Sentencies/try...catch", "try...catch")}}
-
Executa un bloc de sentències i, en cas que alguna sentència del bloc llenci una excepció, executa una sentència alternativa.
-
- -

Declaracions

- -
-
{{jsxref("Sentencies/var", "var")}}
-
Declara una variable, opcionalment li assigna un valor.
-
{{experimental_inline()}} {{jsxref("Sentencies/let", "let")}}
-
Declara un bloc de variables d'àmbit local, opcionalment li assigna un valor.
-
{{experimental_inline()}} {{jsxref("Sentencies/const", "const")}}
-
Declara una constant de només lectura.
-
- -

Funcions

- -
-
{{jsxref("Sentencies/function", "function")}}
-
Declara una funció amb els paràmetres especificats.
-
{{experimental_inline()}} {{jsxref("Sentencies/function*", "function*")}}
-
Funcions generadores que permeten escriure iteradors de forma més senzilla.
-
{{jsxref("Sentencies/return", "return")}}
-
Especifica el valor que retornarà una funció.
-
- -

Iteracions

- -
-
{{jsxref("Sentencies/do...while", "do...while")}}
-
Crea un bucle que executa una sentència especificada fins que la condició de test s'evalua a fals. La condició s'evalua després d'executar la sentència, resultant en que la sentència especificada s'executa al menys un cop.
-
{{jsxref("Sentencies/for", "for")}}
-
Crea un bucle que sonsisteix en tres expressions opcionals embolcallades per parèntesi i separades per punts i coma, seguides d'una sentència que s'executarà en el bucle.
-
{{deprecated_inline()}} {{non-standard_inline()}} {{jsxref("Sentencies/for_each...in", "for each...in")}}
-
Itera sobre tots els valors de les propietats d'un objecte, assignant a una variable determinada el seu valor. Per a cada propietat distinta s'executa una sentència.
-
{{jsxref("Sentencies/for...in", "for...in")}}
-
Itera sobre les propietats enumerables d'un objecte en un ordre arbitrari. Per a cada propietat distinta s'executa una sentència.
-
{{experimental_inline()}} {{jsxref("Sentencies/for...of", "for...of")}}
-
Itera sobre objectes iterables (incloent arrays, objectes similar a arrays, iteradors i generadors), executant una sentència per al valor de cada propietat distinta.
-
{{jsxref("Sentencies/while", "while")}}
-
Crea un bucle que executa la sentència donada mentre una condició sigui certa. La condició s'evalua abans d'executar la sentència.
-
- -

Altres

- -
-
{{jsxref("Sentencies/debugger", "debugger")}}
-
Invoca qualsevol funcionalitat de depuració que estigui disponible. Si no hi ha cap funcionalitat de depuració disponible aquesta sentència no te cap efecte.
-
{{experimental_inline()}} {{jsxref("Sentencies/export", "export")}}
-
Utilitzada per a exportar funcions per a que aquestes estiguin disponibles per a imports a mòduls externs, en altres scripts.
-
{{experimental_inline()}} {{jsxref("Sentencies/import", "import")}}
-
Utilitzada per a importar funcions exportades d'un mòdul extern, un altre script.
-
{{jsxref("Sentencies/label", "label")}}
-
Asigna un identificador a una sentència. Aquest identificador pot ser emprat en sentències break o continue.
-
- -
-
{{deprecated_inline()}} {{jsxref("Sentencies/with", "with")}}
-
Extèn la cadena d'àmbit per a una sentència.
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentari
ECMAScript 1a EdicióStandardDefinició inicial.
{{SpecName('ES5.1', '#sec-12', 'Statements')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-ecmascript-language-statements-and-declarations', 'Llenguatge ECMAScript: Sentències i declaracions')}}{{Spec2('ES6')}}Nou: function*, let, for...of, yield
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/sentencies/return/index.html b/files/ca/web/javascript/referencia/sentencies/return/index.html deleted file mode 100644 index 5b3c3e902a..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/return/index.html +++ /dev/null @@ -1,183 +0,0 @@ ---- -title: return -slug: Web/JavaScript/Referencia/Sentencies/return -translation_of: Web/JavaScript/Reference/Statements/return ---- -
-
{{jsSidebar("Statements")}}
-
- -

Resum

- -

La sentència return finalitza l'execució de la funció i especifica un valor que retornarà a la funció que l'ha cridat.

- -

Sintaxi

- -
return [[expressió]]; 
- -
-
expressió
-
L'expressió que retorna. En cas d'ometre-s, es retorna undefined.
-
- -

Descripció

- -

Quan una sentència return és cridada dins una funció, l'execució d'aquesta funció s'atura. En cas d'especificar-se, un valor donat és retornat a la funció que l'ha cridat. Si s'omet l'expressió, es retornarà undefined. En les següents sentències return totes aturen l'execució de la funció:

- -
return;
-return true;
-return false;
-return x;
-return x + y / 3;
-
- -

Insersió automàtica de punt i coma

- -

La sentència return es veu afectada per la insersió automàtica de punt i coma (). No hi ha cap final de línia entre la paraula clau return i l'expressió permesa.

- -
return
-a + b;
-
-// is transformed by ASI into
-
-return;
-a + b;
-
- -

Exemples

- -

Exemple: Fer servir return

- -

La següent funció retorna el quadrat del seu argument, x, on x és un nombre.

- -
function square(x) {
-   return x * x;
-}
-
- -

Exemple: Interrompre una funció

- -

Una funció s'atura immediatament en el moment en que es crida return.

- -
function counter() {
-  for (var count = 1; ; count++) {  // infinite loop
-    console.log(count + "A"); // until 5
-      if (count === 5) {
-        return;
-      }
-      console.log(count + "B");  // until 4
-    }
-  console.log(count + "C");  // never appears
-}
-
-counter();
-
-// Output:
-// 1A
-// 1B
-// 2A
-// 2B
-// 3A
-// 3B
-// 4A
-// 4B
-// 5A
-
- -

Exemple: Returning a function

- -

Per més informació sobre closures, llegiu la Guia de JavaScript.

- -
function magic(x) {
-  return function calc(x) { return x * 42};
-}
-
-var answer = magic();
-answer(1337); // 56154
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició de ECMAScriptEstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-12.9', 'Return statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-return-statement', 'Return statement')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/sentencies/throw/index.html b/files/ca/web/javascript/referencia/sentencies/throw/index.html deleted file mode 100644 index 37d13b964b..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/throw/index.html +++ /dev/null @@ -1,228 +0,0 @@ ---- -title: throw -slug: Web/JavaScript/Referencia/Sentencies/throw -translation_of: Web/JavaScript/Reference/Statements/throw ---- -
{{jsSidebar("Statements")}}
- -

La sentència throw llença una excepció definida per l'usuari. L'execució de la funció actual s'aturarà (les sentències de després de throw no s'executaran) i es passarà el control al primer bloc catch en la pila de crides. Si no existeix cap bloc catch en les funcions de crides, el programa s'acabarà.

- -

Sintaxi

- -
throw expressió; 
- -
-
expressió
-
L'expressió que es llença.
-
- -

Descripció

- -

Utilitzeu una sentència throw per llençar una excepció. Quan es llença l'excepció, expression especifica el valor de l'excepció. Cadascun dels exemples següents llença una excepció:

- -
throw "Error2"; // genera una excepció amb un valor tipus cadena
-throw 42;       // genera una excepció amb el valor 42
-throw true;     // genera una excepció amb el valor true
- -

Tingueu en compte que la sentència throw queda afectada per insersió automàtica de punts i comes (ASI) ja que no es permet cap final de línia entre la paraula clau throw i l'expressió.

- -

Exemples

- -

Llença un objecte

- -

Es pot especificar un objecte quan es llença una excepció. Es pot fer referència a les propietats de l'objecte en el bloc catch. L'exemple següent crea un objecte myUserException de tipus UserException i l'utilitza en una sentència throw.

- -
function UserException(message) {
-   this.message = message;
-   this.name = "UserException";
-}
-function getMonthName(mo) {
-   mo = mo-1; // Adjustar el número de mes per un índex d'array (1=Jan, 12=Dec)
-   var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
-      "Aug", "Sep", "Oct", "Nov", "Dec"];
-   if (months[mo] !== undefined) {
-      return months[mo];
-   } else {
-      throw new UserException("InvalidMonthNo");
-   }
-}
-
-try {
-   // sentències que s'intentarà exxecutar
-   var myMonth = 15; // 15 està fora del rang i llençarà l'excepció
-   monthName = getMonthName(myMonth);
-} catch (e) {
-   monthName = "unknown";
-   logMyErrors(e.message, e.name); // es pasa l'objecte excepció al manegador d'errors
-}
-
- -

Un altre exemple de llençar un objecte

- -

L'exemple següent comprova si una cadena donada és un codi postal per EE.UT. SI el codi postal utilitza un format invàlid, la sentència throw llença una excepció creant un objecte de tipus ZipCodeFormatException.

- -
/*
- * Crea un objecte ZipCode.
- *
- * Els formats acceptats per a un codi postal són:
- *    12345
- *    12345-6789
- *    123456789
- *    12345 6789
- *
- * Si l'argument passat al constructor ZipCode no s'adjusta a
- * un d'aquests patrons, es llença una excepció.
- */
-
-function ZipCode(zip) {
-   zip = new String(zip);
-   pattern = /[0-9]{5}([- ]?[0-9]{4})?/;
-   if (pattern.test(zip)) {
-      // el valor del codi postal serà el primer trobat dins la cadena
-      this.value = zip.match(pattern)[0];
-      this.valueOf = function() {
-         return this.value
-      };
-      this.toString = function() {
-         return String(this.value)
-      };
-   } else {
-      throw new ZipCodeFormatException(zip);
-   }
-}
-
-function ZipCodeFormatException(value) {
-   this.value = value;
-   this.message = "no s'adjusta al format esperat per a un codi postal";
-   this.toString = function() {
-      return this.value + this.message;
-   };
-}
-
-/*
- * Això podria trobar-se en un script que valida adresses d'EE.UU.
- */
-
-const ZIPCODE_INVALID = -1;
-const ZIPCODE_UNKNOWN_ERROR = -2;
-
-function verifyZipCode(z) {
-   try {
-      z = new ZipCode(z);
-   } catch (e) {
-      if (e instanceof ZipCodeFormatException) {
-         return ZIPCODE_INVALID;
-      } else {
-         return ZIPCODE_UNKNOWN_ERROR;
-      }
-   }
-   return z;
-}
-
-a = verifyZipCode(95060);         // retorna 95060
-b = verifyZipCode(9560);          // retorna -1
-c = verifyZipCode("a");           // retorna -1
-d = verifyZipCode("95060");       // retorna 95060
-e = verifyZipCode("95060 1234");  // retorna 95060 1234
-
- -

Rellençar una excepció

- -

Es pot utilitzar throw per rellençar una excepció després de caputrar-la. L'exemple següent captura una excepció amb un valor numèric i el rellença si el valor és major de 50. L'excepció rellençada es propaga fins a la funció que l'envolcalla o al nivell superior de forma que l'usuari ho vegi.

- -
try {
-   throw n; // llença una excepció amb un valor numèric
-} catch (e) {
-   if (e <= 50) {
-      // sentències per manejar excepcions 1-50
-   } else {
-      // no es pot manejar aquesta excepció, per tant es rellença
-      throw e;
-   }
-}
-
- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
{{SpecName('ES3')}}{{Spec2('ES3')}}Definició inicial. Implementat en JavaScript 1.4
{{SpecName('ES5.1', '#sec-12.13', 'throw statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-throw-statement', 'throw statement')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{CompatibilityTable}}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
-
- -

Vegeu també

- - diff --git a/files/ca/web/javascript/referencia/sentencies/while/index.html b/files/ca/web/javascript/referencia/sentencies/while/index.html deleted file mode 100644 index d3997dbefd..0000000000 --- a/files/ca/web/javascript/referencia/sentencies/while/index.html +++ /dev/null @@ -1,131 +0,0 @@ ---- -title: while -slug: Web/JavaScript/Referencia/Sentencies/while -translation_of: Web/JavaScript/Reference/Statements/while ---- -
{{jsSidebar("Statements")}}
- -

Resum

- -

la sentència while crea un bucle que executa una sentència especificada sempre que la condició s'avalui certa. La condició s'avalua abans d'executar la sentència..

- -

Sintaxi

- -
while (condició) {
-  sentència
-}
- -
-
condició
-
Una expressió que s'avalua abans de cada passada del bucle. Si aquesta condició esdevé certa, s'executa la sentència. Quan la condició esdevé falsa, l'execució continua amb la sentència posterior al bucle while.
-
sentència
-
Una sentència que s'executa sempre que la condició esdevingui certa. Per executar múltiples sentències dins un bucle, podeu fer ús de la sentència block ({ ... }) per agrupar aquestes sentències.
-
- -

Exemples

- -

El següent bucle while itera sempre que n sigui menor que tres.

- -
var n = 0;
-var x = 0;
-
-while (n < 3) {
-  n++;
-  x += n;
-}
- -

En cada iteració, el bucle incrementa n i ho suma a x. Per tant, x i n prenen els següents valors:

- -
    -
  • Després de la primera volta: n = 1 i x = 1
  • -
  • Després de la segona volta: n = 2 i x = 3
  • -
  • Després de la tercera volta: n = 3 i x = 6
  • -
- -

Després de completar la tercera volta, la condició n < 3 ja no esdevé més certa, i per tant finalitza el bucle.

- -

Especificacions

- - - - - - - - - - - - - - - - - - - - - - - - -
EspecificacióEstatComentaris
1a edició de ECMAScript.EstàndardDefinició inicial.
{{SpecName('ES5.1', '#sec-12.6.2', 'while statement')}}{{Spec2('ES5.1')}} 
{{SpecName('ES6', '#sec-while-statement', 'while statement')}}{{Spec2('ES6')}} 
- -

Compatibilitat amb navegadors

- -

{{ CompatibilityTable() }}

- -
- - - - - - - - - - - - - - - - - - - -
CaracterísticaChromeFirefox (Gecko)Internet ExplorerOperaSafari
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -
- - - - - - - - - - - - - - - - - - - - - -
CaracterísticaAndroidChrome per AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Suport bàsic{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}{{ CompatVersionUnknown() }}
-
- -

Vegeu també

- -
    -
  • do...while
  • -
  • {{jsxref("Statements/for", "for")}}
  • -
diff --git a/files/ca/web/javascript/referencia/sobre/index.html b/files/ca/web/javascript/referencia/sobre/index.html deleted file mode 100644 index b1fa0734b3..0000000000 --- a/files/ca/web/javascript/referencia/sobre/index.html +++ /dev/null @@ -1,44 +0,0 @@ ---- -title: Sobre aquesta referència -slug: Web/JavaScript/Referencia/Sobre -translation_of: Web/JavaScript/Reference/About ---- -

{{JsSidebar}}

- -

La referència de JavaScript serveix com a repositori de coneixement del llenguatge. Hom trobarà aquí el llenguatge descrit en detall. Durant el transcurs d'escriure codi en JavaScript, aquestes pàgines seran de gran ajut com a referència (d'aquí el títol). Si el que es pretén és aprendre JavaScript, o el que es necessita ajuda a l'hora d'entendre algunes de les seves capacitats o característiques, trobarà la informació que buaca a la guia de JavaScript.

- -

El llenguatge de programació JavaScript està pensat per a ser utilitzat sota un entorn més gran, ja sigui un navegador web, scripts de servidor o quelcom similar. Aquesta referència intenta majoriariament ser agnòstica quant a l'entorn i no per tant no està adreçada únicament a un entorn donat pel navegador web.

- -

On trobar informació sobre JavaScript

- -

La documentació de les característiques bàsiques de Javascript (ECMAScript pur, majoritàriament) inclou el següent:

- - - -

Si s'és nou quant a JavaScript, es recomana començar per la guia. Un cop assolits els fonaments, la referència esdevindrà útil per obtindre més detalls sobre objectes individuals i construccions del llenguatge.

- -

Estructura de la referència

- -

La referència de JavaScript es composa dels següents capítols:

- -
-
Objectes bàsics estandard
-
Aquest capítol documenta tots els objectes standard proporcionats per JavaScript, així com els seus mètodes i propietats.
-
Sentències i declaracions
-
Una aplicació en JavaScript consisteix en un conjunt de sentències amb una sintaxi adequada. Una sola sentència pot ocupar més d'una línia. Tanmateix múltimples sentències poden aparèixer en una única línia si estan separades per un punt i coma (;).
-
Funcions
-
Capítol dedicat a les funcions en JavaScript.
-
Històric de versions
-
Aquest capítol mostra les diferències entre les diferents versions de JavaScript.
-
- -

Més pàgines de referència

- - diff --git a/files/ca/web/opensearch/index.html b/files/ca/web/opensearch/index.html new file mode 100644 index 0000000000..adfa504760 --- /dev/null +++ b/files/ca/web/opensearch/index.html @@ -0,0 +1,33 @@ +--- +title: Addició de motors de cerca a les pàgines web +slug: Addició_de_motors_de_cerca_a_les_pàgines_web +tags: + - Complements + - Connectors_de_cerca +translation_of: Web/OpenSearch +translation_of_original: Web/API/Window/sidebar/Adding_search_engines_from_Web_pages +--- +

El Firefox utilitza codi JavaScript per a instaŀlar connectors de motors de cerca. Pot fer servir 3 formats: MozSearch, OpenSearch i Sherlock. +

Quan un codi JavaScript intenta instaŀlar un connector de cerca, el Firefox mostra un avís demanant a l'usuari permís per a instaŀlar-lo. +

+

Instaŀlació de connectors MozSearch i OpenSearch

+

Per a instaŀlar un connector MozSearch o OpenSearch, cal que utilitzeu el mètode DOM window.external.AddSearchProvider(). La sintaxi d'aquest mètode és: +

+
window.external.AddSearchProvider(URL_motor);
+
+

On URL_motor és l'URL al fitxer XML del connector del motor de cerca.

+
Nota: MozSearch i OpenSearch només funcionen a partir del Firefox 2.
+

Per a més detalls, consulteu Creació de connectors MozSearch. +

+

Instaŀlació de connectors Sherlock

+

Per a instaŀlar un connector Sherlock, cal que es cridi a window.sidebar.addSearchEngine(), la sintaxi és la següent: +

+
window.sidebar.addSearchEngine(URL_motor, URL_icona, Nom_suggerit, Categoria_suggerida);
+
+
  • El paràmetre URL_motor és l'URL al connector Sherlock (un fitxer «.src») per instaŀlar. +
  • URL_icona és l'URL de la icona associada al connector. +
  • El paràmetre Nom_suggerit només s'utilitza quan s'avisa a l'usuari en instaŀlar el connector. Es mostra un missatge de l'estil «Voleu instaŀlar Nom_suggerit de URL_motor?». +
  • El paràmetre sCategoria_suggerida no s'utilitza. Podeu especificar-hi una cadena en blanc ("") o null. +
+

Per a més detalls de Sherlock, visiteu http://developer.apple.com/macosx/sherlock/ +

{{ languages( { "en": "en/Adding_search_engines_from_web_pages", "it": "it/Installare_plugin_di_ricerca_dalle_pagine_web", "ja": "ja/Adding_search_engines_from_web_pages" } ) }} diff --git a/files/ca/web/progressive_web_apps/index.html b/files/ca/web/progressive_web_apps/index.html new file mode 100644 index 0000000000..53bd5eb866 --- /dev/null +++ b/files/ca/web/progressive_web_apps/index.html @@ -0,0 +1,49 @@ +--- +title: Disseny sensible (Responsive design) +slug: Web_Development/Mobile/Responsive_design +translation_of: Web/Progressive_web_apps +translation_of_original: Web/Guide/Responsive_design +--- +

Com una resposta als problemes associats a l'enfoc de desenvolupament basat en dos dissenys web separats per a cada plataforma, mòbil i escriptori, una idea relativament nova (de fet no tant) ha crescut en popularitat: oblidar-se de la detecció del user-agent des del servidor, i sustituir-ho per una plana que respongui del costat del client a les possibilitats del navegador. Aquest enfoc del problema s'ha convingut en anomenar-lo disseny web sensible. Igual que l'enfoc dels dissenys separats, el disseny web sensible té els seus avantatges i inconvenients.

+

Avantatges

+

Encara que inicialment no va ser proposat com a métode de creació de webs per a mòbils, el disseny sensible darrerament ha guanyat força atenció com una manera de construir webs amigables amb els mòbils evitant el doble esforç de desenvolupar un nou disseny només per a aquests dispositius de pantalla petita. Amb aquesta tècnica es pot abordar dos dels tres objectius del desenvolupament web per a mòbils:

+
    +
  • Presentació — Emprant un layout flexible a la teva web juntament amb media queries de CSS [NT: fulls d'estils diferents aplicats pel navegador -compatible amb CSS3- segons les dimensions de la pantalla i altres variables configurables des dels meta-tags HTML], pots fer que la teva web es vegi bé independentment del tamany de la pantalla de l'usuari.
  • +
  • Contingut — Alterant el contingut basant-te en les característiques del navegador via JavaScript, pots adaptar el missatge a cada usuari.
  • +
+

Certament hi ha un quants detalls xulos en aquest enfoc. Donat que no depén de la detecció del user-agent del navegador (des del servidor), és molt més resistent a canvis futurs en els navegadors que l'enfoc de fer un disseny per separat. Per a webs senzilles, pot ser també significativament més senzill d'implementar i mantenir que les altres opcions.

+

Inconvenients

+

Malgrat tot, aquest enfoc també té les seves limitacions. Donat que el contingut és modificat en el navegador amb Javascript, s'aconsella fer canvis mínims en el contingut. Perqué en general, les coses poden anar malament molt ràpidament si intentes modificar dos conjunts de javascript que operen en paralel sobre el mateix DOM de la plana. Aquesta és la principal raó per la qual les aplicacions web no solen emprar aquest enfoc per a les seves versions mòbils.

+

Donar a la teva web actual un disseny sensible d'aquest tipus significa una reescriptura dels teus estils CSS si ara mateix no tens implementat un layout flexible. Encara que això podria ser una bona oportunitat per a modernitzar el CSS de la teva web.

+

Per acabar, donat que has d'afegir més codi al teu javascript existent i als teus estils, l'eficiència d'aquest nou disseny pot estar per sota possiblement de l'enfoc dels dissenys web separats. No hi ha cap manera d'evitar aquest inconvenient, encara que un acurada refactorització del teu codi i dels teus estils pot estalviar-te uns quants bytes.

+

Quan és adient escollir aquesta opció

+

teixido_responsive-300x177.pngTal com s'ha mencionat abans, donat que els canvis de contingut poden ser peliaguts, quan adoptes aquest enfoc de disseny, no podràs donar als teus visitants mòbils una experiència notablement millor sense incrementar significativament la complexitat del teu codi.
+
+ Dit això, si les versions d'escriptori i de mòbil de la teva web són bastant similars llavors aquest enfoc és una gran opció. S'escau molt bé per a webs centrades en els documents que és un cas molt bàsic que encaixa bé en qualsevol dispositiu, com per exemple planes de productes. Notaràs que els exemples a sota són tots blocs o portafolis.

+

Exemples

+

Encara que no és un enfoc tan popular com el dels dissenys separats, augmenta cada dia el nombre de webs emprant el disseny sensible. Afortunadament, puix que tot el codi és per al navegador, si vols veure com un portal web implementa tècnicament aquest disseny és tan senzill com visitar la web i premer "Veure el codi font de la plana". Aquí tens uns quants exemples:

+ +

Malgrat ser un enfoc relativament jove, ja hi han escrites algunes recomanacions de bones pràtiques. Per exemple, si estàs desenvolupant una web desde zero amb aquest disseny sensible en ment, val la pena que primer generis un disseny per a pantalla petita, i d'aquesta manera tindràs en compte des del principi els condicionants d'aquestes pantalles.

+

També és més convenient fer un realçament progressiu dels teus estils en lloc d'amagar elements del teu lloc usant media queries [NT: fulls d'estils css especifics per a certes configuracions de navegador]. D'aquesta manera, els navegadors més antics que poden no ser compatibles amb els media queries encara renderitzaran d'alguna manera el contingut de la web. Una excelent presentació dels avantatges d'aquest métode la trobaràs aquí.

+

Enfocs del desenvoulpament web

+

Fes una ullada als següents articles de fons i d'enfocs i tècniques diferents per resoldre el disseny de webs pels mòbils.

+ +

Llegeix també

+ +
+

Document d'informació original

+

Originalment publicat al 27 Maig, 2011 al bloc Mozilla Webdev com "Approaches to Mobile Web Development Part 3 - Responsive Design", per Jason Grlicky.

+
+

 

diff --git a/files/ca/web/progressive_web_apps/responsive/media_types/index.html b/files/ca/web/progressive_web_apps/responsive/media_types/index.html new file mode 100644 index 0000000000..f3b14fb062 --- /dev/null +++ b/files/ca/web/progressive_web_apps/responsive/media_types/index.html @@ -0,0 +1,402 @@ +--- +title: Mitjà +slug: Web/Guide/CSS/Inici_en_CSS/Mitjà +tags: + - CSS + - 'CSS:Getting_Started' + - Example + - Guide + - Intermediate + - NeedsBeginnerUpdate + - NeedsLiveSample + - NeedsUpdate + - Web +translation_of: Web/Progressive_web_apps/Responsive/Media_types +--- +

{{CSSTutorialTOC}} {{previousPage("/en-US/docs/Web/Guide/CSS/Getting_Started/Tables", "Taules")}}

+ +

Aquesta és la 14th secció de la Part I del tutorial CSS Getting Started Moltes de les pàgines d'aquest tutorial s'han centrat en les propietats CSS i els valors que es poden utilitzar per especificar com mostrar un document. Aquesta pàgina es veu de nou en el propòsit i l'estructura de les fulles d'estil CSS.

+ +

Informació: Mitjà

+ +

El propòsit de CSS és especificar com els documents es presenten a l'usuari. La presentació pot tenir més d'una forma.

+ +

Per exemple, és probable que estigueu llegint aquesta pàgina en un dispositiu de visualització. Però també pot ser que el vulgueu projectar en una pantalla per a una gran audiència, o imprimir-ho. Aquests diferents mitjans poden tenir característiques diferents. CSS proporciona formes de presentar un document de manera diferent en diferents mitjans.

+ +

Per especificar regles que són específiques d'un tipus de mitjà, utilitzeu {{CSSXref("@media")}} seguit pel tipus de mitjà, seguit de claus que tanquen les regles.

+ +
+
Exemple
+ +

Un document, en un lloc web, té una àrea de navegació per permetre a l'usuari moure's pel lloc.

+ +

En el llenguatge de marcat, l'element pare de l'àrea de navegació té el id nav-area. (A {{HTMLVersionInline (5)}}, això pot ser marcat amb l'element {{HTMLElement("nav")}} en lloc de {{HTMLElement("div")}} amb un atribut id.)

+ +

Quan s'imprimeix el document, l'àrea de navegació no té cap propòsit, de manera que la fulla d'estil l'elimina per complet:

+ +
@media print {
+  #nav-area {display: none;}
+  }
+
+
+ +

Alguns dels tipus de mitjans comuns són:

+ + + + + + + + + + + + + + + + + + + + +
screenColor pantalla ordinador
printMitjans paginats
projectionPantalla projectada
allTots els mitjans (per defecte)
+ +
+
Més detalls
+ +

Hi ha altres formes d'especificar el tipus de mitjà d'un conjunt de regles.

+ +

El llenguatge de marcat del document pot permetre que s'especifiqui el tipus de mitjà quan la fulla d'estil està vinculada al document. Per exemple, en HTML es pot especificar opcionalment el tipus de mitjà amb un atribut media en l'etiqueta LINK.

+ +

En CSS podeu utilitzar {{CSSXref("@import")}} a l'inici d'una fulla d'estil per importar un altre fulla d'estil des d'una URL, especificant opcionalment el tipus de mitjà.

+ +

Mitjançant l'ús d'aquestes tècniques es poden separar regles d'estil per a diferents tipus de mitjans en diferents arxius. Això de vegades és una forma útil d'estructurar les fulles d'estil.

+ +

Per a més detalls sobre els tipus de mitjans, vegeu Mtjà en l'especificació CSS.

+ +

Hi ha més exemples de la propietat {{cssxref ("display")}} en una pàgina posterior d'aquest tutorial: dades XML.

+
+ +

Impressió

+ +

CSS té algun suport específic per a la impressió i dels mitjans paginats en general.

+ +

Un regla {{cssxref("@page")}} pot establir els marges de pàgina. Per a la impressió a doble cara, es poden definir els marges per separat per a @page:left i @page:right.

+ +

Per als mitjans d'impressió, normalment s'utilitza com a unitats de longitud les polzades (in) i punts (pt = 1/72 polzades) o centímetres (cm) i mil·límetres (mm). És igualment apropiat utilitzar ems (em) perquè coincideixi amb la mida de font i percentatges (%).

+ +

Podeu controlar la forma en què el contingut del document es divideix entre els límits de pàgina, mitjançant l'ús de les propietats {{cssxref("page-break-before")}}, {{cssxref("page-break-after")}} i {{cssxref("page-break-inside")}}.

+ +
+
Exemple
+ +

Aquesta regla estableix els marges de pàgina a una polzada en els quatre costats:

+ +
@page {margin: 1in;}
+
+ +

Aquesta regla assegura que cada element H1 comença en una nova pàgina:

+ +
h1 {page-break-before: always;}
+
+
+ +
+
Més detalls
+ +

Per als detalls complets de suport de CSS per als mitjans paginats, veure Mitjans paginats en l'especificació CSS.

+ +

Igual que altres característiques de CSS, la impressió depèn del navegador i la seva configuració. Per exemple, el navegador Mozilla subministra marges predeterminats, capçaleres i peus quan s'imprimeix. Quan altres usuaris imprimeixin el document, és probable que no sapigan quin navegador és i quina  configuració té, de manera que és possible que no poguin controlar completament els resultats.

+
+ +

Interfícies d'usuari

+ +

CSS té algunes propietats especials per als dispositius que suporten una interfície d'usuari, com pantalles d'ordinador. Això fa que l'aspecte del document canvii dinàmicament a mesura que l'usuari treballa amb la interfície.

+ +

No hi ha cap tipus de mitjà especial per als dispositius amb interfícies d'usuari.

+ +

Hi ha cinc selectors especials:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SelectorSelects
E{{cssxref(":hover")}}Qualsevol element E que té el punter sobre ell
E{{cssxref(":focus")}}Qualsevol element E que té el focus del teclat
E{{cssxref(":active")}}L'element E que està implicat en l'acció de l'usuari actual
E{{cssxref(":link")}}Qualsevol element E que és un hipervincle a una adreça URL que l'usuari no ha visitat recentment
E{{cssxref(":visited")}}Qualsevol element E que és un hipervincle a una adreça URL que l'usuari ha visitat recentment
+ +
+

Nota: La informació que es pot obtenir del selector :visited està restringida a {{gecko("2.0")}}. Veure Privacitat i el selector :visited per a més detalls.

+
+ +

La propietat {{cssxref("cursor")}} especifica la forma del punter: Algunes de les formes comunes són els següents. Col·loqueu el ratolí sobre els elements de la llista per veure les formes de punter reals en el vostre navegador:

+ + + + + + + + + + + + + + + + + + + + + + + + +
SelectorSelects
pointerIndica un vincle
waitIndica que el programa no pot acceptar l'entrada
progressIndica que el programa està funcionant, encara pot acceptar l'entrada
defaultEl valor per defecte (normalment una fletxa)
+ +

Una propietat {{cssxref("outline")}} crea un contorn que sovint s'utilitza per indicar el focus del teclat. Els seus valors són similars a la propietat {{cssxref("border")}}, excepte que no es poden definir els costats individualment.

+ +

Algunes altres característiques de les interfícies d'usuari s'implementen utilitzant atributs, en la forma normal. Per exemple, un element que és deshabilitat o de només lectura té l'atribut disabled o l'atribut readonly. Els selectors poden especificar aquests atributs com qualsevol altre atribut, mitjançant l'ús de claudàtors: {{mediawiki.external('disabled')}} o {{mediawiki.external('readonly')}}.

+ +
+
Exemple
+ +

Aquestes regles especifiquen els estils per a un botó que canvia dinàmicament a mesura que l'usuari interactua amb ell:

+ +
.green-button {
+  background-color:#cec;
+  color:#black;
+  border:2px outset #cec;
+  }
+
+.green-button[disabled] {
+  background-color:#cdc;
+  color:#777;
+  }
+
+.green-button:active {
+  border-style: inset;
+  }
+
+ +

Aquest wiki no és compatible amb una interfície d'usuari en la pàgina, pel que aquests botons no "fan clic". Aquestes són algunes de les imatges estàtiques per il·lustrar la idea:

+ + + + + + + +
+ + + + + + + + + + + + + + + + +
Click MeClick MeClick Me
 
deshabilitatnormalactiu
+
+ +

Un botó completament funcional també té un contorn fosc al voltant de tot el botó quan el valor és per defecte, i un contorn en línia de punts a la cara del botó quan té el focus del teclat. També podria tenir un efecte estacionari quan el punter es troba a sobre d'ell.

+
+ +
+
Més detalls
+ +

Per obtenir més informació sobre les interfícies d'usuari en el CSS, vegeu Interfície d'usuari en l'especificació CSS.

+ +

Hi ha un exemple del llenguatge de marcat de Mozilla per a interfícies d'usuari, XUL, en la Part II d'aquest tutorial.

+
+ +

Acció: Impressió d'un document

+ +
    +
  1. Feu un nou document HTML, doc4.html. Copieu i enganxeu el contingut d'aquí: + +
    <!DOCTYPE html>
    +<html>
    +  <head>
    +    <title>Print sample</title>
    +    <link rel="stylesheet" href="style4.css">
    +  </head>
    +  <body>
    +    <h1>Section A</h1>
    +    <p>This is the first section...</p>
    +    <h1>Section B</h1>
    +    <p>This is the second section...</p>
    +    <div id="print-head">
    +      Heading for paged media
    +    </div>
    +    <div id="print-foot">
    +      Page:
    +    </div>
    +</body>
    +</html>
    +
    +
  2. +
  3. Feu una nova fulla d'estil, style4.css. Copieu i enganxeu el contingut d'aquí: +
    /*** Print sample ***/
    +
    +/* defaults  for screen */
    +#print-head,
    +#print-foot {
    +  display: none;
    +  }
    +
    +/* print only */
    +@media print {
    +
    +h1 {
    +  page-break-before: always;
    +  padding-top: 2em;
    +  }
    +
    +h1:first-child {
    +  page-break-before: avoid;
    +  counter-reset: page;
    +  }
    +
    +#print-head {
    +  display: block;
    +  position: fixed;
    +  top: 0pt;
    +  left:0pt;
    +  right: 0pt;
    +
    +  font-size: 200%;
    +  text-align: center;
    +  }
    +
    +#print-foot {
    +  display: block;
    +  position: fixed;
    +  bottom: 0pt;
    +  right: 0pt;
    +
    +  font-size: 200%;
    +  }
    +
    +#print-foot:after {
    +  content: counter(page);
    +  counter-increment: page;
    +  }
    +
    +} /* end print only */
    +
    +
  4. +
  5. Vegeu aquest document en el vostre navegador; utilitza l'estil per defecte del navegador.
  6. +
  7. Imprimir (o vista prèvia d'impressió) el document; la fulla d'estil col·loca cada secció en una pàgina separada, i s'afegeix una capçalera i peu de pàgina per a cada pàgina. Si el navegador és compatible amb els comptadors, s'agrega un número de pàgina al peu de pàgina. + + + + + + + +
    + + + + + + +
    + + + + + + +
    +
    Heading for paged media
    + +
    Section A
    + +
    This is the first section...
    + +
    Page: 1
    +
    +
    +
    + + + + + + +
    + + + + + + +
    +
    Heading for paged media
    + +
    Section B
    + +
    This is the second section...
    + +
    Page: 2
    +
    +
    +
    +
  8. +
+ + + + + + + + +
Reptes
Moveu les regles d'estil específiques d'impressió en un fitxer CSS independent. +

Llegiu la pàgina de referència {{CSSXref("@import")}} per trobar detalls de com importar el nou arxiu CSS específic de la impressió en el vostre full d'estil style4.css.

+ +

Feu que els encapçalaments es tornin blaus quan el punter del ratolí estigui sobre ells.

+
+ +

Veure la solució per el repte.

+ +

I ara què?

+ +

Si teniu dificultats per entendre aquesta pàgina, o si teniu altres comentaris al respecte, si us plau, contribuïu a la vostre pàgina de Discussió.

+ +

Fins al moment, totes les regles d'estil en aquest tutorial s'han especificat en els arxius. Les regles i els seus valors són fixos. La pàgina següent descriu com poden canviar les regles de forma dinàmica mitjançant l'ús d'un llenguatge de programació: JavaScript

diff --git a/files/ca/web/svg/tutorial/svg_and_css/index.html b/files/ca/web/svg/tutorial/svg_and_css/index.html new file mode 100644 index 0000000000..6dac20b5a6 --- /dev/null +++ b/files/ca/web/svg/tutorial/svg_and_css/index.html @@ -0,0 +1,223 @@ +--- +title: SVG i CSS +slug: Web/Guide/CSS/Inici_en_CSS/SVG_i_CSS +tags: + - CSS + - 'CSS:Getting_Started' + - Example + - Guide + - Intermediate + - NeedsLiveSample + - NeedsUpdate + - SVG + - Web +translation_of: Web/SVG/Tutorial/SVG_and_CSS +--- +
{{CSSTutorialTOC}}
+ +

Aquesta pàgina il·lustra l'aplicació de CSS per al llenguatge especialitzat en la creació de gràfics: SVG.

+ +

Crea una demostració senzilla que s'executa en el vostre navegador habilitat per SVG.

+ +

Aquesta és la 2nd secció de la Part II del tutorial CSS.
+ Secció anterior: JavaScript
+ Secció següent: XML data

+ +

Informació: SVG

+ +

SVG (Scalable Vector Graphics) és un llenguatge basat en XML per a la creació de gràfics.

+ +

Es pot utilitzar per a imatges estàtiques, i també per a animacions i interfícies d'usuari.

+ +

Igual que altres llenguatges basats en XML, SVG suporta fulles d'estil CSS perquè pugui separar l'estil d'un gràfic del seu contingut.

+ +

A més, les fulles d'estil que s'utilitzen amb altres llenguatges de marcat de documents poden especificar l'adreça URL d'un gràfic SVG on es requereix una imatge. Per exemple, una fulla d'estil que s'utilitza amb un document HTML pot especificar l'adreça URL d'un gràfic SVG en el valor d'una propietat background.

+ + + + + + + + +
Més detalls
+

En el moment d'escriure (mitjans 2011), la majoria dels navegadors moderns tenen suport bàsic per a SVG, incloent Internet Explorer 9 o superior. Algunes de les característiques de SVG són compatibles parcialment o no en alguns navegadors. Consulteu les taulae SVG en caniuse.com per a una visió general de suport per SVG, o les taules de compatibilitat referència de l'element SVG per al suport de determinats elements.

+ +

Podeu afegir suport SVG a altres versions mitjançant la instal·lació d'un plug-in, com el proporcionat per Adobe.

+ +

Per obtenir més informació sobre SVG en Mozilla, consulteu la pàgina principal de SVG al wiki.

+
+ +

Acció: Una demostració SVG

+ +

Feu un nou document SVG com un arxiu de text pla, doc8.svg. Copieu i enganxeu el contingut d'aquí, assegurant-se que us desplaceu per obtenir tota ella;

+ +
<?xml version="1.0" standalone="no"?>
+
+<?xml-stylesheet type="text/css" href="style8.css"?>
+
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+
+<svg width="600px" height="600px" viewBox="-300 -300 600 600"
+  xmlns="http://www.w3.org/2000/svg" version="1.1"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
+
+<title>SVG demonstration</title>
+<desc>Mozilla CSS Getting Started - SVG demonstration</desc>
+
+<defs>
+  <g id="segment" class="segment">
+    <path class="segment-fill" d="M0,0 v-200 a40,40 0 0,0 -62,10 z"/>
+    <path class="segment-edge" d="M0,-200 a40,40 0 0,0 -62,10"/>
+    </g>
+  <g id="quadrant">
+    <use xlink:href="#segment"/>
+    <use xlink:href="#segment" transform="rotate(18)"/>
+    <use xlink:href="#segment" transform="rotate(36)"/>
+    <use xlink:href="#segment" transform="rotate(54)"/>
+    <use xlink:href="#segment" transform="rotate(72)"/>
+    </g>
+  <g id="petals">
+    <use xlink:href="#quadrant"/>
+    <use xlink:href="#quadrant" transform="rotate(90)"/>
+    <use xlink:href="#quadrant" transform="rotate(180)"/>
+    <use xlink:href="#quadrant" transform="rotate(270)"/>
+    </g>
+  <radialGradient id="fade" cx="0" cy="0" r="200"
+      gradientUnits="userSpaceOnUse">
+    <stop id="fade-stop-1" offset="33%"/>
+    <stop id="fade-stop-2" offset="95%"/>
+    </radialGradient>
+  </defs>
+
+<text id="heading" x="-280" y="-270">
+  SVG demonstration</text>
+<text  id="caption" x="-280" y="-250">
+  Move your mouse pointer over the flower.</text>
+
+<g id="flower">
+  <circle id="overlay" cx="0" cy="0" r="200"
+    stroke="none" fill="url(#fade)"/>
+  <use id="outer-petals" xlink:href="#petals"/>
+  <use id="inner-petals" xlink:href="#petals"
+    transform="rotate(9) scale(0.33)"/>
+  </g>
+
+</svg>
+
+ +

Feu una nou arxiu CSS, style8.css. Copieu i enganxeu el contingut d'aquí, assegurant-se que us desplaceu per obtenir tota ella;

+ +
/*** SVG demonstration ***/
+
+/* page */
+svg {
+  background-color: beige;
+  }
+
+#heading {
+  font-size: 24px;
+  font-weight: bold;
+  }
+
+#caption {
+  font-size: 12px;
+  }
+
+/* flower */
+#flower:hover {
+  cursor: crosshair;
+  }
+
+/* gradient */
+#fade-stop-1 {
+  stop-color: blue;
+  }
+
+#fade-stop-2 {
+  stop-color: white;
+  }
+
+/* outer petals */
+#outer-petals {
+  opacity: .75;
+  }
+
+#outer-petals .segment-fill {
+  fill: azure;
+  stroke: lightsteelblue;
+  stroke-width: 1;
+  }
+
+#outer-petals .segment-edge {
+  fill: none;
+  stroke: deepskyblue;
+  stroke-width: 3;
+  }
+
+#outer-petals .segment:hover > .segment-fill {
+  fill: plum;
+  stroke: none;
+  }
+
+#outer-petals .segment:hover > .segment-edge {
+  stroke: slateblue;
+  }
+
+/* inner petals */
+#inner-petals .segment-fill {
+  fill: yellow;
+  stroke: yellowgreen;
+  stroke-width: 1;
+  }
+
+#inner-petals .segment-edge {
+  fill: none;
+  stroke: yellowgreen;
+  stroke-width: 9;
+  }
+
+#inner-petals .segment:hover > .segment-fill {
+  fill: darkseagreen;
+  stroke: none;
+  }
+
+#inner-petals .segment:hover > .segment-edge {
+  stroke: green;
+  }
+
+ +

Obriu el document en el navegador habilitat per SVG. Moure el punter del ratolí sobre el gràfic.

+ +

Aquest wiki no suporta SVG en les pàgines, de manera que no es pot mostrar la demostració aquí. El gràfic es veu així:

+ + + + + + + +
SVG demonstration
+ +

Notes sobre aquesta demostració:

+ +
    +
  • El document SVG vincula la fulla d'estil de la forma habitual.
  • +
  • SVG té les seves pròpies propietats i valors CSS. Algunes d'elles són similars a les propietats CSS per a HTML.
  • +
+ + + + + + + + +
Repte
Canvieu la fulla d'estil perquè els pètals interns es tornin tots de color rosa quan el punter del ratolí està sobre qualsevol d'ells, sense canviar la forma en què els pètals externs funcionen.
+ +

Veure la solució per el repte.

+ +

I ara què?

+ +

En aquesta demostració, el vostre navegador habilitat per SVG  ja sap com mostrar els elements SVG. La fulla d'estil només modifica la visualització de certes maneres. Això també és cert per als documents HTML i XUL. Però es pot utilitzar CSS per a documents XML d'ús general, on no hi ha un camí predefinit per mostrar els elements. La pàgina següent mostra això: dades XML

-- cgit v1.2.3-54-g00ecf