运行效果:
函数嵌套函数
之前我们讲嵌套函数,是这样的:
function func(){
function e(){
console.log(‘e’);
}
e();
}
func();
e是局部的,func()中执行
讲闭包是这样的:
function func(){
var count = 0;
e = function (){
console.log(‘e’);
count ++;
}
}
func();
e();
e是全局的,不由func调用
或者这样的:
function func(){
var count = 0;
var e = function (){
console.log(‘e’);
count ++;
}
return e
}
var e = func();
e();
将e函数return出来,运行结果同上
所以如果要在外部使用这个嵌套函数,一种办法是return出来,这时e仅是对象;另一种是,用函数名.属性的方式,在外层函数执行之后使用这个嵌套函数,这时e是函数的自定义属性
将内嵌函数return出来的方法:
function func(){
var e = function (){
console.log(‘e’);
}
return e;
}
// func();
var e = func();
e();
运行效果:e函数在大环境被顺利调用执行
函数名.属性方法:
function func(){
func.e = function e(){
console.log(‘e’);
}
}
func();
运行效果:e函数在大环境被顺利调用执行
所以,实现计数器的功能,之前用闭包实现,现在又有了一个新的方式
function f(){
if (f.x == undefined){
console.log(‘f.x初始化’);
f.x = 0;
}
return f.x++
}
for (var i = 0; i < 10; i++){
console.log(‘i:’+ i + ’ x:’ + f());
}
效果:
之前用闭包是这样的:
//版本一
function f1(num){
var count = 0;
plus = function(num){
console.log(‘i:’+ num + ’ count:'+ count)
count ++;
}
}
f1();
for ( var i = 0; i < 10; i++){
plus(i);
}
//改进版本
function f1(){
var count = 0;
plus = function(){
return count ++;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
资料过多,篇幅有限,需要文中全部资料可以点击这里免费获取前端面试资料PDF完整版!
自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。
这些内容对你有帮助,可以扫码获取!!(备注:前端)**
[外链图片转存中…(img-XcheRWb9-1713726995647)]
最后
[外链图片转存中…(img-JV7HJTUS-1713726995647)]
[外链图片转存中…(img-OhKw9rVL-1713726995648)]
资料过多,篇幅有限,需要文中全部资料可以点击这里免费获取前端面试资料PDF完整版!
自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。