自定义函数

函数的定义与调用(无返回值)

//函数有参数
function Sum(x,y){ 
	alert(x+y);
}

函数无参数
function Today(){
	let d=new Date;
	alert(d.toLocaleDateString());//如果函数后面不加括号那么就认为是属性,会出错
}

函数有参数,修改表格对象属性。
function stReName(strName){
	ActiveSheet.Name=strName;
}
function test(){
	stReName("实例表");
}

函数无参数,使用表格对象方法。
function stDel(){
	ActiveSheet.Delete();
}

应用

function rngFormat(cell,intColor){
	let rngs=cell.EntireRow;
	let rngs2=rngs.Range("a1").Resize(1,WorksheetFunction.CountA(rngs));
	rngs2.Interior.ColorIndex=intColor;
}

function 应用1(){
	Range("a2:h999").Interior.Pattern=xlPatternNone;
	for (let ce of Range("g2:g15")){
		if (ce.Value()>=10){
			rngFormat(ce,6)
		}
	}
}

function 应用2(){
	Range("a2:f999").Interior.Pattern=xlPatternNone;
	for (let ce of Range("f2:f15")){
		if (ce.Value()>=100){
			rngFormat(ce,3)
		}

函数的定义与调用(有返回值)

```javascript
function test(){
	Rngs("Sheet1","B2","c").Value2=1000;
}

function Sum(x,y){
	return x+y;
}
function Today(){
	let d=new Date;
	return d.toLocaleDateString();
}
function test2(){
	Range("g19").Value2 = Today();
}
function Rngs(shName,strCell,strCol){
	let sh=Sheets(shName);
	return sh.Range(sh.Range(strCell),sh.Range(strCol + "999999").End(xlUp));
}

应用

function demo(){
	let arrScore=[58,69,100,77];
	Console.log(Sum(arrScore));//求和
	Console.log(Len(arrScore));//计数
	Console.log(Avg(arrScore));//平均
	Console.log(Max(arrScore));//最大值
	Console.log(Min(arrScore));//最小值
}


function Sum(arr){ //求和
	let intTotal=0;
	for (let intVal of arr){
		intTotal +=intVal;
	}
	return intTotal;
}


function Len(arr){ //计数
	return arr.length
}

function Avg(arr){ //平均
	return Sum(arr)/Len(arr)
}

function Max(arr){ //最大值
	return Math.max(...arr)
}

function Min(arr){ //最小值
	return Math.min(...arr);
}

匿名函数-函数表达式

匿名函数,就是没有函数名称。
	let f1=function(x,y){return x+y};					//赋值给变量
	console.log(f1(1,2));
	console.log(function(x,y){return x+y}(1,3));			//立即调用
	let arr=[4,1,7,2,5];
	arr.sort(function(x,y){return x-y});					//作为其他函数的参数
	let f2=function(x,y){let z=x+y;let n=z*10;return n}	//函数中可以有多条语句
	console.log(f2(3,4))

更简化的匿名函数-箭头函数

箭头函数是更简化的匿名函数。箭头函数非常适合作为值传给其他函数,比如数组中的map(),filter(),reduce()等方法。

	const sum1=(x,y)=>{let z=x+y;return z};//有多条语句
	console.log(sum1(5,6))
	const sum2=(x,y)=>x+y;//只有一条return语句
	console.log(sum2(8,9));
	const sum3=x=>x+10;//只有一个参数
	console.log(sum3(100));
	const sum4=()=>100+200;//无参数
	console.log(sum4())

递归函数

function demo(){
	console.log(sum(4))
}

function sum(n){
		if (n==1){
			return 1
		}else{
			return sum(n-1)+n
		}
}

自定义函数之可选参数

在JS宏里,声明一个函数可以定制多个参数,与此同时,你在调用该函数的时候不需要传入所有的参数,它就能正常执行,原因在于这些参数默认已设定好了。

function CardID(id,type="sex"){
	switch (type){
		case "sex":{
			if (id[16]%2==1){
				return "男";
			}else{
				return "女";
			}
		}
		case "year":{
			return `${id.slice(6,10)}`;
		}
		
	}
}

自定义函数之变长参数

如果自定义的函数参数个数不定,则可以使用…args的方式,args是一个数组,可以获取不同参数的值。

function sum(...arr){
	let intNum=0;
	for (let v of arr){
		intNum +=v;
	}
	return intNum;
}


function demo(){
	alert(sum(1,2,3));
	alert(link("-",233,45,23,456));
}

function link(delemiter,...arr){
	return arr.join(delemiter)
}

JS内置函数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

star星梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值