##JS基础 - `console.log();输出` - 运行js文件:node 文件名 - 下载一个输入功能:npm install readline-sync - 引入输入功能:`const readline = require('readline-sync')` - 输入代码格式:`read ...
分类:
Web程序 时间:
2018-05-20 22:19:37
阅读次数:
245
1. instanceof是如何判断的? * 表达式: A instanceof B * 如果B函数的显式原型对象在A对象的原型链上, 返回true, 否则返回false 2. Function是通过new自己产生的实例 /////////////////////////////////面试题/// ...
分类:
其他好文 时间:
2018-05-20 14:22:32
阅读次数:
172
在理解预编译之前,首先了解一下JS的解析过程:JS引擎在解析脚本的过程分为两个阶段,预编译和执行,首先预编译然后再从上之下一行一行的执行代码。其次,要了解作用域,作用域是一个变量或者函数能够使用的空间,分为全局作用域和局部作用域,全局变量的作用域为全局作用域,局部变量(函数内部或者ES6块内部的变量 ...
分类:
其他好文 时间:
2018-05-19 18:49:02
阅读次数:
210
1.变量声明--var,const,let 1.1 var - (全局作用域,局部作用域)会有变量提升 1.2 const - 常用来声明常量,且常量不可修改,必须初始化,存在着块级作用域 1.3 let - let定义的变量存在着块级作用域,在函数内定义的变量,对函数外部无影响 2.set ES6 ...
分类:
其他好文 时间:
2018-05-17 18:49:36
阅读次数:
142
1. let、const 和 block 作用域 在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。 let 关键词声明的变量不具备变量提升(hoisting)特性 let 和 const 声明只在最靠近的一个块中(花括号内)有效 ...
分类:
其他好文 时间:
2018-05-17 17:26:32
阅读次数:
145
es6学习笔记初步总结 1. let、const 和 block 作用域 在ES6以前,var关键字声明变量。无论声明在何处,都会被视为声明在函数的最顶部(不在函数内即在全局作用域的最顶部)。这就是函数变量提升例如: let 关键词声明的变量不具备变量提升(hoisting)特性 let 和 con ...
分类:
其他好文 时间:
2018-05-16 15:16:13
阅读次数:
204
问题背景:在写一个非常简单的弹出交互时,定义了一个全局变量和一个方法,这个方法始终调不到这个变量,得到高人指点后,特意总结一下这个知识点; 一、变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个块级作用域),只有全局作用域和函数作用域。变量提升即将变量声明提升到它所在 ...
分类:
Web程序 时间:
2018-05-14 19:55:58
阅读次数:
215
1.对变量提升的理解 2.说明 this 几种不同的使用场景 3.创建10个 <a>标签,点击的时候弹出来对应的序号 4.如何理解作用域 5.实际开发中闭包的应用 一、执行上下文 1.范围:一段<script>或者一个函数 (都会生成一个执行上下文) 2.全局:变量定义、函数声明 (一段<scrip ...
分类:
Web程序 时间:
2018-05-04 20:19:58
阅读次数:
191
这是我 JavaScript 学习过程中遇到的一些容易混淆的地方,趁着有时间,做了一个整理。 变量提升 变量与函数名提升优先级 js 作用域内有变量,这个很好理解,但有一些细节需要注意。 当变量名与函数名同名,且都提升上去了,那最终结果是哪个声明起作用呢? 有两个知识点: 1. var foo;并不 ...
分类:
Web程序 时间:
2018-05-02 02:39:21
阅读次数:
197
一直一来,对JavaScript的代码执行顺序,大部分人都会认为 这里看起来似乎都很合理,但是 没有想象的那么简单 在看这一段代码 两次都会打印出foo2 这里涉及到两个问题 变量提升(之前写过) 函数提升 JavaScript引擎并不是一行一行分析 执行程序 而是一段一段的执行 ,当执行一段代码的 ...
分类:
编程语言 时间:
2018-04-28 01:27:23
阅读次数:
249