JavaScript基础 EcmaScript/05-01函数,初识作用域,(上)

JavaScript基础 EcmaScript/05-01函数,初识作用域,(上)


Javascript工程师 简称 js工程师 下节课很难,闭包*

函数一系列功能的集合

<script>
if(1 > 0) {
	document.write("a");
	document.write("b");
	document.write("c");
	}
	if(2 > 0) {
	document.write("a");
	document.write("b");
	document.write("c");
	}
	if(3 > 0) {
	document.write("a");
	document.write("b");
	document.write("c");
	}	
</script>

耦合==重复 低效代码 // 编程原则,高内聚,弱耦合

<script>
function test() {
	document.write("a");
	document.write("b");
	document.write("c");
	}
	if(1 > 0) {
		test()
	}
	if(2 > 0) {
		test()
	}
	if(3 > 0) {
		test()
	}
	</script>
	简化代码
	
<script>
function test() {
	var a = 123;
	var b = 234;
	var c =  a + b ;
	document.write("c");
}
test();
</script>	

以上是函数的基本应用
函数是一个引用值,函数就是装了很多语句的狂,需要执行的时候,才执行

<script>
function test() {
	document.write("hello word");
}

test();
</script>	

定义
1、函数声明

<script>function声明一个函数  名为test (形参)必须加 {代码体}
函数名的起名和变量起名差不多
1、不能以数字开头
2、……
3、theFirstName多个单词起名,要用小驼峰原则  开发规范  
(第一个单词的首字母小写,后边每个单词的首字母大写)
function theFirstName() {	
}
document.write(theFirstName); 函数名指代函数体
C C++这样打印是输出地址,JS 不是,弱数据类型语言输出不了地址 它有地址,但不输出,它输出地址指向的房间
</script>	

2、函数表达式
A 命名函数表达式

<script>
var test = function abc() {
	document.write("hello word");
}
test();
有点像定义一个变量  表达式就是忽略它的名字的 执行的话,还是执行test abc 没什么用
test
//function abc() {
	document.write("a")
	}
	test,上边有个名字是abc
abc //abc is not fefined
以上的函数名test可写可不写,由此可以出现第三种函数表达式==(匿名函数表达式)
</script>	

B、匿名函数表达式 ^因为很常用,所以常指的函数表达式就是这种

<script>
var demo = function () {
	document.write("hello word");
}
demo();
demo,的名字是还是demo
</script>	

组成形式

<script>
function demo () {
	document.write("hello word");
}
demo();
1、以上是规范,
2、有参数才是最神奇的 参数可有可无 且不限位数
function demo (a, b) {
	//a, b 是什么意思, 叫形参,站位样,就相当于在函数里隐式的声明了a,b两个变量 没有值
	//var a,
	//bar b,
	document.write(a + b);
	var c = a + b ;
	document.write(c);
}
demo(1,2); 传参的形式 ()叫实参 也不限位数
demo(3, 4); **有参数之后就很强大,用来抽象规则**

</script>	
<script>
function sum (a, b) {
	if(a > 10) {
	document,write(a - b);
	}else if (a < 10) {
	document,write(a+b);
	}else{
		documetn.write(10);
	}
}
sum(1, 2)
</script>	

形参多,实参少,可以,实参多,形参少也可以
实参多,形参少,多的实参放在,arguments --【 】实参列表 如内数组

<script>
实参数组
console.log(arguments); //打印出数组
console.log(arguments.length); 打印数组长度

function sum(a) {
	for(var i = 0; i <arguments.length; i ++) {
	console.log(arguments.length[ i ]
	}
}
形参长度
例
console.log(sum.length);

function sum(a,b,c d) {
	if(sum.length >argument,length){
		console.log('形参多了')
	}else if (sum.length < arguments.length) {
		console.log('实参多了')
	}lese {
			console.log('相等')
		}
	}
sum(10; 8, 15, 'abc'; undefined);
参数可以不限制

累加器 求和
function sum() {
	for(var i = 0; i < arguments.length; i++) {
	result += arguments[i];
	}
	console.log(result);
}
sum(1,2,3,4,5,6,58,);


内部映射关系,只有形参和实参相等的时候,一个变,另一个跟着变
如果实参少于形参,函数内 b = 2  而打出consol.log(arguments[1]);  //undfined
当变量使用
function sum (a, b) {
	a = 2 
	arguments[0] = 3;
	console.log(a);
	}
	sum(1, 2);
终止 + 返回值 return //函数终止
终止函数
function sum (a, b) {
	console.log('a');
	return
}	
sun();

又返回值又终止函数
function sum() {
	return 123;
	console.log('a); //打印不出来
}
var num = sum ();

例:
function myNumbera(target) {	
	return +target;
}
var num = myNumber('123');
console.log(thpeof(num) + " " + num);
</script>	

typeof两种用法
1、typeof()
2、typeof 123

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值