我遇到一个问题,即我创建了一个尚不存在的值的变量(其他变量)
示例:
var a=b;
var b=5;
console.log(a)
//I want result to be 5
我需要它没有包装功能或对象(除非我仍然可以调用" a"原样而不是" a()")
如果' a'可以指向' b'通过参考我会做:
var b="temp"
var a=b
b=5
所以,有什么方法可以' b'将指向与' a'相同的位置?
答案 0 :(得分:0)
也许Promises API可以为您服务?文档here
一个简单的例子;
var bPromise = new Promise(function(resolve, reject) {
resolve(5);
});
bPromise.then(function(result) {
var a = result;
console.log('a = ' + a);
});
答案 1 :(得分:0)
嗯,你可以使用JS 功能:
由于函数声明由JS解释器提升,我们可以围绕创建一个"生产者"对于懒惰的评估" (在函数式语言中非常常见,但在JS中本身不包括在内)。
const a = b;
b(5);
console.log(a());
//We just take advantage of the function hoisting and context to do this
function b(val) {
return val? this.val = val : this.val;
}