函数,初始作用域

函数,初始作用域
1.函数:
(1)函数的基本应用:
1.偶合:重复,代码重复。是低效代码
2.编程讲究:高内聚,弱偶合:把相同代码抽取出来,放到一个黑匣子里,用的时候,调用黑匣子就行。
3.如何调用:写上函数名,加一个括号。
如function test{ document.write('a')} test(); 输出:a
4.函数这个框框装了很多条语句,也是个引用值,我们让它执行时,它才执行,调用的时候才执行。
(2)函数的定义:
1.函数声明:声明一个test函数:function test() function+函数名,函数名就是变量+()+{代码,就是函数所需要执行的语句}。test.name 结果是 test 。
2.函数起名:无论是函数名还是变量名,都要遵从小驼峰规则:多个单词拼接,第一个单词首字母小写,往后单词首字母大写。
3.函数表达式:
(1) 命名函数表达式:var test = function abc(){} 表达式(function abc(){ }):忽略它的名字,编译后会变成匿名函数表达式。console.log(test):会把整个函数的内容输出。console.log(abc):会报错。test.name;结果是abc。
(2)常用:匿名函数表达式:var test = function (){ } test.name 结果是 test 。
4.组成形式:
(1)有函数关键字function、有函数名、有小括号、有大括号 (没)有参数。
(2) 参数:小括号里的添的东西为参数。function test(a,b):相当于隐式的在函数体 var a;var b。没有值,然后通过传递参数的形式进行赋值,在函数执行时,在函数执行的括号的括号里写下对应的数字
test(1,2);结果 a=1 b=2。
添加参数时,不需要在其前面写 var 直接写参数就行,形参和实参的个数是可以不相等的,形参和实参是一一对应的,实参多,形参少时:一一对应后,余下的实参不用管;实参少,形参多时:一一对应后,余下的形参是undefined。
(3)形参:不代表实际的值,只是占一个位置。function test(a,b); a和b为形参。
(4)实参:实际执行时,传递的参。不一定是数字,什么都可以。function test(a,b){}test(1,2,3,4,5);1和2为实参 。

小练习:如果实参第一个数大于10,就a-b,如果不大于就a+b,否则就打印10。
(5)arguments(实参列表):在每一个函数里面都有一个隐式的东西,这个东西是arguments:一个类数组,我们暂且理解为数组。无论你的形参有没有接收完实参,arguments 都会把你的实参当成一个数组存储起来。
function test(a,b){}test(1,2,3,4,5);argunments--->[1,2,3,4,5]。能够打印出argunments,也能打印它的长度,也能把实参遍历出来。
实参和形参个数不一样时,arguments不映射,比如 test(a,b); b=2; arguments[1]:结果是undefind
(6) 形参的长度:函数名.length

小练习:1.当形参大于实参时,打印形参多了,反之。
2.不定参,求和。
(7)函数条件加返回值:return:终止函数:没有的时候,会自动隐式在函数结尾加上。
中止函数:function sum(a,b){console.log(‘a’);return;console.log(‘b’);} sum(1);结果是a;
返回功能且终止函数:function sum(){return 123} var num = sum();console.log(num); 结果:123

作用域:
全局变量:全局上定义的变量。
局部变量:函数里面定义的变量。
1.函数里面的能访问函数外面的。里面能访问外面,外面不能访问里面。越往里权重越大
2. 彼此独立的函数不能访问。

全部评论

相关推荐

2024-12-29 15:37
已编辑
西华大学 图像识别
程序员牛肉:去不了,大厂算法卡学历吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务