diff options
| author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:43:23 -0500 |
|---|---|---|
| committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:43:23 -0500 |
| commit | 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (patch) | |
| tree | a9ef8ac1e1b8fe4207b6d64d3841bfb8990b6fd0 /files/uk/web/javascript/reference/global_objects/object/tosource/index.html | |
| parent | 074785cea106179cb3305637055ab0a009ca74f2 (diff) | |
| download | translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.gz translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.tar.bz2 translated-content-218934fa2ed1c702a6d3923d2aa2cc6b43c48684.zip | |
initial commit
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/object/tosource/index.html')
| -rw-r--r-- | files/uk/web/javascript/reference/global_objects/object/tosource/index.html | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/object/tosource/index.html b/files/uk/web/javascript/reference/global_objects/object/tosource/index.html new file mode 100644 index 0000000000..1de70827b6 --- /dev/null +++ b/files/uk/web/javascript/reference/global_objects/object/tosource/index.html @@ -0,0 +1,132 @@ +--- +title: Object.prototype.toSource() +slug: Web/JavaScript/Reference/Global_Objects/Object/toSource +tags: + - JavaScript + - Об'єкт + - застарілий + - метод + - нестандартний + - прототип +translation_of: Web/JavaScript/Reference/Global_Objects/Object/toSource +--- +<div>{{JSRef}} {{obsolete_header}}</div> + +<p>Метод <strong><code>toSource()</code></strong> повертає рядок, який відображає першокод об'єкта.</p> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox notranslate"><code>Object.toSource(); +<var>obj</var>.toSource(); +</code></pre> + +<h3 id="Повертає">Повертає</h3> + +<p>Рядок, який відображає першокод об'єкта.</p> + +<h2 id="Опис">Опис</h2> + +<p>Метод <code>toSource()</code> повертає наступні значення:</p> + +<ul> + <li>Для вбудованого об'єкта {{jsxref("Object")}} <code>toSource()</code> повертає наступний рядок, який вказує, що першокод недоступний: + + <pre class="brush: js notranslate">function Object() { + [native code] +} +</pre> + </li> + <li>Для екземплярів {{jsxref("Object")}} <code>toSource()</code> повертає рядок, який відображає першокод.</li> +</ul> + +<p>Ви можете викликати <code>toSource()</code> під час налагодження для дослідження вмісту об'єкта.</p> + +<h3 id="Перезапис_методу_toSource">Перезапис методу <code>toSource()</code></h3> + +<p>Перезапис <code>toSource()</code> не несе ніякої шкоди об'єктам. Наприклад:</p> + +<pre class="brush: js notranslate">function Person(name) { + this.name = name; +} + +Person.prototype.toSource = function Person_toSource() { + return 'new Person(' + uneval(this.name) + ')'; +}; + +console.log(new Person('Джо').toSource()); // ---> new Person("Джо") +</pre> + +<h3 id="Вбудовані_методи_toSource">Вбудовані методи <code>toSource()</code></h3> + +<p>Кожен базовий тип JavaScript має свій власний метод <code>toSource()</code>. Ці об'єкти наступні:</p> + +<ul> + <li>{{jsxref("Array.prototype.toSource()")}} — об'єкт {{jsxref("Array")}}.</li> + <li>{{jsxref("Boolean.prototype.toSource()")}} — об'єкт {{jsxref("Boolean")}}.</li> + <li>{{jsxref("Date.prototype.toSource()")}} — об'єкт {{jsxref("Date")}}.</li> + <li>{{jsxref("Function.prototype.toSource()")}} — об'єкт {{jsxref("Function")}}.</li> + <li>{{jsxref("Number.prototype.toSource()")}} — об'єкт {{jsxref("Число","Number")}}.</li> + <li>{{jsxref("RegExp.prototype.toSource()")}} — об'єкт {{jsxref("RegExp")}}.</li> + <li>{{jsxref("String.prototype.toSource()")}} — об'єкт {{jsxref("String")}}.</li> + <li>{{jsxref("Symbol.prototype.toSource()")}} — об'єкт {{jsxref("Symbol")}}.</li> + <li><code>Math.toSource()</code> — Повертає рядок "Math".</li> +</ul> + +<h3 id="Обмеження_для_циклічних_обєктів">Обмеження для циклічних об'єктів</h3> + +<p>У випадках, коли об'єкт містить посилання на самого себе, наприклад, циклічно зв'язаний список чи дерево, котре можна пройти обома шляхами, <code>toSource()</code> не відтворюватиме посилання на самого себе, починаючи з Firefox 24. Наприклад:</p> + +<pre class="brush: js notranslate">var obj1 = {}; +var obj2 = { a: obj1 }; +obj1.b = obj2; + +console.log('Циклічний: ' + (obj1.b.a == obj1)); + +var objSource = obj1.toSource(); // повертає "({b:{a:{}}})" + +obj1 = eval(objSource); + +console.log('Циклічний: ' + (obj1.b.a == obj1)); +</pre> + +<p>Якщо застосовується циклічна структура, і потрібен метод <code>toSource()</code>, об'єкт має перезаписати <code>toSource()</code>, або використовуючи посилання на конструктор, або надавши анонімну функцію.</p> + +<h2 id="Приклади">Приклади</h2> + +<h3 id="Використання_toSource">Використання <code>toSource()</code></h3> + +<p>Наступний код визначає тип об'єкта <code>Dog</code> і створює <code>theDog</code>, об'єкт типу <code>Dog</code>:</p> + +<pre class="brush: js notranslate">function Dog(name, breed, color, sex) { + this.name = name; + this.breed = breed; + this.color = color; + this.sex = sex; +} + +theDog = new Dog('Галя', 'лабрадор', 'шоколадний', 'самиця'); +</pre> + +<p>Якщо викликати метод <code>toSource()</code> об'єкта <code>theDog</code>, він поверне першокод JavaScript, який визначає об'єкт:</p> + +<pre class="brush: js notranslate">theDog.toSource(); +// повертає ({name:"Галя", breed:"лабрадор", color:"шоколадний", sex:"самиця"}) +</pre> + +<h2 id="Специфікація">Специфікація</h2> + +<p>Не є частиною жодних стандартів.</p> + +<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> + +<div> + + +<p>{{Compat("javascript.builtins.Object.toSource")}}</p> +</div> + +<h2 id="Див._також">Див. також</h2> + +<ul> + <li>{{jsxref("Object.prototype.toString()")}}</li> +</ul> |
