ecmascript

  • 一道js面试题引发的思考

    原文写于 2015-02-11

    前阵子帮部门面试一前端,看了下面试题(年轻的时候写后端java所以没做过前端试题),其中有一道题是这样的

    比较下面两段代码,试述两段代码的不同之处
    // A--------------------------
    var scope = "global scope";
    function checkscope(){
        var scope = "local scope";
        function f(){
            return scope;
        }
        return f();
    }
    checkscope();
    
    // B-
  • Javascript异步流程控制之Promise(3)-ES6原生Promise简介

    原文写于 2015-02-28

    前面两篇介绍了一些Promise的概念已经在AngularJs中的应用,前面也说过Promise模型已经成为ES6中的一个事实标准。今天在这里就简单介绍下ES6中原生Promise的用法:

    Promise Constructor

    var promise = new Promise(function(resolve, reject) {
        // 异步处理
        // 处理结束后、调用resolve 或 reject
    });

    Promise then

    promise.the
  • ES规范解读之赋值操作符&属性访问器

    事情起源于某天某妹子同事在看angular文档中关于Scope的说明Understanding Scopes(原文) 理解angular作用域(译文)时,对于文章中的例子有一点不理解,那个例子抽离细节之后大致是这样的:

    // 一个标准的构造函数
    function Scope(){}
    Scope.prototype.array = [1,2,3];
    Scope.prototype.string = 'Scope';
    
    // 生成Scope实例
    var scopeInstance = new Scope();

    当我们访问scopeInstance上的属

  • ES规范解读之自增操作符

    几个月前,不知道什么缘由跟xx同学讨论了起js里自增操作符(i++)的问题,现将前因后果整理出来,传于世人😂

    事情起源于这样一段代码

    var i = 0;
    i = i++;
    console.log(i);

    来,都来说说答案是啥?
    结果是0
    换一种形式,或许大家不会有多少疑问

    var i = 0;
    var a = i++;
    console.log(a); // 0

    没错,这也是我们初学自增操作符的经典例子,对这结果还有疑问请自觉面壁。。。
    遥想当年学习自增操作符的口诀大致是,i++ 是先用后自增,++i 是先自增再用
    那么按照这个思路,上面的代码解析流程应该是这样的