递归算法和Dom简单操作

递归算法

可以做循环能做的事情(但是效率极低)

一般用来做文件的遍历、菜单遍历、深拷贝

递归规律要从上一个值找

 

递归三要素
  • 找规律

  • 找临界值(没有规律的值)return

  • 自己调自己(在函数内部调用自己的函数)

// 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))
}

 

 

 

 

 

 

 

 

 
posted @ 2022-07-28 20:20  奇思妙想流川枫  阅读(64)  评论(0)    收藏  举报