花花的拉拉

导航

课程笔记:——几个分析作用域的画图表示

例题一:

var num = 10;
var obj = {
  num: 20,
  fn: (function (num) {
    this.num *= 2;
    num += 10;
    var num = 30;
    return function () {
      this.num *= 2;
      num += 20;
      console.log(num);
    }
    })(num)//把全局的num的值10赋值给自执行函数的形参(obj.num才是把obj下的20赋值给形参)
  };
var fn = obj.fn;
fn();//-->50
obj.fn();//-->70
console.log(window.num, obj.num);//-->40、40

例题二:

function fn() {
  var i = 10;
  return function (n) {
  console.log(n + (++i));
  }
}
var f = fn();
f(15);//-->26
f(20);//-->32
fn()(15);//-->先执行fn,把返回的小函数紧接着在执行 -->26
fn()(20);//-->31

posted on 2015-10-30 01:14  花花的拉拉  阅读(227)  评论(0编辑  收藏  举报