美文网首页
new与闭包解析

new与闭包解析

作者: 小漠穷秋 | 来源:发表于2017-12-21 10:59 被阅读0次

var Cu = function () { this.cc = 10; var call = function () { alert(cc) }; return call; };
var cu =new Cu();
cu();
结果报CC未定义
说明new 的是call 而不是Cu ,这个执行顺序是先执行Cu(),再执行new
如果
var cu = Cu();
cu();
则会打出10
因为在没有new 的时候,this不管写在哪里,都是windows
如果
var Cu = function () { var cc = 10; var call = function () { alert(cc) }; return call; };
var cu =new Cu();
cu();
也会打出10,这就是闭包的作用,反回的function会带上上下文的变更,不管new 不new

如果变为
var Cu = function () { this.cc = 10; var call = function () { alert(this.cc) }; return call; };
var cu = new Cu();
cu();

输出仍然为Undefine

因为两个this.cc不属于同一个

相关文章

  • new与闭包解析

    var Cu = function () { this.cc = 10; var call = function ...

  • Javascript 基础 And 进阶

    Javascript 基础 And 进阶 知识点: 原型链 this指向 作用域和预解析 new关键字 闭包 DO...

  • python之闭包与装饰器

    1 闭包 维基百科给出的解析:闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭...

  • 闭包与数组的过滤,映射,缩减

    函数的详细解析(闭包的讲解) 数组的过滤,映射,缩减(与闭包的结合使用) 类的介绍 (类的属性,方法)

  • 原型链

    原型链 this指向 作用域和预解析 new关键字 闭包 继承 JS 规定,所有对象都有自己的原型对象(proto...

  • Javascript 基础 And 进阶面试

    知识点: 原型链 this指向 作用域和预解析 new关键字 闭包 DOM事件 继承 原型链 面试题(一): 面试...

  • JS面试题(进阶)——原型链、this指向、闭包

    知识点: 原型链 this指向 作用域和预解析 new关键字 闭包 DOM事件 继承 原型链 面试题(一): 面试...

  • Javascript 基础 And 进阶

    (一) 知识点: 原型链 this指向 作用域和预解析 new关键字 闭包 DOM事件 继承 原型链 面试题(一)...

  • Javascript 基础 And 进阶

    知识点: 原型链 this指向 作用域和预解析 new关键字 闭包 DOM事件 继承 原型链 面试题(一): va...

  • js 进阶语法

    知识点 原型链 this的指向 作用域和预解析 new 关键字 闭包 继承 原型链 什么是原型链 1.1 由于pr...

网友评论

      本文标题:new与闭包解析

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