--- title: Object.prototype.toSource() slug: Web/JavaScript/Reference/Global_Objects/Object/toSource tags: - JavaScript - Об'єкт - застарілий - метод - нестандартний - прототип translation_of: Web/JavaScript/Reference/Global_Objects/Object/toSource ---
Метод toSource() повертає рядок, який відображає першокод об'єкта.
Object.toSource();
obj.toSource();
Рядок, який відображає першокод об'єкта.
Метод toSource() повертає наступні значення:
toSource() повертає наступний рядок, який вказує, що першокод недоступний:
function Object() {
[native code]
}
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(). Ці об'єкти наступні:
Math.toSource() — Повертає рядок "Math".У випадках, коли об'єкт містить посилання на самого себе, наприклад, циклічно зв'язаний список чи дерево, котре можна пройти обома шляхами, 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")}}