JavaScript函数变量的生命周期,自执行函数、闭包、反转数组案例及冒泡排序
一、变量的生命周期JavaScript 变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除。
全局变量会在页面关闭后被删除。
二、自执行函数
执行函数通常都是定义之后立即执行,以后都不再会调用,所以声明时可以省略函数名,因此自执行函数又叫匿名函数。
通用的自执行函数方式有两种:
1、在给该函数加上小括号,后面紧跟小括号
(function(){console.log('我是匿名函数')})()2、在函数后边加上小括号,然后再用个小括号把函数和小括号一起包起来
(function(){console.log('我是匿名函数')}())案例:一个列表里有6个li,要求点击li的时候打印当前被点击li的索引。
<ul>
<li>这是第1个li</li>
<li>这是第2个li</li>
<li>这是第3个li</li>
<li>这是第4个li</li>
<li>这是第5个li</li>
<li>这是第6个li</li>
</ul>点击对应li获取下标
三、闭包
闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。
总而言之,闭包就是对函数的嵌套
四、反转数组案例
第一种方法:
// var arr =
// function reverse(arrone){
// var newArr=[];
// for(var i = 0 ;i<=arr.length-1;i++){
// newArr = arr;
// }
// return newArr;
// }
// console.log(reverse(arr));核心思想,创建一个新数组,使原数组按照倒着的顺序排放进新数组,最后将新数组输出
五、冒泡排序
封装一个函数,输入任意一个数,都能让这个数组从大到小进行排序 var arr =[]; function list(arr){ var temp; for(var l = 0;l
页:
[1]