JavaScript函数与作用域

JavaScript函数与作用域

函数特点

高内聚,低耦合

基本格式与命名规范

  1. 函数名首字母小写,后面的首字母均大写

      function printHelloWorld(a) {
      	document.write("Hello, World!");
      	return a;
      }
    
  2. 三种函数定义方式

     	直接定义函数表达式
     	function printHelloWorld() {
     		document.write("Hello, World!");
     	}
     	调用方式 printHelloWorld();
     	命名函数表达式
     	function test = printHelloWorld() {
     		document.write("Hello, World!");
     	}    		
     	调用方式 test();
     	匿名函数表达式
     	function test = () {
     		document.write("Hello, World!");
     	}
     	调用方式 test();
    

参数

形参与实参
function add(x, y) {
	var c = a + b;
	document.write(c);
}

形参和实参数目可以不同,但会有一个数组arguments[] 存储实参列表,并且与最初传入的实参相对应

  • 形参 > 实参
    未给值形参为 undefined,arguments[]中只含有实参个数的参数,在函数体中改变多余的形参,arguments[]中的对应位置参数不变

  • 实参 > 形参
    后面实参舍弃,arguments[]中只含有实参个数的参数,在函数体中改变形参,arguments[]中的对应位置参数也变

      function add(a, b, c) {
      	console.log(arguments);
      }
      add(1, 2, 3, 4);
    

在这里插入图片描述

形参和实参的利用

function add(a, b, c, d) {
	if(add.length > arguments.length) {
   		console.log("形参多了");
	} else if(add.length < arguments.length) {
		console.log("实参多了");
	} else {
		console.log("形参和实参数目相等");
	}
	}
		add(1, null, undefined, "acb");

不定参数个数求多个数字相加的结果

function add(a) {
	var result = 0;
	for(var tmp = 0; tmp < arguments.length; tmp++) {
		result += arguments[tmp];
	}
	console.log(result);
}
add(1, 2, 3, 4);

将输入的数字逆序并输出对应的汉字形式

function reverse() {
			 var num = window.prompt("Please input the number:");
			 var str = "";
			 for(var i = num.length - 1; i >= 0; i --) {
				 str += transfer(num[i]);
			 }
			document.write(str);
		 }
function transfer(target) {
			switch(target) {
				case "1" :
					return "壹";
				case "2" :
					return "贰";
				case "3" :
					return "叁";
			}
		}
reverse();

作用域

全局变量,局部变量

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值