javascript对象方法如何引用尚未声明的变量?
我正在读这个js,在javascript对象方法如何引用尚未声明的变量?,javascript,Javascript,我正在读这个js,在Def中。5:类部分有一个代码片段: // Generic prototype for all letters. let letter = { getNumber() { return this.number; } }; 我想知道getNumber方法如何引用未声明的number?在您的代码中,此.number是未定义的字母.number。而且,这意味着它被评估为未定义的 var obj = {}; obj.number; // undefined 在代码
Def中。5:类
部分有一个代码片段:
// Generic prototype for all letters.
let letter = {
getNumber() {
return this.number;
}
};
我想知道
getNumber
方法如何引用未声明的number
?在您的代码中,此.number
是未定义的字母.number
。而且,这意味着它被评估为未定义的
var obj = {};
obj.number; // undefined
在代码中,
此.number
是未定义的字母.number
。而且,这意味着它被评估为未定义的
var obj = {};
obj.number; // undefined
number
不是变量,而是属性。您不必声明属性(事实上,在进展之前[目前处于,您不能声明属性;没有属性声明语法,只有属性初始化语法)。变量是对象外部的存储。属性是对象内部的存储
如果您想知道getNumber
如何在属性创建之前使用它,那是因为JavaScript就是这样定义的:尝试获取不存在的属性的值会导致值未定义,而不是错误
至少就您的代码而言是这样。在规范术语中,变量是绑定(非常类似于属性)在词法环境对象中,但这是一个规范,而不是可以直接在代码中使用的东西。number
不是一个变量,而是一个属性。您不必声明属性(事实上,直到[当前处于,您不能声明属性;没有属性声明语法,只有属性初始化语法)。变量是对象外部的存储。属性是对象内部的存储
如果您想知道getNumber
如何在属性创建之前使用它,那是因为JavaScript就是这样定义的:尝试获取不存在的属性的值会导致值未定义,而不是错误
至少就代码而言是这样。在规范术语中,变量是词法环境对象内的绑定(非常类似于属性),但这是一种规范,不能直接在代码中使用。谢谢我键入的letter.getNumber()
在chrome控制台中,它确实返回了未定义的
。谢谢我键入了letter.getNumber()
在chrome控制台中,它确实返回了未定义的
。感谢您的时间!不幸的是,我只能接受一个答案,但我比您的答案高,请继续努力!感谢您的时间!不幸的是,我只能接受一个答案,但我比您的答案高,请继续努力!