[英]Why is my value of a javascript object undefined?
當我嘗試通過chrome控制台輸出對象值時,我總是變得不確定。 碼:
ws.on('message', function(message) {
var JSONobj = {"cmd":"updatesb","name":"TestName"};
console.log('JSON Name Value: %s', message.name); //<--does not work
console.log('JSON Name Value: %s', JSONobj.name); //<----WORKS!!!!
});
ws.on中的message參數通過websocket通信傳遞{“ cmd”:“ updatesb”,“ name”:“ TestName”}。 第一個控制台輸出未定義。 第二個輸出是TestName。 為什么當message.name應該具有TestName的值時未定義,以及如何從message.name獲取該值?
聽起來您的message
參數是一個字符串,而不是一個對象。
您可以通過調用JSON.parse()
將該字符串解析為JSON。
嘗試:
message.name = 'xxx';
console.log('JSON Name Value: %s', message.name);
查看message.name
成功。 正如其他人指出的那樣, message
很可能不是您的想法。
也嘗試console.log(message);
並檢查輸出。
另外,可能是on
處理程序接收到的信息多於消息,因此處理程序實際上應該看起來像function(something_else, message)
,但是如果不知道ws是什么,就很難知道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.