簡體   English   中英

JavaScript字符串內插

[英]Javascript string interpolation

我有一個Galleria(galleria.io),其代碼如下所示:

Galleria.run('.galleria', {
  flickr: 'set:72157640607666844', }

但是,當我嘗試將設置號設置為變量時,它以“致命錯誤:1失敗:找不到照片集”而中斷

var fakeVar = 72157640607666844
  Galleria.run('.galleria', {
  flickr: 'set:' + fakeVar, }

關於如何使它起作用的任何想法?

僅供參考:我查看了console.log('set:' + fakeVar) ,它肯定會返回set:72157640607666844。 最初,我以為是因為它返回的是不帶引號的集合,但我知道不是這樣,因為如果我執行" 'set:"+ fakeVar + " ' " ,我會得到'set的no方法錯誤。

同樣,如果有幫助的話,這是定義set方法的Galleria程序代碼:

set: function( photoset_id, callback ) {
    return this._find({
        photoset_id: photoset_id,
        method: 'flickr.photosets.getPhotos'
    }, callback);
},

在您的JavaScript控制台中嘗試以下操作:

alert('set:' + 72157640607666844); alerts "set:72157640607666850" for me
parseInt("72157640607666844") // returns 72157640607666850 for me

JavaScript無法處理這么大的數字。 它內部使用雙精度浮點表示數字,並且72157640607666850與JavaScript可以管理的72157640607666844保持接近。 您需要將其保留為字符串格式或使用像BigNumber這樣的庫來處理。

這是有關以多種語言表示整數更多信息

72157640607666844Number太重要了,無法完全存儲JavaScript:

console.log(72157640607666844);
//          72157640607666850

為了避免精度問題,您可以將文字包裝在引號中,因此使用String代替:

var fakeVar = '72157640607666844';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM