Site Overlay

JavaScript 的那些基本原理你懂了吗?

用最简洁的语言,准确的描述复杂的概念,提炼才是学习的本质!

this 指向的对象

函数定义

  • functionthis指向,总是指向function的调用者

  • this可以被call,apply,bind函数来修改this的指向

  • 匿名函数this默认指向window, 可以被修改

  • bind只生效一次,且无法被apply,call再次覆盖

箭头函数(ES6扩展)

  • 箭头函数不会创建自己的this指向

  • 箭头函数中this永远指向当前运行时的上下文,且不能被修改

Function vs 箭头函数

变量作用域

javascript 没有块级作用域

  • js 使用的是函数级作用域
  • js 没有块级作用域,就意味着一进入函数,变量就要马上被创建出来,这就是所谓的变量提升(hoisting)

示例1

示例2

Let 变量定义 (ES6扩展)

  • let定义变量在Global上下文中,不会被附加到window属性上

  • let定义的变量是块级作用域,不会产生变量提升的问题

  • babel 在转换let到es5代码时,是通过修改变量名来实现的

原型链继承

prototype

hasOwnProperty

变量的类型

Object

Function

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据