From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../global_objects/object/tosource/index.html | 132 +++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 files/uk/web/javascript/reference/global_objects/object/tosource/index.html (limited to 'files/uk/web/javascript/reference/global_objects/object/tosource') 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 +--- +
{{JSRef}} {{obsolete_header}}
+ +

Метод toSource() повертає рядок, який відображає першокод об'єкта.

+ +

Синтаксис

+ +
Object.toSource();
+obj.toSource();
+
+ +

Повертає

+ +

Рядок, який відображає першокод об'єкта.

+ +

Опис

+ +

Метод toSource() повертає наступні значення:

+ + + +

Ви можете викликати toSource() під час налагодження для дослідження вмісту об'єкта.

+ +

Перезапис методу toSource()

+ +

Перезапис toSource() не несе ніякої шкоди об'єктам. Наприклад:

+ +
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("Джо")
+
+ +

Вбудовані методи toSource()

+ +

Кожен базовий тип JavaScript має свій власний метод toSource(). Ці об'єкти наступні:

+ + + +

Обмеження для циклічних об'єктів

+ +

У випадках, коли об'єкт містить посилання на самого себе, наприклад, циклічно зв'язаний список чи дерево, котре можна пройти обома шляхами, toSource() не відтворюватиме посилання на самого себе, починаючи з Firefox 24. Наприклад:

+ +
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));
+
+ +

Якщо застосовується циклічна структура, і потрібен метод toSource(), об'єкт має перезаписати toSource(), або використовуючи посилання на конструктор, або надавши анонімну функцію.

+ +

Приклади

+ +

Використання toSource()

+ +

Наступний код визначає тип об'єкта Dog і створює theDog, об'єкт типу Dog:

+ +
function Dog(name, breed, color, sex) {
+  this.name = name;
+  this.breed = breed;
+  this.color = color;
+  this.sex = sex;
+}
+
+theDog = new Dog('Галя', 'лабрадор', 'шоколадний', 'самиця');
+
+ +

Якщо викликати метод toSource() об'єкта theDog, він поверне першокод JavaScript, який визначає об'єкт:

+ +
theDog.toSource();
+// повертає ({name:"Галя", breed:"лабрадор", color:"шоколадний", sex:"самиця"})
+
+ +

Специфікація

+ +

Не є частиною жодних стандартів.

+ +

Сумісність з веб-переглядачами

+ +
+ + +

{{Compat("javascript.builtins.Object.toSource")}}

+
+ +

Див. також

+ + -- cgit v1.2.3-54-g00ecf