深入浅出ES6的Symbol类型

本文内容

  • JS基本数据类型种类
  • Symbol的主要用法, 全局Symbol的使用与检测

不只是块级作用域,你不知道的let和const

ES6新增了两个重要的关键字letconst,相信大家都不陌生,但是包括我在内,在系统学习ES6之前也只使用到了【不存在变量提升】这个特性。

  • let声明一个块级作用域的本地变量

聊一聊valueOf和toString

valueOf和toString是Object.prototype的方法。一般很少直接调用,但是在使用对象参与运算的时候就会调用这两个方法了。我想大部分人都存在以下疑问:

  • valueOf和toString哪个优先级较高?

搞懂JS闭包

闭包(Closure)是JS比较难懂的一个东西,或者说别人说的难以理解, 本文将以简洁的语言+面试题来深入浅出地介绍一下。

作用域和作用域链

在将闭包之前,需要先讲一下作用域。

JS中有全局作用域和局部作用域两种。

HTTPS协议是如何保证安全的?

相信大家对于HTTPS协议都不陌生,但是应该存在以下疑问:

  1. HTTPS协议到底是如何运作的?

Javavscript基础——this指向

本文研究一下Javascript的this指向。

Javascript的this指向问题,有些人可能觉得很简单,有些人却觉得扑朔迷离,看完本文之后相应会对this的掌握有一个直观的判断,而不是”开局全靠猜”。

敲黑板

Javavscript基础——原型和原型链

本文研究一下Javascript的核心基础——原型链和继承。

对于使用过基于类的语言(如Java或C#)的人来说,Javascript的继承有点难以搞懂,因为它本身没有class这种东西。(ES6中引入了class关键字,看上去也像传统的OOP语言,但是那只是语法糖,底层还是基于原型)。

原型链

MDN上对于原型链的解释:

leetcode(4)——寻找两个有序数组的中位数

本文是力扣算法的第四篇,讲解寻找两个有序数组的中位数。

Question

给定两个大小为 m 和 n 的有序数组 nums1nums2

搞懂JS变量提升

本文讲解Javascript变量提升引起的问题以及如何规避。

问题

今天看到一道有意思的面试题,考察的还真是JS的基本功,题目如下:

1
2
3
4
5
6
7
8
9
10
var name = "world";

(function(){
if(typeof name === "undefined") {
var name = "Jack";
console.log("Hello " + name);
} else {
console.log("Hello " + name);
}
}());

leetcode(3)——无重复字符的最长子串

本文是力扣算法的第三篇,讲解无重复字符的最长子串问题。

Question

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×