jazz's blog

Javascript Core

javascript核心

  1. 两个作用域

    • 全局作用域
    • 闭包作用域

        for(var i = 1;i < 100;i++); i逃逸到全局作用域中  
        console.log(i); //100
      
  2. 两条原型链

    • <function>.prototype
    • <object>.constructor
  3. 两个上下文

    • 定义上下文
    • 执行上下文

        (function(){
            var callbacks = [];
            for(var i = 1;i < 100;i++){
                callbacks.push(function(){
                    console.log(i)
                });
            }
            callbacks.forEach(function(e){
                e.apply()
            });
        })()
      
  4. 两套类型系统

    • 基本类型系统空的概念用 undefined 表示
    • 对象类型系统空的概念用 null 表示

         var str = ""  
         typeof str === 'string' //true  
         str instanceof String // false 
      
  5. 两个核心概念

    • 闭包就是携带部分上下文的函数对象
      • 内部函数中的变量优先在闭包中执行变量查找,然后上一次…
    • 上下文对象就是函数执行的环境
      • 当前上下文为this
      • 浏览器全局上下文为windows
      • nodejs全局上下文为global