• javascript . 04 匿名函数、递归、回调函数、对象、基于对象的javascript、状态和行为、New、This、构造函数/自定义对象、属性绑定、进制转换


    匿名函数:  

    没有名字的函数,函数整体加小括号不报错,

    函数调用 :

      a:直接调用 

    (function (){函数体}) ( ) ;

      b:事件绑定 document.onlick = function ( ) { 函数体;}     // 暂时了解即可

      c:定时器调用

    递归

    递归是一种思想:类似于我们的计数器,开闭原则。

    递归的实质就是函数自己调用自己/但是要注意  必须有跳出条件

    alert (aim (100));
    function sum(n){
          if (n<1){
              return 0 ;  
           }              
          sum = n + sum(n-1) ;
        
        return sum ;
    }    

    回调函数

      函数作为参数进行传递

      函数形参后加小括号

        a:函数作为参数进行传递和使用

        b: (function(){console.log("从前有朵花,然后")})();   //会自动运行

          函数名 ();  //即可自动运行,一般用于定义一个规则/规则的传递只能通过函数实现,通过变量无法实现

        

    function fn(num1,num2,demo) {
        return demo(num1,num2);
    }
    function text1 (a,b) { return a+b } ;
    
    // 会在控制台输出 5+8的结果  :  13
    console.log ( fn(5,8,text1) );

    对象

    1. 封装信息
    2. 对象具有特征和行为
    3. 3.  生活中的对象:具有唯一性的事和物

    a)  生活中一类事物和对象的区别

                     i.      一类事物:保时捷汽车

                   ii.      对象:具有唯一性,我的那一辆保时捷汽车

    b)  一个车,一个手机

    1. 游戏中的对象:

    a)  单个角色就是对象

    b)  装备就是事物

                     i.      我用的装备就是对象

    c)  金币是事物,我的金币是对象,消费的金币也是对象

    d)  有特指的事物是对象

    1. 程序中 对象

    a)  var hero = new Object();

                     i.      hero:就是一个对象

                   ii.      Object:是一个事物,可以new很多的对象

    1. 面向对象:c/c++,java

    a)  可以创建自定义对象,很好的支持继承和多态

    b)  特征:封装、继承、多态

    基于对象:javascript

      a)  无法创建自定义的类型,

      b)  不能很好的支持继承和多态,

      c)  JS基于对象,只能new出Object对象

    属性和方法:状态(名词)和行为(动词)

      a)  属性就是人物信息,行为就是施放技能

      b)  对象中的函数叫方法

      对象名 . 状态 = 匿名函数(){函数体;}:

      c)  对象中的变量叫属性

      对象名 . 属性 = 属性值;

      d)  调用对象的方法和属性

                     i.      调用自己的属性用this . 属性名;

                   ii.      调用属性

            对象名.属性名;

                 iii.      调用方法

            对象名.方法名();  

    1. 对象缺点,

        a)  创建单个对象的时候可以,创建多个对象变得非常繁琐,

        b)  创建多个对象,for循环不能修改名字的值,用函数可以创建多个函数,缺点代码冗余 

        

    this

    a)  this值出现在函数中

    b)  谁调用函数,this就指向谁

    c)  new people();people中的this代指的是被创建的对象实例

    new

    a)  开辟内存空间,存储新创建的对象

    b)  把this设置为当前对象

    c)  执行内部代码设置对象的属性和方法

    d)  创建并返回新的对象

    构造函数/自定义对象

    1. new后面调用函数,我们称为构造函数
    2. 构造函数内部不需写对象名字,可用this代替

      

    var  str = new Student("尼古拉斯赵四") ;
    
    str.sayHi();
    
    function Studend(name){
            this.name = name ;
            this.sayHi = function(){console.log ( this.name +"说,我才是真正的亚洲舞王");
            }
    }

    属性绑定

      对象名 . 属性 = 属性值

      对象名[变量名] = 对象值;

    进制转换

    1. 将其他制转换为十进制

    a)  var num = parseInt(其他进制数,数值是几进制的);

      2.  将十进制转换为其他进制

    a)  var num = num.toString(几进制);

    十进制的值 = 位值*进制(位数-1+位值*进制(位数-1+位值*进制(位数-1)............

      

    作者:明明
    出处: http://www.cnblogs.com/mingm/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

  • 相关阅读:
    安防视频监控直播的画面都是如何采集的?
    为什么说线上教育是未来的趋势?
    音视频流媒体服务器发展到现在有哪些难题?应该怎么解决?
    为什么流媒体服务器做安防视频直播或者娱乐直播服务?
    视频流媒体服务器如何将视频直播转推到其他平台?
    线上教育课堂如何解决H5视频点播转码出现的黑屏问题?
    海康摄像头以GB28181国标协议接入国标流媒体服务器流断码问题的解决办法
    国标GB28181协议流媒体视频平台EasyGBS如何将内网的摄像机视频推送到公网?
    网页全终端视频流媒体播放器EasyPlayer之使用 nginx 和 rtmp 插件搭建视频直播和点播服务器
    安防音视频流媒体服务器EasyDSS之编解码的基本原理及压缩编码的方法介绍
  • 原文地址:https://www.cnblogs.com/mingm/p/6595739.html
Copyright © 2020-2023  润新知