Javascript 在对象中调用函数而不访问对象属性

Javascript 在对象中调用函数而不访问对象属性,javascript,Javascript,这里我有一个困惑,我创建了一个名为objobj的对象,它有一个键first。 当我解释下面的程序时,第一个键有一个第二个键 hello()并在控制台上给出输出hello。不访问对象属性,如obj.first.second。 我不明白发生了什么事 或者在访问对象属性之前是否有任何方法阻止函数调用 var obj={ 第一:{ 第二:你好(“你好”) } } //第一,第二 函数hello(url){ console.log(url) }似乎您正在寻找一个getter,当您访问该属性时,该gett

这里我有一个困惑,我创建了一个名为
obj
obj的对象,它有一个键
first
。 当我解释下面的程序时,第一个键有一个第二个键
hello()
并在控制台上给出输出
hello
。不访问对象属性,如
obj.first.second
。 我不明白发生了什么事

或者在访问对象属性之前是否有任何方法阻止函数调用

var obj={
第一:{
第二:你好(“你好”)
}
}
//第一,第二
函数hello(url){
console.log(url)

}
似乎您正在寻找一个getter,当您访问该属性时,该getter将被执行:

var obj={
第一:{
获取第二个(){hello(“hello”)}
}
};
函数hello(url){
console.log(url);
}
//现在,hello被呼叫:

obj.first.second
似乎您正在寻找一个getter,当您访问该属性时,该getter将被执行:

var obj={
第一:{
获取第二个(){hello(“hello”)}
}
};
函数hello(url){
console.log(url);
}
//现在,hello被呼叫:

obj.first.second
您还可以使用getter和类来定义对象

这里有一个例子

类矩形{
建造商(高度、宽度){
高度=高度;
这个。宽度=宽度;
}
//吸气剂
获取区域(){
返回这个。calcArea();
}
//方法
钙质(){
返回this.height*this.width;
}
}
常数平方=新矩形(10,10);

控制台。原木(方形。面积)您还可以使用getter和类来定义对象

这里有一个例子

类矩形{
建造商(高度、宽度){
高度=高度;
这个。宽度=宽度;
}
//吸气剂
获取区域(){
返回这个。calcArea();
}
//方法
钙质(){
返回this.height*this.width;
}
}
常数平方=新矩形(10,10);

控制台。原木(方形。面积)
obj.first.second
将是
未定义的
,因为当您编写
hello(“hello”)
并将其作为值分配给键
second
时,您正在调用带有参数
“hello”
的函数
hello(),因此,该函数被执行并将
hello
写入控制台,并且不返回作为未定义值分配给键
second
的任何内容。您还可以将
second
设置为just
hello
(非字符串),以便稍后您可以将字符串传递给它以打印到控制台,如
obj.first.second(“hello”)//hello
obj.first.second
将是
未定义的
,因为当您编写
hello(“hello”)
并将其作为值分配给键
second
时,您正在使用参数
hello
调用函数
hello()
,因此,该函数被执行并将
hello
写入控制台,并且不返回作为未定义值分配给键
second
的任何内容。您还可以将
second
设置为just
hello
(非字符串),以便稍后您可以将字符串传递给它以打印到控制台,如
obj.first.second(“hello”)//你好