0
点赞
收藏
分享

微信扫一扫

JavaScript 法术合集

caoxingyu 2022-05-21 阅读 174

 ​前期回顾    ​  

Vue项目实战 —— 后台管理系统( pc端 ) 第三篇_0.活在风浪里的博客-CSDN博客mock模拟数据、折线图、柱状图、饼图,一遍就懂!!~https://blog.csdn.net/m0_57904695/article/details/124861409?spm=1001.2014.3001.5501

目录

JavaScript 语法之创建对象的三种方法

 1、通过内置的构造函数创建对象

 2、通过字面量创建对象

 3、通过构造函数

​ 获取后台接口的前五条数据

 JavaScript 语法之递归

递归事例1 

 递归事例2

 2.1、for循环 求 1-100的和 

 2.2、  递归 求1-100的和


JavaScript 语法之创建对象的三种方法

1、通过内置的构造函数创建对象

<script>
    const obj = new Object();
    obj.name = '张三';
    obj.age = 18;
    obj.fn = function() {
        console.log('我是一个方法');
    }
    console.log(obj);
</script>

2、通过字面量创建对象

<script>
    let obj = {
        name: '我只会心疼哥哥',
        age: 0,
    }
    console.log(obj)
</script>

 3、通过构造函数

构造函数必须new实例化对象,才能传参

<script>
    function Person(name, age) { //  构造函数 
        this.age = age;
        this.name = name;
        this.run = function() {
            console.log('我叫' + this.name + '今年' + this.age + '我跑步可快了');
        }
    }
    // prototype 原型
    Person.prototype.say = function() { //  把say  方法  挂载到Person 原型对象
        console.log('我叫' + this.name + '今年' + this.age); //引引加加 加加里面是变量
    }
    Person.prototype.eat = function() {
        console.log(this.name + '吃了一顿饭');
    }
    var obj = new Person('你不会怪我吧', '28'); // 实例化对象 // new 创建对象 传参 
    console.log(obj);
    obj.say();
    obj.eat();
    obj.run(); //实例过后才可以调方法和属性
</script>

 获取后台接口的前五条数据

 axios.get("/api/home/xiaoguotu").then((res) => {
      // console.log(res.data.data.list)
      this.list = res.data.data.list;

      // 将接口的前5条取出来
      for (let v = 0; v < 5; v++) { //0 1 2 3 4 5
        this.list.push(this.list[v]);
      }

      console.log(this.slist);
    });

 JavaScript 语法之递归

   递归的概念  :

     为何报错?

递归事例1 

<script>
    let day = 0;
    fn()

    function fn() {
        day++;
        console.log('你这个老六真的够了,第' + day + '天,还不放假');

        if (day < 2) {
            fn()
        }

    }
</script>

 打个断点 day===2直接退出函数

 递归事例2

2.1、for循环 求 1-100的和 

    var sum = 0;
    for (var i = 1; i <= 100; i++) {
        sum += i; // 0+1 0+2 0+3 ...
    }
    console.log(sum);

 2.2、  递归 求1-100的和

猛一看有可能没看懂是不是?往下看一分钟,还看不懂你把我打一顿

  先求得1到2的和


    console.log(sum(2)); //现在n===2

    function sum(n) {
        return n + n
            //2+2=4 因为求1到2的和现在n是2要到1才行,所以-1变成 1+2=3,对吧,那么代码就得改成
        }

-----------------------------------------------------------------------------------
 console.log(sum(3)); 

    function sum(n) {
      return (n-1) + n 
     // 如果求1-3的和还的让这个函数调用2次才行(3-1 2-1),需要让它自调用,代码得改
    }
-----------------------------------------------------------------------------------
  console.log(sum(3));

    function sum(n) {
        return sum(n - 1) + n; //递归调用 
    }

这样咋爆栈了?【娇羞】

第一:减到一不需要继续减了,求的就是1到几,

第二: 看最上面说的递归需要退出条件,并在开始位置写,好的,在写


<script>
    console.log(sum(100))

    function sum(n) {
        //递归结束条件
        if (n === 1) {
            return 1;
        }
        //递归逻辑
        return sum(n - 1) + n;
    }
</script>

更新中....

2022/5/20 19:32

举报

相关推荐

0 条评论