无法将值从函数传递到变量
cannot pass value from function to variable
所以,我有一段关于对象的代码
Obj.prototype.save = function (fn){
var aabb = Obj.reEditName(this.name, function(newName) {
return newName;
// I also try the following
var foo = newName;
return foo;
});
console.log("aabb is : "+aabb);
}
Obj.reEditName = function(name, fn){
var name ? name : "TestingName";
nameEditor(name,function(err, finalName) {
return fn(finalName);
});
}
Obj.reEditName
运行良好,并且我可以从newName
得到一个值。
但console.log("aabb is : "+aabb);
给出了未定义的反馈。
我不明白为什么。我得到一个值,然后返回它,aabb
假设要捕获它。为什么这不起作用?如何将newName
传递回aabb
?
感谢
您未定义的唯一原因是,newName未定义。。。让我们来看看您的代码。
Obj.prototype.save = function (fn){
//I suppose here you are assigning aabb the result of reEditName.
//because you are calling it...
var aabb = Obj.reEditName(this.name, function(newName) {
//you have a callback as a second parameter, and this callback recevied an argument (newName)...
return newName;
// I also try the following
var foo = newName;
return foo;
});
console.log("aabb is : "+aabb);
}
这里的问题是,当您从reEditName方法调用回调时,没有接收到newName参数,或者由于其他原因接收到未定义的参数
可能的解决方案:
Obj.reEditName = function(name, callback) {
//you should call that callback with an argument, and return it...
return callback('New name');
}
相关文章:
- 带有两个变量函数的Ajax提交表单
- 设置变量函数不起作用
- 为什么使用 ||在变量函数声明中
- Javascript 变量函数不保留值
- 为什么要在函数定义之外引用静态变量(函数属性)
- jQuery 变量函数无法运行
- 循环中的变量函数定义
- javascript onclick设置为变量函数名
- JavaScript:调用已启动类(数据包处理程序)的变量函数
- Javascript测试存根全局变量函数
- Aptana能否识别其他文件中定义的变量/函数
- jquery将其传递给变量函数
- 传递一个变量函数到数组[Javascript]
- 如何使用' this '像一个对象,并通过字符串获得它的变量/函数
- javascript变量/函数的首字母是什么意思?
- Javascript .apply带有变量函数名
- 在JavaScript中添加一个全局变量/函数(特别是NativeScript)
- 变量函数未定义错误
- AngularJS-继续检查变量/函数
- Javascript从本地向全局变量函数添加行