如何从函数返回变量并将其作为属性分配给对象?我写了这段代码,但是它说对象属性是未定义的
var ahoy = (function yes() {
var mp = {};
function oh() {
var greeting = "hello";
var advoir = "goodbye";
}
return {
greeting: greeting,
advoir: advoir
};
oh();
mp.greeting = greeting;
mp.advoir = advoir;
console.log(mp.greeting);
console.log(mp.advoir);
});
ahoy();
这里的错误是由于该ahoy
函数无法访问范围内的变量而引起的oh
。
function oh() {
var greeting = "hello";
var advoir = "goodbye";
console.log(greeting); // "hello"
}
oh();
console.log(greeting); // undefined
greeting
在的范围内是局部的,oh
因为它是在中声明的oh
,因此无法在该函数外部访问。相反,这将起作用:
var greeting;
console.log(greeting); // undefined
function oh() {
greeting = "hello";
console.log(greeting); // "hello"
}
console.log(greeting); // undefined
oh();
console.log(greeting); // "hello"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句