试图将字母,数字和符号编译成旋转字符串

时间:2017-03-20 01:25:26

标签: javascript html

HTML

所以,我试图有一个重复的console.log来改变数字,以显示任意数量的数字中的每个可能的组合。 我创建了一组变量来定义我想要使用的数字,并尝试创建一个使用字母数组的函数" console.log(s [0])"使用字符串中的每个字符。但每当我尝试运行代码时,它会将b记录到控制台一次并停止。 代码:

            function start()
            {
                var inputDigit = document.getElementById("inputDigit").value;
                var lowerCaseAlpabet = "abcdefghijklmnopqrstuvwxyz";
                var upperCaseAlpabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
                var symbols = "*&^%$#@!()<>?/.,|}{][-_=+~`"
                var Numbers = "1234567890"
                var all = lowerCaseAlpabet+upperCaseAlpabet+symbols+Numbers
                console.log(all)
                var allLength = all.length - 1


                var digit = 0
                digit1(all,allLength,digit)
                function digit1(all,allLength,zero){

                    if (digit < allLength) {
                            var finalValue = all[digit]
                            var digit = digit + 1
                            return finalValue
                        } 
                    return finalValue
                    var digit = digit + 1
                    console.log(finalValue)
                    digit1(all,allLength,digit)
                }



            }

整个代码文档:

&#13;
&#13;
<!DOCTYPE html>
				<html>
				<head>
				<!--<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>-->
				<title>Passcode Compiler</title>
				<h1>Welcome to the Passcode Compiler</h1>
				<h2>Please fill in the blank below with the amount of digits that you need</h2>

				</head>
				<body>
				<script>

				</script>
				<br> <input type="text" id="inputDigit">compiling length</input><br><!--This takes the year input-->
				<button onclick="start()">Submit</button><br><!--This submits the input values above to the javascript code below-->
				<script>


				function start()
				{
				var inputDigit = document.getElementById("inputDigit").value;
				var lowerCaseAlpabet = "abcdefghijklmnopqrstuvwxyz";
				var upperCaseAlpabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
				var symbols = "*&^%$#@!()<>?/.,|}{][-_=+~`"
				var Numbers = "1234567890"
				var all = lowerCaseAlpabet+upperCaseAlpabet+symbols+Numbers
				console.log(all)
				var allLength = all.length - 1


				var digit = 0
				digit1(all,allLength,digit)
				function digit1(all,allLength,zero){

				if (digit < allLength) {
				var finalValue = all[digit]
				var digit = digit + 1
				return finalValue
				} 
				return finalValue
				var digit = digit + 1
				console.log(finalValue)
				digit1(all,allLength,digit)
				}



				}

				</script>
				<h4>

				</h4>	
				</body>
				</html>
				</!doctype>
				<!--setTimeout(function(){/*YourCode*/},1000);
&#13;
&#13;
&#13; 有想法该怎么解决这个吗? 请记住,我没有使输入重要,所以无论输入如何,它都应该工作。

1 个答案:

答案 0 :(得分:0)

返回后的代码将不会执行:

return finalValue
var digit = digit + 1
console.log(finalValue)
digit1(all,allLength,digit)

在这个片段中,返回后的所有行都不会执行,因为函数在遇到return语句时会退出。

此外,如果要增加函数外部定义的数字,则不能再将其声明为var。所以,你会想要改变你的行

var digit = digit + 1;

digit++;

因此,我将从调整代码开始考虑这些因素。