Javascript 调用对象和函数返回对象
嘿,伙计们,我尝试了一些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({})时会出错
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();