Javascript 调用对象和函数返回对象

Javascript 调用对象和函数返回对象,javascript,Javascript,嘿,伙计们,我尝试了一些javascript代码来绑定两个函数 var b = {name: "sav",age: "20"} var c = function() { return 5; } b.c({name: "oops",age: "12}) 当我在控制台上调用类似的东西时..我得到错误undefined不是一个函数 问题是我需要访问像b.c.name这样的name属性。如果我调用像b.c.name这样的属性,它必须返回oops。我该怎么做..为什么调用b.c({})时会出错

嘿,伙计们,我尝试了一些javascript代码来绑定两个函数

var b = {name: "sav",age: "20"}

var c = function() { 

return 5;

}

b.c({name: "oops",age: "12})
当我在控制台上调用类似的东西时..我得到错误
undefined不是一个函数

问题是我需要访问像
b.c.name
这样的name属性。如果我调用像
b.c.name
这样的属性,它必须返回
oops
。我该怎么做..为什么调用
b.c({})时会出错


希望你们能帮我…谢谢

b.c
不存在,所以它解析为
未定义
<代码>未定义的
不是一个函数,因此这就是错误消息的来源。

您对
对象
函数
之间的区别感到困惑

在您的示例中,
b
是一个
对象
,具有两个属性,
name
age

编写
b.c
时,您试图访问名为
c
b
属性,该属性不存在,因为
b
只有
name
age
属性

然后,当您调用
b.c({})
时,您试图将
b.c
作为
函数调用,但由于
b.c
不存在,它的值是
undefined
,因此它抛出一个错误,您试图将undefined作为函数调用

您可以将
对象
分配给
c
,就像您对
b
所做的那样:

var c = {name: "oops",age: "12"};
现在,您可以按如下方式访问这些属性:

c.name // this gives you 'oops' 
c.age  // this gives you '12'

点表示法是访问对象的属性和方法的方式。如果您只想将数据传递给函数,则不需要使用点表示法:

function doSomething(arg1, arg2, etc...) {
    // do stuff with passed args
}

b = {
    name: 'John',
    age: 25
}

doSomething(b);
如果需要将该函数的作用域限定到特定对象,则需要将其作为对象的方法:

b.doSomething = function() { //etc... }


“两个”功能是什么意思?只有一个。
b
c
之间没有关联,因此没有
b.c
对不起我的错误..我已经重新编辑了
c
不是
b
的属性,所以
b.c
不存在。你能告诉我如何像somevar.anothervariable({})一样使用它吗;请编写一个代码,让我了解在什么情况下需要使用somevar.anothervariable({})。。这将非常有帮助。。Thanks@user3600759:我不太确定您在寻找什么,但这里有一个猜测:
varb={c:function(a){returna.name;}
b.c({name:“oops”})
b = {
    name: 'John',
    age: 25,
    getAge: function() {
        return b.age;
    }
}

b.getAge();