Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2017 年 08 月,学习总结 #14

Open
cobish opened this issue Aug 9, 2017 · 3 comments
Open

2017 年 08 月,学习总结 #14

cobish opened this issue Aug 9, 2017 · 3 comments

Comments

@cobish
Copy link
Collaborator

cobish commented Aug 9, 2017

08 月 08 日

Vue

最近写 Select 组件时候将 Option 插入到了 body 下,用到了 transition 的钩子 @before-enter@before-leave,但是发现在 IE9 上这些钩子是不触发的,所以暂时只能 watch visible 来触发事件。

参考链接

@cobish
Copy link
Collaborator Author

cobish commented Aug 16, 2017

08 月 16 日

JS

执行上下文栈

  • 举个例子,当执行到一个函数时,就会进行准备工作,这里的“准备工作”,更专业一点来说,就是“执行上下文(execution context)”。
  • JavaScript 引擎会创建一个执行上下文栈(Execution context stack),用来管理执行上下文。
  • 当执行一个函数的时候,就会创建一个执行上下文,并且压入执行上下文栈。当函数执行完毕的时候,就会将函数的执行上下文从栈中弹出。

@cobish
Copy link
Collaborator Author

cobish commented Aug 17, 2017

08 月 17 日

JS

变量对象

  • 变量对象存储了再上下文中定义的变量和函数声明。
  • 全局上下文中的变量对象就是全局对象。
  • 在函数上下文中,用活动对象(activation object, AO)来表示变量对象。
执行过程
  1. 进入执行上下文
  2. 代码执行
进入执行上下文

进入执行上下文时,代码还没被执行。

变量对象会包括:

  1. 函数的所有形参。
  2. 函数声明。
  3. 变量声明。
代码执行

代码执行阶段,会再次修改变量对象的属性值。

@cobish
Copy link
Collaborator Author

cobish commented Aug 21, 2017

08 月 21 日

JS

Array.prototype.slice.call(arguments)

Array.prototype.slice = function(start, end) {
  var result = new Array();
  start = start || 0;
  end = end || this.length;

  for (var i = start; i < end; i++) {
    result.push(this[i]);
  }

  return result;
};

instanceof

instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant