最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript学习之闭包分析_javascript技巧

来源:动视网 责编:小采 时间:2020-11-27 20:56:12
文档

javascript学习之闭包分析_javascript技巧

javascript学习之闭包分析_javascript技巧:在ECMAScript中,在函数声明处向函数外部看到的声明的所有变量,在函数内部都能访问到它们的最终值! 闭包函数只能访问变量的最终值。 eg: function fnTest(arr) { for (var i=0;i arr[i]=function () { alert(i+ | +ar
推荐度:
导读javascript学习之闭包分析_javascript技巧:在ECMAScript中,在函数声明处向函数外部看到的声明的所有变量,在函数内部都能访问到它们的最终值! 闭包函数只能访问变量的最终值。 eg: function fnTest(arr) { for (var i=0;i arr[i]=function () { alert(i+ | +ar


在ECMAScript中,在函数声明处向函数外部看到的声明的所有变量,在函数内部都能访问到它们的最终值!

闭包函数只能访问变量的最终值!!!

eg:

function fnTest(arr) {
  for (var i=0;i < arr.length;i++) {
    arr[i]=function () { alert(i+" | "+arr[i]); };
  }
}
var arr = [0,1,2,3];
fnTest(arr);
for (var i=0;i < arr.length;i++) {
arr[i]();   //始终输出4还有一个undefined因为函数退出后,i值为4,所以访问到的值只有4

//结果会连续弹出4个"4|undefined”
}

不但在闭包中可以访问闭包外的变量值,而且还可以设置它的值

eg:

function fnTest() {
  var a="June";
  return {
  set:function (param) {a = param},
  get:function () {return a}
  };
}
var obj = fnTest();
alert(obj.get());//弹出June

obj.set(586);
alert(obj.get());//弹出586

文档

javascript学习之闭包分析_javascript技巧

javascript学习之闭包分析_javascript技巧:在ECMAScript中,在函数声明处向函数外部看到的声明的所有变量,在函数内部都能访问到它们的最终值! 闭包函数只能访问变量的最终值。 eg: function fnTest(arr) { for (var i=0;i arr[i]=function () { alert(i+ | +ar
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top