匿名函数:  

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

函数调用 :

  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)............

  

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

  1. 【知识点】inline函数、回调函数、普通函数

    目录 一.inline内联函数 1.1 使用 1.2 编译器对 inline 函数处理步骤 1.3 优缺点 1.3.1 优点 1.3.2 慎用内联 1.3.3 不宜使用内联 1.4 虚函数(virtu ...

  2. C++中类成员函数作为回调函数

    注:与tr1::function对象结合使用,能获得更好的效果,详情见http://blog.csdn.net/this_capslock/article/details/38564719 回调函数是 ...

  3. Go基础系列:函数(2)——回调函数和闭包

    回调函数和闭包 当函数具备以下两种特性的时候,就可以称之为高阶函数(high order functions): 函数可以作为另一个函数的参数(典型用法是回调函数) 函数可以返回另一个函数,即让另一个 ...

  4. C++中 线程函数为静态函数 及 类成员函数作为回调函数

    线程函数为静态函数: 线程控制函数和是不是静态函数没关系,静态函数是在构造中分配的地址空间,只有在析构时才释放也就是全局的东西,不管线程是否运行,静态函数的地址是不变的,并不在线程堆栈中static只 ...

  5. php自定义函数之回调函数

    回调函数,可以配合匿名函数和变量函数实现更加优美.复杂的一种函数结构.大理石平台价格 回调函数,就是在处理一个功能的时候,我让让这个功能自定义能力再强一些,我准许调用这个函数的时候,还可以传入一个函数 ...

  6. php变量函数,回调函数

    一,变量可以直接传递函数 <?php function demo($num , $n )//$n是个函数 { for($i=0;$i<$num;++$i) { if($n($i)) { e ...

  7. Python内置进制转换函数(实现16进制和ASCII转换)

    在进行wireshark抓包时你会发现底端窗口报文内容左边是十六进制数字,右边是每两个十六进制转换的ASCII字符,这里使用Python代码实现一个十六进制和ASCII的转换方法. hex() 转换一 ...

  8. chr()//ord() //进制转换函数//eval()//文件函数//split()

    1.chr() 函数 chr() 用一个范围在 range(256)内的(就是0-255)整数作参数,返回一个对应的字符. 用法:chr(i) i可以是10进制也可以是16进制的形式的数字. 2.or ...

  9. SQL Server 进制转换函数

    一.背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下 ...

随机推荐

  1. GTK+基本图元的绘制

    // main.c #include <gtk/gtk.h> static void draw_round_rectangle (cairo_t * cr, double x, doubl ...

  2. CSS3 3D变形效果

    CSS3 3D变形效果 CSS3 transform3D变形 transform的含义是:改变,使-变形:转换 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换,你们发现3D变形的功能和2D变换 ...

  3. 设置tableView的分割线填满cell的方式总结

    方式一:cell的底部添加一个UIView 1.在tableViewController的viewDidLoad中取消系统的分割线 // 取消系统的分割线 self.tableView.separat ...

  4. 关于Test--Pattern Generator IP核的测试

    关于Test--Pattern Generator IP核的测试 1.Test--Pattern Generator 功能介绍 生成24-bit RGB视频流,此IP核可以用于系统测试,不需要先在片上 ...

  5. Spark源码分析之Spark Shell(上)

    终于开始看Spark源码了,先从最常用的spark-shell脚本开始吧.不要觉得一个启动脚本有什么东东,其实里面还是有很多知识点的.另外,从启动脚本入手,是寻找代码入口最简单的方法,很多开源框架,其 ...

  6. jQuery动态生成不规则表格前后端

    一.需求:有这么一张表 前四个属性当作联合主键 需要把该表所有的行在前端以表格形式显示出来,要求activityId相同时合并成一行,activityCode相同时,合并一行,activityVers ...

  7. C语言总结

    我们用了20天的时间左右的时间来学习简单的C语言,对于C语言,总体来说我是学的不是特别透彻,感觉自己什么都不懂一样.明天就要考试了,希望明天考个好成绩,为明年打下一个良好的基础. 这段时间我们学习了: ...

  8. .Net Standard扩展支持实例分享

    上篇(.Net基础体系和跨框架开发普及)介绍了.Net当前生态下的大概情况,也分享了简单实现的过程,这篇文章就是讲解我的OSS.Common项目扩展.Net Standard 支持的过程,主要集中在: ...

  9. 项目中通过Sorlj获取索引库中的数据

    在开发项目中通过使用Solr所提供的Solrj(java客户端)获取索引库中的数据,这才是真正对项目起实质性作用的功能,提升平台的检索性能及检索结果的精确性 第一步,引入相关依赖的jar包 第二步,根 ...

  10. 【转】JDBC连接数据库

    创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...