Что означает это Foo?
Это имя конструктора, используемого для создания этого объекта.
function Foo(){} // constructor function
new Foo()
А какой смысл объекта в прото: Object?
Это следующий прототип в цепочке прототипов, наследуемый объект baz
.
Попробуйте немного более сложный пример:
function Bar(){}
Bar.prototype.someFunction = function(){}
function Foo(){}
Foo.prototype = Object.create(Bar.prototype, {}) // or Foo.prototype = new Bar()
new Foo()
Первое значение в цепи прототипов Foo является экземпляром объекта Bar. Объект Bar также имеет прототип, но это просто неназванный объект (он не имеет функции-конструктора, такой как Foo или Bar).
Этот объект также имеет прототип, который является всего лишь общим Object.prototype
, который наследует все объекты.
Другой вопрос, когда я повесить мышь на кнопку небольшой голубой, она подсказывает, что стоимость ниже была оценена только сейчас. Что это значит?
Это означает, что объект отображается со значениями свойств, которые он имеет сейчас, а не со значениями, которые он имел во время регистрации.
Возьмем такой пример:
var obj = {a: 20}
console.log(obj)
obj.a = 100
Сначала Devtools напечатает основной снимок объекта:
Но когда вы расширить объект DevTools использует текущие значения объекта вместо использования моментального снимка.
Удивительный ответ Мэтт! Спасибо за ваш подробный ответ! Но не могли бы вы рассказать мне, где я могу найти официальные ссылки, объясняющие эти утилиты DevTools? – spacegoing
@spacegoing Официальные документы [здесь] (https://developers.google.com/web/tools/chrome-devtools/), но я не думаю, что они имеют такой уровень детализации для всех функций. –
Большое спасибо за ваш ответ! Я искал этот сайт, прежде чем задавать вопросы, но не нашел ни одного из них :(Спасибо всем: D – spacegoing