//获取内部变量的值 f2为闭包
function f1(){
var n = 999;
function f2(){
return n;
}
return f2;
}
var result = f1();
alert(result());
//闭包用途 UI初始化
var datamodel = {
table : [],
tree : {}
};
(function(dm){
for(var i=0;i<dm.table.rows; i++){
var row = dm.table.rows[i];
for(var j=0;j<row.cells; j++){
drawCell(i,j);
}
}
})(datamodel);
//们创建了一个匿名的函数,并立即执行它,由于外部无法引用它内部的变量
//执行完后很快就会被释放,关键是这种机制不会污染全局对象
//闭包用途 缓存数据
var CachedSearchBox = (function(){
var cache = {};
return{
attachSearchBox : function(dsid){
if (dsid in cache){//如果结果在缓存中
alert("获取缓存中的值");
return cache[dsid];
}
alert("新建的值");
var fsb = new Array("one","two","11","14","13","11","13","12");//新建
cache[dsid] = fsb;//更新缓存
return fsb;
},
clearSearchBox : function(dsid){
if( dsid in cache){
delete cache[dsid];
}
}
};
})();
alert(CachedSearchBox.attachSearchBox("input1"));//新建的值
alert(CachedSearchBox.attachSearchBox("input1"));//获取缓存中的值
CachedSearchBox.clearSearchBox("input1");//清除
alert(CachedSearchBox.attachSearchBox("input1"));//新建的值
alert(CachedSearchBox.attachSearchBox("input1"));//获取缓存中的值
// 闭包用途 数据封装 对象
function Person(){
var names = "default";
return {
getName : function(){
return names;
},
setName : function(newname){
names = newname;
}
}
};
//alert(names); 直接报错 names 未定义
var json = Person(); alert(json.getName());//default
json.setName("json"); alert(json.getName());//json
分享到:
相关推荐
这份“javascript学习笔记整理知识点整理”是针对初学者的一份宝贵资料,涵盖了JavaScript的基础知识,旨在帮助新手快速入门并掌握这门语言的核心概念。 一、变量与数据类型 在JavaScript中,变量用于存储数据。...
JavaScript是一种广泛应用于网页和网络应用的脚本语言,它在浏览器端...通过阅读"JavaScript从入门到精通学习笔记.docx"文档和解压"Chapter2.rar",你将深入探索以上各个知识点,逐步成为一名熟练的JavaScript开发者。
本学习笔记将深入探讨JavaScript的核心概念,包括变量、数据类型、操作符、控制流程、函数、对象、数组、原型链、闭包等,并结合实际示例,如my.js、order.js、login.js等文件,来讲解其在实际项目中的应用。...
这份"javascript入门学习笔记"旨在为初学者提供一个全面且深入的JavaScript学习路径。 一、基础语法 JavaScript的基础包括变量、数据类型、操作符、流程控制等。变量用于存储数据,数据类型分为基本类型(如字符串...
"Javascript学习笔记(传智播客视频学习笔记+代码)"是一份全面介绍JavaScript基础知识的学习资源,适用于初学者。这份笔记结合了传智播客的web前端培训视频内容,提供了丰富的理论讲解和实践代码,帮助读者从零开始...
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现
这个“javaScript学习笔记.rar”压缩包显然包含了作者在学习JavaScript过程中的心得和记录,对于初学者或者想要深入理解JavaScript的人来说,是一份宝贵的资源。 JavaScript与Java虽然名字相似,但两者实际上是不同...
压缩包中的“JavaScript学习笔记集”可能包含了语言的基本概念、语法特性、面向对象编程、闭包、原型链、作用域、异步编程等内容的详细解释。而“代码库”可能包含了大量的示例代码,涵盖各种常见任务,如表单验证、...
这只是JavaScript学习笔记的一小部分,JavaScript还有更多高级特性和概念,如对象、数组、函数、类、模块、闭包等,以及DOM操作、事件处理、Ajax异步请求等内容,需要进一步深入学习和实践才能掌握。
本学习笔记专为初学者设计,旨在帮助新接触JavaScript的人快速掌握这门语言的核心概念和实用技巧。 首先,"JavaScript特效.chm"可能是一份关于JavaScript实现的各种网页特效的教程。这些特效可能包括图片轮播、下拉...
JavaScript学习笔记——深入理解基础与函数 在JavaScript中,学习基础知识是至关重要的,因为它是所有进一步编程技巧的基础。首先,我们需要了解JavaScript中的数据类型。在JavaScript中,有五种简单的数据类型:...
这篇"JavaScript入门新手学习笔记"提供了全面的学习资源,适合初学者系统性地掌握这一技术。 笔记可能包含了以下关键知识点: 1. **基础语法**:JS的基础包括变量(var、let、const)、数据类型(如字符串、数字、...
JavaScript 基础学习笔记 本资源摘要信息基于黑马视频记录的学习笔记,涵盖了 JavaScript 基础知识点,包括 HTML、CSS、JavaScript、DOM、事件处理等内容。 HTML 和 CSS 基础 * HTML 结构:head、body、title、...
本学习笔记全面涵盖了JavaScript的语法和用法,旨在帮助初学者快速掌握并深入理解这门语言。 一、基础语法 JavaScript的基础包括变量、数据类型、操作符和流程控制。变量在JavaScript中使用`let`、`const`和`var`...
这份“JavaScript学习笔记”涵盖了JavaScript的基础、进阶以及与HTML、CSS和DOM的协同工作等内容,适合初学者进行自我学习。 **JavaScript基础** JavaScript的基础包括变量、数据类型、操作符、流程控制(条件语句...
这篇学习笔记将带你深入了解JavaScript的基础和一些进阶应用。 首先,我们从"Js基本语法"开始。JavaScript是一种弱类型、解释型的脚本语言,它支持变量声明(var、let、const)、数据类型(包括基本类型:字符串、...
《JavaScript学习笔记》包含了JavaScript的基础语法部分,以markdown和PDF两种格式提供,方便不同需求的学习者查阅和打印。Markdown格式易于阅读和编辑,而PDF格式则更适合离线阅读和保存。 在"JavaScript基础语法....
JavaScript 高级编程的学习笔记涵盖了ECMAScript中的基础概念,特别是关于变量、数据类型和运算符的使用。在ECMAScript中,变量可以存储两种基本类型的值:原始值(Primitive Values)和引用值(Reference Values)...