摘要: Chrome改变世界. <JavaScript深入浅出>系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函数是一等公民是什么意思呢? JavaScript深入浅出第3课:什么是垃圾回收算法? JavaScript深入浅出第4课:V8引擎是如何工作的? JavaScript深入浅出第5课:Chrome是如何成功的? 前言 在上一篇博客中,我聊了一下JavaScript引擎V8的工作原理,顺其自然,接下来应该来聊聊渲染引擎…
摘要: 性能彪悍的V8引擎. <JavaScript深入浅出>系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函数是一等公民是什么意思呢? JavaScript深入浅出第3课:什么是垃圾回收算法? JavaScript深入浅出第4课:V8是如何工作的? 最近,JavaScript生态系统又多了2个非常硬核的项目. 大神Fabrice Bellard发布了一个新的JS引擎QuickJS,可以将JavaScript源码转换为C语言…
摘要: JS是如何回收内存的? <JavaScript深入浅出>系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函数是一等公民是什么意思呢? JavaScript深入浅出第3课:什么是垃圾回收算法? 最近垃圾回收这个话题非常火,大家不能随随便便的扔垃圾了,还得先分类,这样方便对垃圾进行回收再利用. 其实,对于写代码来说,也有垃圾回收(garbage collection)这个问题,这里所说的垃圾,指的是程序中不再需要的内存空间…
摘要: 听起来很炫酷的一等公民是啥? <JavaScript深入浅出>系列: JavaScript深入浅出第1课:箭头函数中的this究竟是什么鬼? JavaScript深入浅出第2课:函数是一等公民是什么意思呢? 看到一篇讲JavaScript历史的文章里面提到:JavaScript借鉴Scheme语言,将函数提升到"一等公民"(first class citizen)的地位. 一等公民这个名字听起来很高大上,但是也相当晦涩,这个与翻译也没什么关系,因为first cla…
<JavaScript 深入浅出>系列: JavaScript 深入浅出第 1 课:箭头函数中的 this 究竟是什么鬼? JavaScript 深入浅出第 2 课:函数是一等公民是什么意思呢? 普通函数与箭头函数 普通函数指的是用function定义的函数: var hello = function () { console.log("Hello, Fundebug!"); } 箭头函数指的是用=>定义的函数: var hello = () => { cons…
javaScript深入浅出之理解闭包 引言 闭包是个老生长谈的话题了,对于闭包网上也有很多不同的看法 <你不知道的javaScript>对于闭包是这么定义的:函数创建和函数执行不在同一个作用域下就会形成闭包. MDN对于闭包的定义为:闭包是指那些能够访问自由变量的函数. <JS高级程序设计-第3版>对于闭包的定义: 闭包是指有权访问另外一个函数作用域中的变量的函数 好,现在你不用着急去搞明白它们的意思,我们先来讲下自由变量这个是个什么东西. 自由变量 自由变量:是指在函数中使用的…
慕课网教程视频地址:Javascript深入浅出 函数的概念:定义一次可调用多次的javascript代码段 创建函数:声明 function fuc(){}  声明前置   表达式 var fuc=function(){} 构造器 var fuc=new Function('a','b','console.log(a+b)') 全局this和一般函数的this 作为对象方法的函数的this 对象原型链上的this get/set方法中的this 构造器中的this call/apply方法中的…
慕课网教程视频地址:Javascript深入浅出 数组:值的有序集合 创建数组:字面量,构造器new array() 数组的读写:push() 尾部加入新元素 unshift() 头部加入新元素 pop() 尾部减去元素 shift() 头部减去元素 splice() 中间添加或删除元素 数组的方法:Array.prototype上的方法 arr.join() 数组转字符串 arr.reverse() 数组逆序 arr.sort() 数组排序(默认按字符串) arr.concat() 数组合并 …
慕课网教程视频地址:Javascript深入浅出 对象的结构:包含一系列无序的属性,每个属性都有字符串key和对应的值 创建对象:对象字面量.new/原型链.Object.create 对象的属性操作:读写  obj.x 或 obj['x'] 异常  不存在等 删除  delete obj.x 或 delete obj['x'],重复删除为true,原型链上的属性不能删除 检测  'x' in obj包括属性在对象或对象 原型链上均为true 枚举 对象的get/set:不一样的属性读写,get…
慕课网教程视频地址:Javascript深入浅出 程序由语句组成,语句遵守特定语法规则 块 block  {}   没有块级作用域 声明    var 异常   try catch finally 函数声明 function fd(){}   前后都可以引用 函数表达式 var fe=function(){} 只能在后面引用 遍历  for in 条件判断 switch(val) { care; default } 循环 while{} do{} for(){} 严格模式 'use strict…