这是我参与[第五届青训营]伴学笔记创作活动的第8天 js最经常使用到的函数,今天我做了一个系统的学习,对函数有了一个比较清晰的认知 为什么要使用函数?
为什么要使用函数?
function,被设计为执行特定任务的代码块
可以把相同或者相似逻辑的代码块包裹起来,
然后通过调用函数执行,随时调用随时执行
有利于精简代码,方便复用
语法格式
function fun1() {
document.write('函数调用
')
}
**调用函数**,不调用无法实现函数!
fun1()
可以复用
fun1()
fun1()
像alert其实也是一种函数,只不过内部已经写好了,
不需要我们去调用,直接写直接用
立即执行函数,打开网页时无需被调用可以直接实现
可以防止全局变量之间的污染
(相同的变量名太多,导致错误)
(function(){
document.write(123)
打开网页,123直接被输出!
}) ();
多个立即执行函数之间,需要用分号;隔开,否则报错
(function(){
document.write(456)
}) ();
首先说明一点,函数如果不传入参数会怎么样?
如果变量没有被赋值,那么默认为undefined
导致的后果就是,undefined+任何类型的数据都为NaN(Not a Number)
除了加上字符串,会隐式转换为字符串类型
作用域:代码只在哪个范围生效 全局作用域:在整个script标签里面有效 局部作用域:也称函数作用域,只在函数内有效 块作用域:只在{}里有效
let num1 = 1 // 全局变量
// 可以在整个script里被修改、使用
function fn(){
let num2 = 10 // 局部变量
// 只能在fn()的作用域里使用
}
要注意一个嵌套的问题
function father(){
let num3 = 10
console.log(num3)
function son(){
let num4 = 10
console.log(num1)
/* 在这里为什么可以调用最外面的num1呢?
子函数可以调用父级的变量! */
}
son()
console.log(num4)
// 但是父级不能调子函数里面的变量!
}
father()