javascript - 无法读取“...”的属性未定义
问题描述
我是一个完整的 javascript 初学者,并且遇到的问题是我的 console.log 不会输出我的函数的返回值。有人可以向我解释这个问题吗?谢谢你的帮助!
function convertFromHex(hex) {
var hex = hex.toString();//force conversion
var str = '';
for (var i = 0; i < hex.length; i += 2)
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));
return str;
}
function convertToHex(str) {
var hex = '';
for(var i=0;i<str.length;i++) { // "cannot read property 'length' of undefined" error here
hex += ''+str.charCodeAt(i).toString(16);
}
return hex;
}
console.log(convertToHex()) // "cannot read property 'length' of undefined" error here
解决方案
在
console.log(convertToHex())
您没有将任何参数传递给convertToHex
,并且该函数需要一个参数:
function convertToHex(str)
// ^^^
现在,当您像在不传递参数的情况下那样调用该函数时,函数str
内部将是undefined
.
因此,在这里:
for(var i=0; i < str.length; i++)
// ^^^^
undefined
没有length
。
推荐阅读
- google-analytics - Google analytic device types aggregated over several pages matching a regex
- javascript - FlatList does not render any text in react-native
- python - Convert a list of string into one string such that if any string present inside list has space then it will be a string in output string
- amazon-web-services - Migrating Dynamodb Data between regions
- javascript - 使用 setTimeout 循环播放视频
- .net - .net 核心从存储库抛出 badrequest
- android - Changing the Color of the the Menu Items does not work
- spring-boot - 不明确的断路“回退”行为
- javascript - Dropzone Js在上传前获取文件数据(csv.xlsx)
- java - 转换为 BigDecimal 时输入 type="number" 忽略小数分隔符的 Spring 和 Thymeleaf 形式