Я думал, что я «получаю это» с помощью javascript, а затем сталкиваюсь с чем-то подобным. Я не знаю, почему значение для __sfcont не определено.javascript prototype var undefined, но я не уверен, почему.
var __container = "It contains ";
function myObject() {
var temp = 'temp';
}
myObject.prototype = {
constructor: myObject,
searchingFor: {
__sfcont: "a div block ",
label: this.__sfcont + "and a label.",
dropdown: this.__sfcont + "and a dropdown."
}
};
var myObj = new myObject();
console.log(myObj.searchingFor.label);
Ожидаемый результат от этого будет It contains a div block and a label.
Но я получаю undefinedand a label.
Поэкспериментируйте с 'ярлыком: this.toString()' и посмотреть, что получится , –
Вы не назначаете '__container' в любом месте. – sdgluck
Это может сбивать с толку, потому что вы можете проследить его значение, отслеживая свой контекст до ближайшей родительской области. Я думаю, что глаз смотрит на ближайшую фигурную скобку, чтобы найти ближайшую родительскую область, но в этом случае фигурные скобки используются для объявления объектного литерала, а не сферы. –