摘要: 语法: 对象可以通过两种形式定义:①声明(文字)形式。②构造形式: 实际上,这两种形式生成的结果都是一样的。只是使用上声明形式更简洁。 类型: 在JavaScript中一共有六种主要类型:number,string,boolean,null,undefined,object;(术语是“语言类型”)。 阅读全文
posted @ 2018-10-24 17:34 小菜鸡的梦 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 调用的位置: 函数中this的绑定取决于它所调用的位置。 通常来说,寻找调用位置就是寻找"函数被调用的位置",最重要的是要分析调用栈(就是为了当前执行位置所调用的所有函数)。 通过例子来看调用栈和调用位置: 浏览器中一般都带有查看当前函数调用栈的调试器,以下是在Google中在控制点上的查看调用栈方 阅读全文
posted @ 2018-10-23 15:13 小菜鸡的梦 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用this 通过一个例子来看看为什么要使用this: 这段代码可以在不同的上下文对象(me和you)中重复使用函数bar和baz,不用针对每个对象编写不同版本的函数。 如果不使用this就得显示的传递一个上下文对象给bar和baz: 然而this提供了一种更优雅的方式来‘隐式’传递一个对象 阅读全文
posted @ 2018-10-21 21:33 小菜鸡的梦 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 什么是词法作用域? 在之前讲过,我们平常写代码的时候,创建一个变量和方法的时候在其书写的位置(所在环境)会形 成一个作用域,即为词法作用域,该作用域中的属性和方法只能在当前环境内使用。 闭包 最简单的一个闭包实例: 上面例子中定义了一个函数fun,函数内有声明了一个变量a和函数bar,代用fun的时 阅读全文
posted @ 2018-10-19 22:28 小菜鸡的梦 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 4.1 编译器的视角看提升 引擎会在解释JavaScript代码之前首先对齐进行编译,编译过程中的一部分工作就是找到所有的声明,并用合适的作用域将他们关联起来,这也正是词法作用域的核心内容。 正确的思路是:包含变量和函数在内的所有声明都会在任何代码执行前首先被处理。 这个过程就好像变量和函数声明从它 阅读全文
posted @ 2018-10-16 17:37 小菜鸡的梦 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 3.1 函数中的作用域 (1)JavaScript具有基于函数的作用域,每声明一个函数的时候会为其自身创建一个‘气泡’,这个气泡内声明的变量或函数外界无法访问。 函数作用域的含义是指,属于这个函数的全部变量都可以在整个函数范围内使用及复用(事实上在嵌套的作用域中也可以使用)。 3.2 隐藏内部实现 阅读全文
posted @ 2018-10-16 15:58 小菜鸡的梦 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 注:在第一章中讲到的,我们将作用域定义为一套规则,这套规则用来管理引擎如何在当前作用域和嵌套子 作用域中根据标识符名称进行变量查询。作用域有两种工作模式,第一种是最为普遍的,被大多数编程 语言采用的词法作用域(该书中主要介绍的就是词法作用域),另一种就是动态作用域。 2.1 词法阶段 (1)上一章中 阅读全文
posted @ 2018-10-15 16:41 小菜鸡的梦 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 1.1 编译原理 (1) JavaScript本质上也是编译型语言,和传统的编译语言(提前编译)的区别是它的编译是发生在执行前的,且 编译的结果的不能在分布式系统中移植。 (2) 传统编译语言流程中,一段源代码执行前要进行以下三个步骤(统称为编译): ①分词/词法分析 > ②解析/语法分析 > ③代 阅读全文
posted @ 2018-10-11 16:10 小菜鸡的梦 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1,flex弹性盒子布局与传统盒模型布局的区别和优点: 答:区别: 盒模型:1),盒模型内元素分配器父元素空间 2),建立在块级和行级方向上(对块级元素和行内元素的布局), 弹性盒子:1),盒内子元素分配其父元素的可用空间(剩余空的空间)。 2),建立在弹性流上(元素随可显示区域变化呈流式布局)。 阅读全文
posted @ 2018-09-27 19:04 小菜鸡的梦 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 本人菜鸡,前两天去面试,发现再次碰到数组去重这道面试题,比较常见。能够达到去重效果的方法有好几个,感觉有必要整理一下其中几种常见实现: 1,思路:创建一个空数组,然后循环需要去重的数组,对比创建的数组,如果新创建的数组中不存在当前循环下标值的时候就将它push到新数组中,否则执行下次循环, 代码如下 阅读全文
posted @ 2018-05-01 18:06 小菜鸡的梦 阅读(240) 评论(0) 推荐(0) 编辑