Tagged

JavaScript深入浅出

A collection of 5 posts

JavaScript深入浅出

JavaScript深入浅出-执行上下文

全局 函数 eval 每次调用函数都是重新生成一个作用域 概念-执行上下文 console.log('EC0'); function funcEC1(){ console.log('EC1'); var funcEC2=function(){ console.log('EC2'); var funcEC3=function(){ console.log('EC3'); } funcEC3() } funcEC2() } funcEC1(); //EC0 EC1 EC2 EC3 EC类似一个栈的结构,如图EC0是在Global下,当输出EC3的时候实际上当前是在EC3的这个作用域,等EC3调用结束完毕后退回到EC2-EC1-EC0 概念-变量对象 JS解释器如何找到我们定义的函数和变量?变量对象(variable Object )是一个抽象概念中的对象,它用于存储执行上下文中的:变量,函数声明,函数参数 执行上下文与变量对象 activeExecutionContext={ VO:{ data_

JavaScript深入浅出

JavaScript深入浅出-this

this跟作用域并没有什么关系,this指向的是调用者!自己已经踏入这个坑好多次了…总是以为this跟作用域有关系. 全局的this(浏览器) console.log(this)//window console.log(this===window)//true this.a=37; console.log(window.a)//37 一般函数的this(浏览器) function f1(){ return this } f1()===window//true,global object --- function f2(){ 'use strict'; return this } f2()===undefined;//true 作为对象方法的函数this var o={ prop:37, f: