• JavaScript 函数(方法)的封装技巧要领及其重要性


          作为一枚程序猿,想必没有人不知道函数封装吧。在一个完整的项目开发中,我们会在JS代码中对一些常用(多个地方调用)的操作进行一个函数的封装,这样便于我们调试和重复调用,以致于能够在一定程度上减少代码的冗余,从而降低浏览器对JS代码的读取时间,增加我们项目程序的工作效率。因此,可以说,函数方法封装是一个程序猿的必备技能。那么,封装时应该注意什么呢?——我的答案是:灵活性。

    这样,我们先来进行一个简单的测试:

    1.在浏览器中console一句Hello World!,代码如下:

    console.log('Hello World!');

    2.在浏览器中console五句Hello World!,这时,又有多种方法:

    // 方法一:
    console.log('Hello World!');
    console.log('Hello World!');
    console.log('Hello World!');
    console.log('Hello World!');
    console.log('Hello World!');
    
    // 方法二:
    for(var i = 0;i<5;i++){
        console.log('Hello World!');    
    }

    PS:从上述两种方法来看,都能达到相同的效果,但有没有觉得方法一的代码有点烦杂呢?好的,那我们继续接着往下走:

    3.在1和2的基础之上,将五句Hello World!翻译为:你好,世界!这样一来,又会有很多方法涌出,如:直接修改console里面的内容,但是我想说的是,利用2中的方法二结合函数生成:

    function myFn(){
       for(var i=0;i<5;i++){
            console.log(“你好,世界!”);
       }     
    }
    myFn();
    // 这种方法便有了一个函数方法的产生

    PS:这样,函数就使得我们代码更加简洁(可能暂时还看不出),OK,我们接着往下走:

    4.在3的基础上,将‘你好,世界!’翻译为:Hello World!很明显,这时我们console的内容又变了,也就是说,console的内容不是一尘不变的,那么怎样才能使得3中的函数调用更加灵活呢?

    function myFn(str){
       for(var i=0;i<5;i++){
            console.log(str);
       }     
    }
    myFn(‘你好,世界!’);
    // 这种方法又产生了一个新的东西——参数

    5.OK,很好,是不是很简单呢?现在我们来一点难度:

       在4的基础上简单地修改函数内部内容,在浏览器中console出50句‘世界我爱你’,很多人都会想到,将循环次数更改为50,然后再调用,也就是说循环次数也应该是一个参数:

    function myFn(str,num){
       for(var i=0;i<num;i++){
            console.log(str);
       }     
    }
    myFn('你好,世界!',50);
    // 这样一来,便形成了一个简单的函数封装
    // 倘若现在题目要求 在浏览器中console出1000句‘I LOVE YOU’
    // myFn('I LOVE YOU',1000); 是不是So easy?

    现在,我们来仔细分析一下这个小测试,题目给出的console内容以及console的次数都是可变的,那么我就可以进行一个函数的封装。

         这样一来,无论你题目要求我们console什么,console几次,只需调用该函数,并传入指定内容及次数,也就是说除去函数封装内容,我们只需一行代码就能达到题目给的要求,是不是很简单呢?这便是函数封装的简洁性和灵活性,所以,猿友们,我们在项目开发中对代码进行封装时,一定要注意:灵活性!多思考多变的地方,让多变的地方用参数代替,另外,还要注意在项目运营中该段代码的可运用性,如何减低运营成本,这都是我们在封装时应当去思考的问题。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。
  • 相关阅读:
    Metrics.NET
    DotNet Multithread
    WebApi框架概述
    RESTful API 概述
    MvcPager分页控件以适用Bootstrap效果
    Windows集群网络负载均衡
    学习Oracle日记(10)-数据类型
    在Eclipse中使用Junit4进行单元测试
    Android--学习笔记--02--AndroidStudio的设置
    Android--学习笔记--01--开发软件安装
  • 原文地址:https://www.cnblogs.com/Lxb98117/p/JavaScript_Function.html
Copyright © 2020-2023  润新知