JavaScript学习笔记025-闭包0缓存计算0console属性

Author:Mr.柳上原

  • 付出不亚于任何的努力
  • 愿我们所有的努力,都不会被生活辜负
  • 不忘初心,方得始终

终于还是走到了这一天

要奔向各自的世界

一路我们曾携手并肩

用汗和泪写下永远

拿欢笑荣耀换一句誓言

夜夜在梦里相约

原生javascript结业

nodejs结业

mongodb结业

vuejs结业

该出去找工作了

这几天废寝忘食的写完两个项目

一个nodejs+mongodb结合pug的全栈博客

一个vue的类商城手机app

上传到了github上,有需要的朋友可以看看

js的学习笔记

我会上传完的

谢谢大家!

谢谢老师!

谢谢同学!

谢谢所有人!

放心去飞

勇敢地去追

追一切我们未完成地梦

放心去飞

勇敢地挥别

说好了这一次不掉眼泪

<!DOCTYPE html> <!-- 文档类型:标准html文档 -->

<html lang='en'> <!-- html根标签 翻译文字:英文 -->

<head> <!-- 网页头部 -->

<meat charset='UTF-8'/> <!-- 网页字符编码 -->

<meta name='Keywords' content='关键词1,关键词2'/>

<meta name='Description' content='网站说明'/>

<meta name='Author' content='作者'/>

<title>前端59期学员作业</title> <!-- 网页标题 -->

<link rel='stylesheet' type='text/css' href='css/css1.css'/> <!-- 外链样式表 -->

<style type='text/css'> /*内部样式表*/

</style>

</head>

<body> <!-- 网页主干:可视化区域 -->

<script>
/*
闭包:
1.函数a嵌套函数b
2.函数b使用父级函数a的变量或参数
闭包的特性:
闭包内使用的父级函数的变量或参数会永久保存
*/
// 普通函数与闭包的区别
document.onclick = function (){
let i = 0; // 每次调用都会从新赋值为变量原来的值
console.log(++ i); // 普通函数每调用一次后,值都会被回收
}
// 解决办法:定义一个全局变量,或使用闭包
let i = 0; // 在函数外面定义一个全局变量,全局变量不会被回收,长生不老
document.onclick = (function (j){
let i = 0; // 无需定义全局变量
return function ( ){
console.log(++ i, ++j); // 变量i和参数j的值永久保存
}
}(0));

// 闭包的应用
// 计算结果缓存
// 阶乘
function fn(){
let obj = {
"1!": 1
};
let b = 0;
return function ff(n){
console.log(`我会运行${b += 1}次`);
let attr = `${n}!`; // 阶乘 1!   2!   3!
if(obj[attr]){
console.log(obj);
return obj[attr]; 
} else {
obj[attr] = n * ff(n - 1);
return obj[attr];
}
}
}
const fy = fn();
fy(10); // 第一次为缓存,没有输出
fy(9);

// console
console.log("fy"); // 输出结果
console.count("我执行了几次:"); // 监控代码执行次数
console.dir(fn); // 输出数据类型的属性
console.time("fn");
fn(10);
console.timeEnd("fn"); // 查看中间代码执行的时间段
console.assert(1, "断言提示"); // 当第一个参数为true,后面的参数不会被输出到控制台
console.group("组一");
console.log(1);
console.log(1);
console.groupEnd("组一"); // 成组输出信息
console.group("组二");
console.groupCollapsed(1); // 输出信息加粗
console.groupEnd("组二");

</script>

</body>

</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基于Vue和WeUI的组件库...
    David_48a5阅读 4,806评论 0 31
  • UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基于Vue和WeUI的组...
    鲁大师666阅读 43,536评论 5 97
  • UI组件 element★9305 - 饿了么出品的Vue2的web UI工具套件Vux★6802 - 基于Vue...
    长是人千离阅读 5,800评论 0 30
  • Vue2.0+组件库总结 UI组件 element - 饿了么出品的Vue2的web UI工具套件 Vux - 基...
    szch阅读 5,944评论 1 52
  • 应老师:您好! 这两天我听了亲子教育的音频,感悟很深。也真正明白原来我在教育孩子,以及跟老师沟通上处理方式的错误,...
    上瑶阅读 2,444评论 0 0