String NodeJS未定义值
我好像不能用绳子来做这个String NodeJS未定义值,string,api,undefined,String,Api,Undefined,我好像不能用绳子来做这个 binance.prices(function(ticker) { console.log("prices()", ticker); console.log("Price of BNB: ", ticker.BNBBTC); }); 但是,返回正确的值 binance.prices(function(ticker) { var tickerName = "BNBBTC"; console.log("prices()", ticker)
binance.prices(function(ticker) {
console.log("prices()", ticker);
console.log("Price of BNB: ", ticker.BNBBTC);
});
但是,返回正确的值
binance.prices(function(ticker) {
var tickerName = "BNBBTC";
console.log("prices()", ticker);
console.log("Price of BNB: ", ticker.tickerName);
});
返回未定义的。我四处打听过,在这方面没有得到任何帮助。当然你不能这样改变它。 它们是两种不同的东西 1) var tickerName=“BNBBTC” 这意味着您的变量tickerName值是一个字符串,等于“BNBBTC” 因此,ticker.tickerName将不等于ticker.bnbtc(我将在下面解释) 这就是为什么它返回undefined,因为节点尝试查找ticker.tickerName,这意味着节点尝试从ticker中查找tickerName属性。您定义的tickerName是一个变量,而不是ticker的属性 2) ticker.BNBBTC是一个已经有值的变量。记住,BNBBTC的部分不是值,也不是字符串。但这是ticker的一个属性 看看区别,其中一个是string,另一个是ticker的属性 如果你想做类似的事情,也许你可以使用:
binance.prices(function(ticker) {
var tickerName = ticker.BNBBTC;
console.log("prices()", ticker);
console.log("Price of BNB: ", tickerName);
});
快乐编码
附加:
如果您坚持要使用ticker.tickerName,可以使用以下代码:
binance.prices(function(ticker) {
var ticker.tickerName = ticker.BNBBTC; #I change this part
console.log("prices()", ticker);
console.log("Price of BNB: ", ticker.tickerName); #I change this part
});
用
ticker[tickerName]
解决了我的问题!感谢您的帮助:)您创建并分配了一个新变量tickerName
,但您向控制台tickerName
写入ticker
的道具。问题是,我试图更改BNBBTC的前半部分,例如,我希望能够执行ticker.ENJBTC或用户输入的任何参数,虽然最后3个字符始终为BTC。