深入浅出ES6的Symbol类型
2019年10月28日 · 252 字 · 2 分钟
本文内容 JS基本数据类型种类 Symbol的主要用法, 全局Symbol的使用与检测 Symbol与其他基本类型转换时的规则 ES6引入了一种新的原始数据类型,表示独一无二的值,最大的用处是作为对象属性的唯一标识符。
2019年10月28日 · 252 字 · 2 分钟
本文内容 JS基本数据类型种类 Symbol的主要用法, 全局Symbol的使用与检测 Symbol与其他基本类型转换时的规则 ES6引入了一种新的原始数据类型,表示独一无二的值,最大的用处是作为对象属性的唯一标识符。
2019年10月22日 · 171 字 · 1 分钟
ES6新增了两个重要的关键字let和const,相信大家都不陌生,但是包括我在内,在系统学习ES6之前也只使用到了【不存在变量提升】这个特性。 let声明一个块级作用域的本地变量 const语句声明一个块级作用域的本地常量,不可以重新赋值 支持块级作用域 var定义的变量会提升到整个函数作用域内,let/const则支持块级作用域。
2019年10月15日 · 407 字 · 2 分钟
valueOf和toString是Object.prototype的方法。一般很少直接调用,但是在使用对象参与运算的时候就会调用这两个方法了。我想大部分人都存在以下疑问: valueOf和toString哪个优先级较高? 是不是所有场景都会调用valueOf和toString 概念解释 valueOf: 返回对象的原始值表示 toString: 返回对象的字符串表示 在介绍下面的内容之前先了解一下转换规则,下面的内容解释都是基于这个规则表来的:
2019年10月14日 · 198 字 · 1 分钟
闭包(Closure)是JS比较难懂的一个东西,或者说别人说的难以理解, 本文将以简洁的语言+面试题来深入浅出地介绍一下。 作用域和作用域链 在将闭包之前,需要先讲一下作用域。 JS中有全局作用域和局部作用域两种。
2019年10月11日 · 89 字 · 1 分钟
相信大家对于HTTPS协议都不陌生,但是应该存在以下疑问: HTTPS协议到底是如何运作的? HTTPS是如何解决HTTP协议的不安全特性的? HTTPS网站抓包为什么要信任证书? HTTP协议 HTTP协议是一个应用层协议,通常运行在TCP协议之上。它是一个明文协议,客户端发起请求,服务端给出响应的响应。
2019年9月27日 · 374 字 · 2 分钟
本文研究一下Javascript的this指向。 Javascript的this指向问题,有些人可能觉得很简单,有些人却觉得扑朔迷离,看完本文之后相应会对this的掌握有一个直观的判断,而不是"开局全靠猜"。 敲黑板 function函数this指向由调用方式确定,跟定义环境无关。 箭头函数this指向由定义环境决定,与调用方式无关,也不可以bind(this)。
2019年9月23日 · 289 字 · 2 分钟
本文研究一下Javascript的核心基础——原型链和继承。 对于使用过基于类的语言(如Java或C#)的人来说,Javascript的继承有点难以搞懂,因为它本身没有class这种东西。(ES6中引入了class关键字,看上去也像传统的OOP语言,但是那只是语法糖,底层还是基于原型)。 原型链 MDN上对于原型链的解释: 当谈到继承时,JavaScript 只有一种结构:对象。每个实例对象( object )都有一个私有属性(称之为 __proto__ )指向它的构造函数的原型对象(prototype )。该原型对象也有一个自己的原型对象( __proto__ ) ,层层向上直到一个对象的原型对象为 null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。
2019年9月20日 · 453 字 · 3 分钟
本文是力扣算法的第四篇,讲解寻找两个有序数组的中位数。 Question 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。
2019年9月17日 · 107 字 · 1 分钟
本文讲解Javascript变量提升引起的问题以及如何规避。 问题 今天看到一道有意思的面试题,考察的还真是JS的基本功,题目如下: var name = "world"; (function(){ if(typeof name === "undefined") { var name = "Jack"; console.
2019年9月16日 · 341 字 · 2 分钟
本文是力扣算法的第三篇,讲解无重复字符的最长子串问题。 Question 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。