发布于2021-06-20 18:10 阅读(633) 评论(0) 点赞(28) 收藏(0)
函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。
它也是个对象。可以封装一些功能(代码),在需要的时候可以执行这些功能(代码);封装到函数中的代码不会立即执行。
使用typeof检查一个函数对象时,会返回function;
二、函数的语法:
函数就是包裹在花括号中的代码块,
当调用函数时,函数中封装的代码会按照顺序执行。
function functionname(){
要执行的代码;
}
注意:JavaScript对大小写敏感,关键字function必须是小写的,并且以与函数名称相同的大小写来调用函数。
当调用该函数时,会执行函数内的代码块。
三、函数的创建:
81
语法: 语法:function 函数名([形参1,形参2,...,形参N]){
语句
}
说明:[形参1,形参2,...,形参N]这里的[]表示可以使用参数也可以不使用参数
函数的调用:函数名([实参1,实参2,...]);
例:
var fun3= function(){
alert("这是一个匿名函数")
};
fun3();
语法:函数对象();
四、函数的参数:
1.在调用函数时可以向其传递值,这些值被称为参数。这些参数可以在函数中使用;可以发送任意多的参数,由逗号(,)隔开;声明函数时,请把参数作为变量来声明。变量和参数必须一致的顺序出现。第一个变量就是第一个被传递的参数给定的值,以此类推。
function myfunction(val1,val2){
这里要执行的代码;
}
有时我们会希望函数将值返回调用它的地方。通过return语句就可以实现,在使用return语句时,函数会停止执行,并返回指定的值。如果return后的语句不跟任何值,就相当于返回一个undefined。
例:function myfunction(){
Var x=5;
return x;
}
会返回5;
注意:整个JavaScript并不会停止执行,仅仅是函数。JavaScript将继续执行代码,从调用函数的地方。函数调用将被返回值取代;
实例:
82
“demo”元素的innerHTML将是:12
如果您仅仅希望退出函数时,也可使用return语句。返回值是可选的。
实例:
83
如果a大于b,则上面的代码将退出函数,并不会计算a和b的总和。
函数定义完,立即被调用,这种函数叫做立即执行函数。
立即执行函数往往只会执行一次
实例:
函数也可以作为对象的属性,如果一个函数作为一个对象的属性保存,那么我们称这个函数是这个对象的方法,调用函数就是调用对象的方法,它只是名称上的区别,没有其他的区别。
使用for...in语句
语法:for(var 变量 in 对象){
//语句
}
实例:
九、作用域
- 作用域指一个变量的作用范围
- JS中一共两种作用域
1.全局作用域
2.函数作用域(局部作用域)
1.全局作用域
- 直接写在script标签的JS代码,都在全局作用域
- 全局作用域在页面打开的时候创建,在页面关闭时销毁
- 在全局作用域中有一个对象window,它代表一个浏览器的窗口,它由浏览器创建,我们可以直接使用
- 在全局作用域中:
创建的变量都会作为window对象的属性保存
全局中的函数都会作为window对象的方法保存
- 全局作用域中的变量都是全局变量
在页面的任意的部分都可以访问到
2.函数作用域
- 调用函数时创建函数作用域,函数执行完毕以后,作用域销毁
- 每调用一次函数就会创建一个新的函数作用域,他们之间是相互独立的
- 在函数作用域中可以访问全局变量,
但在全局作用域中无法访问到局部变量
- 当在函数作用域操作一个变量时,它会先在自身作用域中寻找,如果有就直接使用,如果没有就向上一作用域中寻找,直到找到全局作用域,如果全局作用域中仍然没有找到,则会报错ReferenceError
- 在函数中想要访问全局变量可以使用window对象
原文链接:https://blog.csdn.net/chenmo2001/article/details/117647337
作者:js是天下最好的语言
链接:http://www.qianduanheidong.com/blog/article/135933/910eae8d821bff3c78a2/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!