将未定义更改为空字符串
Change Undefined to Empty String
我正在使用 exif.js 从我上传到 CMS 的图像中提取元数据。当图像没有元数据时,一些值 return "undefined"。我想做的是使用如下方法将此 "undefined" 值更改为空字符串:(来源:下方的 Stanley)
// not set var i means
// i === undefined
var j = (typeof (i) !== 'undefined' ? i : 'not found');
console.log(j); // 'not found'
然而,在查看代码几个小时后,我仍然无法弄清楚 exif.js 如何 returning 未定义的值,以便我可以将其更改为空字符串。
Link 到 exif.js:https://github.com/exif-js/exif-js/blob/master/exif.js
var i = "undefined";
您已将字符串设置为 var i
,因此无法测试它是否未定义。
您可以使用 typeof (i) !== 'undefined'
检查 var 类型并检查是否 'undefined',然后使用短路运算符 return 值
例如
// not set var i means
// i === undefined
var j = (typeof (i) !== 'undefined' ? i : 'not found');
console.log(j); // 'not found'
这是对我有用的解决方案:
您可以简单地在 .getData
函数中使用 if
语句围绕您的变量,以不允许 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}`;
}
我正在使用 exif.js 从我上传到 CMS 的图像中提取元数据。当图像没有元数据时,一些值 return "undefined"。我想做的是使用如下方法将此 "undefined" 值更改为空字符串:(来源:下方的 Stanley)
// not set var i means
// i === undefined
var j = (typeof (i) !== 'undefined' ? i : 'not found');
console.log(j); // 'not found'
然而,在查看代码几个小时后,我仍然无法弄清楚 exif.js 如何 returning 未定义的值,以便我可以将其更改为空字符串。
Link 到 exif.js:https://github.com/exif-js/exif-js/blob/master/exif.js
var i = "undefined";
您已将字符串设置为 var i
,因此无法测试它是否未定义。
您可以使用 typeof (i) !== 'undefined'
检查 var 类型并检查是否 'undefined',然后使用短路运算符 return 值
例如
// not set var i means
// i === undefined
var j = (typeof (i) !== 'undefined' ? i : 'not found');
console.log(j); // 'not found'
这是对我有用的解决方案:
您可以简单地在 .getData
函数中使用 if
语句围绕您的变量,以不允许 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}`;
}