以前总觉得闭包很抽象,很难理解,所以百度一下"闭包"概览,百度的解释是:“闭包是指可以包含自由(未绑定到特定对象)变量的代码块:这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)” 看了半天,也没有看懂闭包是什么?以下是我对闭包的理解 1.普通函数.变量访问作用域 以上普通函数的调用fn被调用了两次,变量b却没有累加?? 对于函数f1变量b在函数外部是不能访问的 如若实现局部变量b的累加,并且可以访问该怎么做呢? 2.闭包概念: 函数的嵌套,…
    一.闭包(Closure)模糊概述 之前总觉得闭包(Closure)很抽象而且难理解,百度一下"闭包"名词,百度的解释是:“闭包是指可以包含自由(未绑定到特定对象)变量的代码块:这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)” 看了半天,也没有看懂闭包是什么?以下将是我对闭包(Closure)的理解,如有错误欢迎指出     二.普通函数.变量访问作用域 以上普通函数的调用fn被调用了两次,变量b却没有累加?? 对于函数f1变量b…
使用new关键字调用函数 test.js 代码如下 function Person(name, age, obj) { var o = new Object(); o.name = name; o.age=age; o.obj=obj; o.sayName=function(){ alert(this.name); } // return o; // this.sayName=function(){ alert(name); } console.log(this); } var friend=n…
深入解析Javascript中面向对象编程中的this关键字 在Javascript中this关键字代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.比如: function TestFunction(){ this.demoVal='This is a demo variable'; }; 随着函数使用的场合不同,this的值会发生改变.但是有一个总的原则:this指的是调用函数的那个对象. 接下来分情况讨论this关键字的使用: 1. 纯粹的函数调用(这是函数的通常用法,属于全局性…
JavaScript,理解JavaScript库 学习要点: 1.项目介绍 2.理解JavaScript库 3.创建基础库 从本章,我们来用之前的基础知识来写一个项目,用以巩固之前所学.那么,每个项目为了提高开发效率,我们需要创建一个库来存放大量的重复调用的代码.而在这里,我们需要理解一些知识. 一.项目介绍 在现在流行的网站中,大量使用前端的Web应用,估计就是博客系统了.博客系统目前主要分为两种,一种是博客,一种是微博(一句话博客). 不管在博客和微博,都采用的大量的JavaScript特效…
数组 创建数组 利用 new 创建数组 var arr = new Array(); console.log(arr); // Array(0) 数组字面量创建 var arr = []; // 空数组 var arr1 = ['1', '2'] // 初始值数组 数组中的元素 数组里面的元素类型 可以放任意类型 var arr = [1, '3', true, 1.9] 获取元素 通过索引, 索引是 0 开始 var arr = [1, '3', true, 1.9]; console.log…
理解javascript的闭包,原型,和匿名函数(自己总结) 一 .>关于闭包 理解闭包 需要的知识1.变量的作用域 例1: var n =99; //建立函数外的全局变量 function readA(){ alert(n); //读取全局变量 } readA(); //执行此函数 例2: function readB(){ var c = 9; function readC(){ console.log(c); //ok c可见 } return readC; } alert(c); //e…
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量. Js代码 var n=999; function f1(){ alert(n); } f1(); 另一方面,在函数外部自然无法读取函数内的局部变量.Js代码 function f1(){ var n=999; } alert(n); // error 这里有一个地方需要注意,函数内部声明变量的时…
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量. Js代码 var n=999; function f1(){ alert(n); } f1(); // 999 另一方面,在函数外部自然无法读取函数内的局部变量. Js代码 function f1(){ var n=999; } alert(n); // error 这里有一个地方需要注意,函数…
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域. 变量的作用域无非就是两种:全局变量和局部变量. Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量. Js代码 var n=999; function f1(){ alert(n); } f1(); // 999 另一方面,在函数外部自然无法读取函数内的局部变量. Js代码 function f1(){ var n=999; } alert(n); // error 这里有一个地方需要注意,函数…