JavaScript进阶 函数、定义函数、函数应用、对象

本文深入探讨了JavaScript中函数和对象的基本概念、使用方法及高级应用,包括函数的定义、参数、作用域、回调函数等核心特性,以及如何声明、操作和自定义对象。文章详细解释了对象的遍历、with语句的使用,并提供了自定义对象的多种实现方式,旨在帮助开发者掌握JavaScript中函数和对象的高效应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、函数

函数,是一段完成“指定功能”的已经“命名”的代码段。

函数只有“调用”才能使用到,通过“命名”调用。 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










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值