2017-10-19 61 views
1

注意:我的JS技能非常有限。請和我一起裸照。更改未定義爲空字符串 - EXIF.JS

你好,我使用exif.js從我上傳到CMS的圖像中提取元數據。當圖像沒有元數據時,某些值返回「未定義」。我想這樣做的是使用這樣的這種「不確定」的值更改爲空字符串:(來源:斯坦利下文)

// not set var i means 
 
// i === undefined 
 

 
var j = (typeof (i) !== 'undefined' ? i : 'not found'); 
 

 
console.log(j); // 'not found'

然而,之後看幾個小時代碼,我仍然無法弄清楚exif.js如何返回未定義的值,以便我可以將其更改爲空字符串。

鏈接exif.js:https://github.com/exif-js/exif-js/blob/master/exif.js

回答

0

這裏是爲我工作的解決方案:

您可以簡單地使用if聲明擺放在你的變量.getData功能不允許未定義在EXIF.JS運行圖書館。請注意,如果您正在關注EXIF.JS Github上的示例,則通常會將此代碼寫入頁面上的腳本。

EXIF.getData(img, function() { 
 
       var model = EXIF.getTag(this, "Model"); 
 
       
 
       if (model) { 
 
        var modelDataSpan = document.getElementById('model-'+id); 
 
        modelDataSpan.innerHTML = `${model}`; 
 
       }

0

var i = "undefined";

你設置一個字符串var i所以這個不能測試是不確定的。

可以使用typeof (i) !== 'undefined'檢查一個變種類型,檢查沒有「未定義」,然後用短路運營商返回值

例如

// not set var i means 
// i === undefined 

var j = (typeof (i) !== 'undefined' ? i : 'not found'); 

console.log(j); // 'not found' 

jsfiddle

+0

我想我明白如何正確使用現在這個。謝謝!然而,我仍然努力尋找在exif.js中使用它的正確變量。我會繼續努力,讓我知道如果我知道了。 – DzTheRage