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) );
对象
- 封装信息
- 对象具有特征和行为
- 3. 生活中的对象:具有唯一性的事和物
a) 生活中一类事物和对象的区别
i. 一类事物:保时捷汽车
ii. 对象:具有唯一性,我的那一辆保时捷汽车
b) 一个车,一个手机
- 游戏中的对象:
a) 单个角色就是对象
b) 装备就是事物
i. 我用的装备就是对象
c) 金币是事物,我的金币是对象,消费的金币也是对象
d) 有特指的事物是对象
- 程序中 对象
a) var hero = new Object();
i. hero:就是一个对象
ii. Object:是一个事物,可以new很多的对象
- 面向对象:c/c++,java
a) 可以创建自定义对象,很好的支持继承和多态
b) 特征:封装、继承、多态
基于对象:javascript
a) 无法创建自定义的类型,
b) 不能很好的支持继承和多态,
c) JS基于对象,只能new出Object对象
属性和方法:状态(名词)和行为(动词)
a) 属性就是人物信息,行为就是施放技能
b) 对象中的函数叫方法
对象名 . 状态 = 匿名函数(){函数体;}:
c) 对象中的变量叫属性
对象名 . 属性 = 属性值;
d) 调用对象的方法和属性
i. 调用自己的属性用this . 属性名;
ii. 调用属性
对象名.属性名;
iii. 调用方法
对象名.方法名();
- 对象缺点,
a) 创建单个对象的时候可以,创建多个对象变得非常繁琐,
b) 创建多个对象,for循环不能修改名字的值,用函数可以创建多个函数,缺点代码冗余
this
a) this值出现在函数中
b) 谁调用函数,this就指向谁
c) new people();people中的this代指的是被创建的对象实例
new
a) 开辟内存空间,存储新创建的对象
b) 把this设置为当前对象
c) 执行内部代码设置对象的属性和方法
d) 创建并返回新的对象
构造函数/自定义对象
- new后面调用函数,我们称为构造函数
- 构造函数内部不需写对象名字,可用this代替
var str = new Student("尼古拉斯赵四") ;
str.sayHi();
function Studend(name){
this.name = name ;
this.sayHi = function(){console.log ( this.name +"说,我才是真正的亚洲舞王");
}
}
属性绑定
对象名 . 属性 = 属性值
对象名[变量名] = 对象值;
进制转换
- 将其他制转换为十进制
a) var num = parseInt(其他进制数,数值是几进制的);
2. 将十进制转换为其他进制
a) var num = num.toString(几进制);
十进制的值 = 位值*进制(位数-1) +位值*进制(位数-1) +位值*进制(位数-1)............
javascript . 04 匿名函数、递归、回调函数、对象、基于对象的javascript、状态和行为、New、This、构造函数/自定义对象、属性绑定、进制转换的更多相关文章
- 【知识点】inline函数、回调函数、普通函数
目录 一.inline内联函数 1.1 使用 1.2 编译器对 inline 函数处理步骤 1.3 优缺点 1.3.1 优点 1.3.2 慎用内联 1.3.3 不宜使用内联 1.4 虚函数(virtu ...
- C++中类成员函数作为回调函数
注:与tr1::function对象结合使用,能获得更好的效果,详情见http://blog.csdn.net/this_capslock/article/details/38564719 回调函数是 ...
- Go基础系列:函数(2)——回调函数和闭包
回调函数和闭包 当函数具备以下两种特性的时候,就可以称之为高阶函数(high order functions): 函数可以作为另一个函数的参数(典型用法是回调函数) 函数可以返回另一个函数,即让另一个 ...
- C++中 线程函数为静态函数 及 类成员函数作为回调函数
线程函数为静态函数: 线程控制函数和是不是静态函数没关系,静态函数是在构造中分配的地址空间,只有在析构时才释放也就是全局的东西,不管线程是否运行,静态函数的地址是不变的,并不在线程堆栈中static只 ...
- php自定义函数之回调函数
回调函数,可以配合匿名函数和变量函数实现更加优美.复杂的一种函数结构.大理石平台价格 回调函数,就是在处理一个功能的时候,我让让这个功能自定义能力再强一些,我准许调用这个函数的时候,还可以传入一个函数 ...
- php变量函数,回调函数
一,变量可以直接传递函数 <?php function demo($num , $n )//$n是个函数 { for($i=0;$i<$num;++$i) { if($n($i)) { e ...
- Python内置进制转换函数(实现16进制和ASCII转换)
在进行wireshark抓包时你会发现底端窗口报文内容左边是十六进制数字,右边是每两个十六进制转换的ASCII字符,这里使用Python代码实现一个十六进制和ASCII的转换方法. hex() 转换一 ...
- chr()//ord() //进制转换函数//eval()//文件函数//split()
1.chr() 函数 chr() 用一个范围在 range(256)内的(就是0-255)整数作参数,返回一个对应的字符. 用法:chr(i) i可以是10进制也可以是16进制的形式的数字. 2.or ...
- SQL Server 进制转换函数
一.背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下 ...
随机推荐
- Java实现二叉树的前序、中序、后序遍历(递归方法)
在数据结构中,二叉树是树中我们见得最多的,二叉查找树可以加速我们查找的效率,那么输出一个二叉树也变得尤为重要了. 二叉树的遍历方法分为三种,分别为前序遍历.中序遍历.后序遍历.下图即为一个二叉 ...
- redis集群原理
redis是单线程,但是一般的作为缓存使用的话,redis足够了,因为它的读写速度太快了. 官方的一个简单测试: 测试完成了50个并发执行100000个请求. 设置和获取的值是一个256字节字符串 ...
- CAN信号值解析
本文提供一种可以解析CAN信号各信号值的一种方法并进行说明. 一般情况下,高端一点的设备会计算每一个信号的值,但是接受到CAN信号的报文实际上有各种情况,如何通过设定的起始位和数据长度来获取某一信号的 ...
- Node.js学习笔记(一)基础介绍
什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...
- Extjs grid 组件
表格面板类Ext.grid.Panel 重要的配置参数 columns : Array 列模式(Ext.grid.column.Columnxtype: gridcolumn) 重要的配置参数 tex ...
- Angular.js之指令学习笔记
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...
- .Net小白的第一篇博客
2016年8月8日,经过了一周的纠结.我决定放弃了,原来学了六年并且工作两年的学前教育,走上了开发的道路.我认为生活就应该这样,就应该充满挑战,而不是每天在重复相同的工作!作为插班生的我,于2016年 ...
- WPF 自定义标题栏
在做客户端应用程序时,往往觉得Windows自带的标题栏没有样式,不太好看,下面分享自自定义的一个Windows工具 效果图: <Style x:Key="Buttonclock&qu ...
- 了解 : angular $rootScope 在 ui-view
在view 的element 可以直接调用 <p>{{$stateParams.xx}}</p> 要让xx有资料必须注入 app.run["$rootScope&qu ...
- 【WCF】错误处理(一):FaultException 与 FaultReason 的搭配
这里所说的错误处理主要是指服务代码中抛出的异常,即开发人员主动抛出的错误当然,由于网络问题或者配置不正确,会引发连接超时的错误,但这里老周要说的是,我们在实现服务逻辑时主动抛出的异常,尤其是对客户端传 ...