美文网首页
7月20日 晴

7月20日 晴

作者: li4065 | 来源:发表于2017-07-25 18:30 被阅读8次

1. 函数作为值的引用:把函数赋值给变量,通过访问变量获取对函数的调用

let add = function (x, y) {

  return x + y;

}

add(2, 3);

2. 除了把函数赋值给变量,也可以把函数赋给对象属性,形成方法

3. 函数是一类特殊对象,可以拥有属性,当需要给函数设定一些静态信息时,把其设为属性会比较方便

function add (x, y) {return x + y;}

add.version = "v0.0.1";

4. 闭包:JavaScript 采用的是词法作用域,函数的执行依赖与变量作用域,这个变量作用域在函数定义时决定,而不是函数调用时决定。为了实现这种特性,函数对象内部状态不仅仅包括代码逻辑还包括引用当前的作用域链。函数对象可以通过作用域链进行关联,函数的变量都可以保存在函数作用域中,这种特性就称为闭包;

a.理解闭包首先需要理解词法作用域:

var info = "23";

function show () {

var info = "34";

function edit() { return info;}

return edit();

}

show(); => 34

作用域链是一个对象列表,每次调用函数都会创建一个新的对象来保存局部变量,把这个对象加到作用域链中,当函数返回时,就将这个绑定变量的对象删除。如果不存在嵌套函数,也没有其他引用指向这个绑定变量的对象,那么这个绑定变量的对象就会被当做垃圾回收。如果存在嵌套函数,每个嵌套函数都会有个作用域链,并且这些作用域链指向一个变量绑定对象,如果这些嵌套函数在外部函数中保存下来,那么它们也会和绑定对象一样当作垃圾回收。如果这些嵌套函数又定义了嵌套函数并将其返回或者存储在某些属性中,这时就会有个外部引用指向这个嵌套函数,它就不会被当作垃圾回收。(闭包就是函数调用时内部嵌套函数可以引用函数变量,表现就是内部函数调用到外部变量。实现的原因是函数内部的嵌套函数是指向同一作用域链,在作用域链上保存了由相关变量构成的链条,已知的有四种作用域链:Block、Script、Global、Closure)

相关文章

  • 晴晴

    d市的卫生学校教室里坐了39名同学,一共40张桌子,黄色的桌面,黄色的凳子。还有两扇保洁阿姨擦的明亮的玻璃...

  • 晴晴

    晴晴今年三岁了,大姐的女儿,乖巧、懂事。 过年的时候因为疫情影响,大姐和晴晴被困在了父母家。同样被困在老家的还有兄...

  • 晴晴

    晴晴是我在广州的好朋友,每回来广州,一有时间她就一定要带我去吃饭,像是喂鱼一样,一直看我实在撑的吃不下去才肯放我走...

  • 晴晴

    她是邻居领养的女孩儿,大概比我小3岁左右残留不多的印象是经常呆呆地望着别人笑呵呵,偶尔也会因为不听话被她妈妈打后哭...

  • 晴晴 - 草稿

    d市的卫生学校教室里坐了39名同学,一共40张桌子,黄色的桌面,黄色的凳子。还有两扇保洁阿姨擦的明亮的玻璃...

  • 《晴不晴》

    小暑过后 向来豪迈的长安 竟也学起了江南的缠绵 淅淅沥沥了些许天气 却是不见放晴 想也不晴 不想也晴 便作罢了 我...

  • 晴雨晴

    5.6日,天气晴转雨转晴转雨 呵,南昌的鬼天气! 1.晴 上午十二点,阳光明媚,天气晴朗的不得了,我在一本正经的发...

  • 晴晴秋

    秋秋晴, 晴晴秋, 雨蒙滇清。 唠雨婆娑, 阳关菲光馨。 静屋独坐, 焚香喷禅, 开怀默读, 饱经茶饮, 瑟瑟凉意...

  • 晴晴生日

    祝晴生日快乐 ——补吃蛋糕 女儿生日小,秋深冷风飘 初冬寒来意,一晃已长高

  • 张晴晴

网友评论

      本文标题:7月20日 晴

      本文链接:https://www.haomeiwen.com/subject/orlgkxtx.html