递归算法和Dom简单操作
递归算法
可以做循环能做的事情(但是效率极低)
一般用来做文件的遍历、菜单遍历、深拷贝
递归规律要从上一个值找
递归三要素
-
找规律
-
-
自己调自己(在函数内部调用自己的函数)
// 1 3 6 10 15 21 第100位
function fn1(n){
if(n==1){
return 1
}else{
return fn1(n-1)+n
}
}
console.log(fn1(6));
// 1 2 3 5 8 13 21 第100位值
function fn2(n){//n为位数
if(n==1){//放没规律的,如第一位的1
return 1 //要返回数值
}else if(n==2){
return 2
}else{ //放有规律的,一般是从后值找前值
return fn2(n-2)+fn2(n-1)//公式,把fn2(n-2)当值看
}
}
console.log(fn2(7));
Dom的简单操作
1.获取对应的标签 (通过id获取)
document.getElementById('id的属性值')
2.input框的值获取 value属性
document.getElementById('input框的id').value //得到input框内的值
3.点击事件 onclick
element.onclick = function(){
//相关操作
}
//HTML
<input type="text" id="number1">
<select name="" id="s">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" id="number2">
<input type="text" id="sum">
<button onclick="compute()" id="btn">点击计算</button>
//script,计算
function fn6(number1,symbol,number2){
var sum=0
switch (symbol) {
case '+':
sum = number1 + number2
console.log(sum);
break;
case '-':
sum =number1 - number2
break;
case '*':
sum = number1 * number2
break;
case '/':
sum =number1 / number2
break;
default:
break
}
return sum
}
//Script,赋值
function compute(){
var number1 = document.getElementById('number1').value
var number2 = document.getElementById('number2').value
var symbol = document.getElementById('s').value
document.getElementById('sum').value= fn6(Number(number1),symbol,Number(number2))
}
![]()




浙公网安备 33010602011771号