JavaScript:为什么这个代码不;t工作
JavaScript: Why This Code Doesn't Work?
我正试图创建一个文本加密器,但当我输入此代码时,什么也没发生。我的代码出了什么问题?
function Encrypt(txt) {
var chars = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v','w', 'x', 'y', 'z'}
for (i = 0; i < txt.length; i++) {
var chr = txt.charAt(i);
var pos = chars.indexOf(chr);
if (pos == chars.length) {
pos = 0;
}
else {
pos = pos++
}
txt.charAt(i) = chars[pos];
}
alert(txt);
}
您需要
- 数组CCD_ 1而不是对象CCD_
- 一些已声明的变量
- 一个空的结果字符串
newText
,一个字符串是用字符访问只读的 - 如果字母不在数组中,则进行有效检查
- 在不分配的情况下递增CCD_ 4
- 将编码字符附加到结果字符串中
function Encrypt(txt) {
var chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'],
i, newText = '', chr, pos;
for (i = 0; i < txt.length; i++) {
chr = txt[i];
pos = chars.indexOf(chr);
if (!~pos) {
pos = 0;
} else {
pos++;
}
newText += chars[pos];
}
document.write(newText);
}
Encrypt('test');
因为这不是数组,而是对象。。。并且对象必须具有CCD_ 5结构。
更改此项:
var chars = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v','w', 'x', 'y', 'z'}
到此:
var chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v','w', 'x', 'y', 'z']
没有考虑到其他答案中描述的错误,我对加密字符串的建议是:
function Encrypt(txt) {
var chars = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v','w', 'x', 'y', 'z'];
var txtResult = txt.split('').map(function(val) {
var pos = chars.indexOf(val);
return chars[(pos == chars.length) ? 0 : (pos + 1)];
}).join('');
document.write(txtResult);
}
Encrypt('gaemaf');
相关文章:
- 代码只能在jsfiddle中工作
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- 谷歌地图Api和JS代码不工作
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 为什么这个代码不能正常工作
- Don't工作警报代码jQuery
- addEventListener的Javascript代码不工作!?(单击时打开放大的img)
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 这个jquery代码是如何工作的
- 代码在angular中未按预期工作
- JavaScript代码未按预期工作
- 为什么jQuery代码段在没有IFrame的情况下可以工作,而在有IFrame时却不能工作
- 谷歌地图自动完成,即使使用工作代码也无法工作
- 需要 RepeatBox 及其行单击事件的工作代码才能在 smartface.io 中跳转到相应的页面上
- 任何人都可以指出我的工作代码或完整的概念图,用于 Angular2 中的 ViewMetadata
- 为什么我可以'不要对这个工作代码进行jsFiddle处理
- 工作代码带来错误addEventListener不是一个函数
- 需要修改此工作代码以在新窗口/选项卡中打开
- jQuery:如何计算和显示列的总和(部分工作代码)
- D3js缩放/拖动在我的代码中不再工作(+代码示例)