函数:封装
参数没传默认值是undefiend
做一下形参的初始化,默认值的处理。即容错处理
为什么要用返回值:函数体内部的变量在函数体外部无法拿到
返回的一定是值不是变量
没写return默认返回值就是undefined
return的作用函数体不再往下执行
- let btnList=document.querySelectorAll('button');
- for(var i=0;i<btnList.length;i++){
- btnList[i].onclick=(function(i){
- return function(){
- console.log(`按钮${i+1}`)
- }
- })(i)
- }
这段代码的底层原理
函数的基础知识:
创建函数:
function + 函数名
()里面是形参
大括号是函数体
函数执行:
加小括号,传递的参数是具体的值
形参是入口,return返回东西
遇到return函数体不执行
return函数里面的东西;没写默认是undefined
底层原理,浏览器运行的底层机制,浏览器就这么干的:
栈内存供代码执行,即内存条中的栈内存
fn:如何创建变量
var let const function class import
引用数据类型存储:单独开辟一块堆内存,因为结构比较复杂,不是直接存储在栈内存的值存储空间中。
创建函数,开辟的堆内存中,存储的是函数体中的代码字符串
函数执行:
会形成新的私有栈内存。执行100次,就会形成100个新的栈内存。
内存的释放和溢出问题,哪些销毁哪些不销毁,不销毁即闭包。
VO AO