JavaScript进阶 函数、定义函数、函数应用、对象
2015-06-25 11:17
543 查看
一、函数
函数,是一段完成“指定功能”的已经“命名”的代码段。
函数只有“调用”才能使用到,通过“命名”调用。 JavaScript中函数的特性:可以在声明之前调用,也可以在声明之后调用。
函数包括:
1、函数名(匿名函数可以不用命名,直接调用)
2、参数。根据需要使用参数
3、函数体。可以实现的功能
4、返回值。可以没有返回值
函数名不加()时,这个变量代表整个这个函数。
加()时,代表调用函数
函数作为参数传递给另一个函数时,用药不加()的模式,因为不是调用,而是传递变量。
回调函数:在函数中作为参数的函数,可以用不加()的函数名,也可以用匿名函数,直接放入函数的声明
使用情况:当函数的功能需要多样化,普通参数已经不能满足实现功能的情况下,使用毁掉函数来解决这一问题
JavaScript是基于对象的操作方式(所有对象都只是使用形式,没有类的概念--封装、多态、继承),而不是面向对象的语言.
我们自定义的所有函数都是windows对象的子函数,可以通过Windows.xxx调用函数。只是默认Windows对象可以省略。
JavaScript中有许多已经定义好的函数可以直接通过Windows对象调用。除了Windows对象,JavaScript还封装了其他对象
二、对象解析:
Global对象的方法:
1、escape(charString) :将字符串charString编码。
2、unescape(charstring) :将字符串charString解码
3、parseInt(numString, [radix]) : 将numString转换成整数, radix代表进制,默认为0x,10进制
4、parseFloat(numString):将numString转换为浮点数
5、isFinite(number):判断number是否为NaN 、负无穷或正无穷,如不是,返回true。
6、isNaN(numValue),如果值是 NaN,返回true
7、eval(codeString) 检查并执行代码(字符串)
三、对象的声明和操作:
1、JavaScript中对象的概念
JavaScript的对象只是将一些相关的属性和函数整合到一起,方便使用,相当于就是一些操作的整体
比如:
字符串对象,将所有跟字符串有关的操作整合到一个整体里面,将此整体称为字符串对象。
数学对象、数组对象、时间对象
2、对象中的内容:
1)属性(变量)
2)方法(函数)
3、对象的运用
1)声明对象
2)使用对象
3)使用系统的对象(浏览器自带的对象)
四、自定义对象
对象相当于是一个容器。需要给一个自定义名字。因为使用时要new+ 对象()来创建对象实例。
自定义对象有三种:
1、动态对象 (少用)
2、封装对象
3、用传参的形式定义对象的初始化(相当于构造函数)
五、对“对象”的操作
1、将“对象”遍历:
1)自定义对象的遍历:
2、内嵌对象with
with(对象)(){
对象. 属性;
对象. 方法;
}
调用对象的属性和方法时,可以省去对象,默认为本对象的this
函数,是一段完成“指定功能”的已经“命名”的代码段。
函数只有“调用”才能使用到,通过“命名”调用。 JavaScript中函数的特性:可以在声明之前调用,也可以在声明之后调用。
test(); function test(){ 功能段(一条,或多条) } test();
函数包括:
1、函数名(匿名函数可以不用命名,直接调用)
2、参数。根据需要使用参数
3、函数体。可以实现的功能
4、返回值。可以没有返回值
函数名不加()时,这个变量代表整个这个函数。
加()时,代表调用函数
函数作为参数传递给另一个函数时,用药不加()的模式,因为不是调用,而是传递变量。
回调函数:在函数中作为参数的函数,可以用不加()的函数名,也可以用匿名函数,直接放入函数的声明
使用情况:当函数的功能需要多样化,普通参数已经不能满足实现功能的情况下,使用毁掉函数来解决这一问题
JavaScript是基于对象的操作方式(所有对象都只是使用形式,没有类的概念--封装、多态、继承),而不是面向对象的语言.
我们自定义的所有函数都是windows对象的子函数,可以通过Windows.xxx调用函数。只是默认Windows对象可以省略。
JavaScript中有许多已经定义好的函数可以直接通过Windows对象调用。除了Windows对象,JavaScript还封装了其他对象
二、对象解析:
Global对象的方法:
1、escape(charString) :将字符串charString编码。
2、unescape(charstring) :将字符串charString解码
3、parseInt(numString, [radix]) : 将numString转换成整数, radix代表进制,默认为0x,10进制
4、parseFloat(numString):将numString转换为浮点数
5、isFinite(number):判断number是否为NaN 、负无穷或正无穷,如不是,返回true。
6、isNaN(numValue),如果值是 NaN,返回true
7、eval(codeString) 检查并执行代码(字符串)
三、对象的声明和操作:
1、JavaScript中对象的概念
JavaScript的对象只是将一些相关的属性和函数整合到一起,方便使用,相当于就是一些操作的整体
比如:
字符串对象,将所有跟字符串有关的操作整合到一个整体里面,将此整体称为字符串对象。
数学对象、数组对象、时间对象
2、对象中的内容:
1)属性(变量)
2)方法(函数)
3、对象的运用
1)声明对象
2)使用对象
3)使用系统的对象(浏览器自带的对象)
四、自定义对象
对象相当于是一个容器。需要给一个自定义名字。因为使用时要new+ 对象()来创建对象实例。
自定义对象有三种:
1、动态对象 (少用)
function Play(){ } var p = new Play(); //属性 p.width = 300; p.height = 200; p.num = 4; p.autotime = 3; //方法 p.autoplay = function(){ alert('----play---'); } p.test = function(){ } alert(p.width); p.autoplay();
2、封装对象
function Play(){ var p = new Object(); //属性 p.width = 300; p.height = 200; p.num = 4; p.autotime = 3; //方法 p.autoplay = function(){ alert('----play---'); } p.test = function(){ } return p; } var p = Play(); //封装好后可以不用new,直接调用即可 alert(p.width); p.autoplay();以上对象也可以动态添加属性和方法
3、用传参的形式定义对象的初始化(相当于构造函数)
function Play(width,height,num,autotime){ this.width = width; this.height = height; this.num = num; this.autotime = autotime; this.autoplay = function(){ alert("#####"); } this.test = function(){ } } var p = new Play(3000,200,8,3); alert(p.width); p.autoplay();
五、对“对象”的操作
1、将“对象”遍历:
1)自定义对象的遍历:
for(var pro in p){ document.write('p'+pro + '=' + p[pro]+'<br>'); }2)系统对象的遍历:
for(var pro in document){ document.write('document.'+pro +'='+ document[pro]+'<br/>'); }
2、内嵌对象with
with(对象)(){
对象. 属性;
对象. 方法;
}
调用对象的属性和方法时,可以省去对象,默认为本对象的this
相关文章推荐
- JavaScript学习之变量类型
- 使用javascript提交form表单方法汇总
- js通过NPAPI调用本地应用程序并传参
- Javascript引擎单线程机制及setTimeout执行原理说明
- 201506250923_《Javascript权威指南(第六版)——检查是否为函数、不完全函数、记忆的函数 》(P193-200)
- 如何在javascript中new一个对象并且赋给它属性和方法
- [JS]定时执行的处理类PeriodicalExecuter 介绍(可以替代setInterval)
- 自己写的JS排序算法
- javascript学习笔记之函数定义
- js startWith
- JS快速获取图片宽高的方法
- javascript控制台详解
- 在js里的路径问题
- extjs-->form
- js自总结01
- Ajax中解析Json的两种方法对比分析
- 深入分析js中的constructor 和prototype
- 新手快速学习JavaScript免费教程资源汇总
- (摘录)javascript笔试题
- Arcgis for Javascript之featureLayer图和属性的互操作