[英]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這樣的庫來處理。
72157640607666844
的Number
太重要了,無法完全存儲JavaScript:
console.log(72157640607666844);
// 72157640607666850
為了避免精度問題,您可以將文字包裝在引號中,因此使用String
代替:
var fakeVar = '72157640607666844';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.