es6
张培跃吧
拥有十余年实际开发经验的骨灰级程序员!
资深IT培训讲师!
目前专注于web前端领域知识分享。
卫信工粽号:张培跃。
展开
-
JavaScript中的“??“: 空值合并运算符
在ECMAScript 2021 (ES12)中,引入了一个新的运算符:空值合并运算符(Nullish Coalescing Operator)。原创 2024-02-02 20:54:44 · 579 阅读 · 0 评论 -
web前端面试题对答篇:HTTP fetch发送2次请求的原因?
HTTP fetch发送2次请求的原因?面对这道出现频率较高的面试题,我想说的是:发送两次请求的情况确实存在,但这与你所使用的是不是http协议,所采用的是不是fetch真的没有一毛钱关系!接下来,咱们可以通过代码一一去验证……一、准备工作1、创建一个文件夹zhangpeiyue2、在zhangpeiyue文件夹内创建两个文件:server.js与index.htmlserver.js:搭建一个express服务器,用于提供接口index.html:通过fetch调用接口。二、前后端符合.原创 2020-08-22 18:05:21 · 1448 阅读 · 1 评论 -
通过jsonp解决跨域的源码实现及其特点
一、Jsonp的特点1、Jsonp是解决跨域的方式之一。2、Jsonp的核心则是动态添加3、Jsonp只支持get请求。4、Jsonp在调用失败的时候不会返回各种HTTP状态码。5、在请求完毕后通过调用callback的方式回传结果,将回调方法的权限给了调用方。所以在调用jsonp接口时,需要与被调用方协商好用于callback的参数名字,参数的值为函数名。例如cb=_jsonp1234。cb为双方约定好的参数名,_jsonp1234指定被调用方所要执行的函数名。所以调用方在调用前要保证已方拥有该函原创 2020-08-19 18:39:13 · 504 阅读 · 0 评论 -
web前端面试题:你能读懂的Promise源码实现(手写代码)
Promise是web前端工程师在面试的过程中很难绕过的一个坎。如果您目前处于对Promise一知半解,或仅仅是停留在可以使用的层面上,建议您跟着本文敲打练习一遍,相信您一定会有所收获!另外文章有点长……一、实现Promise以下功能:const p1 = new Promise((resolve, reject) => { resolve("成功");})p1.then(value => { // 成功 console.log(value);})con.原创 2020-08-18 18:47:42 · 971 阅读 · 1 评论 -
Promise源码实现class版
class封装完整版(function(window){ // 进行中状态 const _PENDING = "pending"; // 已成功状态 const _RESOLVED = "resolved"; // 已失败状态 const _REJECTED = "rejected"; class MyPromise { constructor(executor) { // 设置状态初始值为 pending原创 2020-08-18 18:45:45 · 370 阅读 · 2 评论 -
web前端面试题对答篇:谈谈你对Promise的理解
回答这个问题时,个人不建议单纯的从Promise的细节知识点答起,因为这个问题的本质是拥有一定宏观性的,如果仅仅回复一些知识点恐怕是满足不了面试官胃口的。当然,如果这个问题回答不到点上,那么后续面试官极有可能会抛出一些相关知识难点来对你进行打压。倘若知识点也回答不出来,那么只能出门右拐了……所以建议你结合自身项目工作经验可以考虑从以下几个点去回答即可:1、Promise 是一个构造函数,我们可以通过该构造函数来生成Promise的实例。2、Promise 即承诺,后续必要兑现,一旦兑现则不可更改!其原创 2020-08-18 18:39:40 · 1986 阅读 · 0 评论 -
阿里面试题及答案详解(一)(逐行代码注释并附解题思路)
题目:阿里云产品线十分丰富,拥有ECS、RDS等数百款产品,每个产品都具有一些通用属性,例如:ID(id),地域(region),名称(name),同时每个产品又包含自己特有的属性。 ECS拥有实例(instance)属性,可选值有ecs.t1.small、ecs.t3.small、ecs.t1.large,RDS拥有数据库类型(dbType)属性,可选值有mysql、mssql、PPAS。请使...原创 2019-03-13 12:20:53 · 964 阅读 · 0 评论 -
es6数组方法find()、findIndex()与filter()的总结
总结一下es6常用的数组方法find()、findIndex()与filter()find()该方法主要应用于查找第一个符合条件的数组元素。它的参数是一个回调函数。在回调函数中可以写你要查找元素的条件,当条件成立为true时,返回该元素。如果没有符合条件的元素,返回值为undefined。以下代码在myArr数组中查找元素值大于4的元素,找到后立即返回。返回的结果为查找到的元素:con...原创 2018-09-25 19:15:04 · 17468 阅读 · 2 评论 -
es6中的模块化
在之前的javascript中是没有模块化概念的。如果要进行模块化操作,需要引入第三方的类库。随着技术的发展,前后端分离,前端的业务变的越来越复杂化。直至ES6带来了模块化,才让javascript第一次支持了module。ES6的模块化分为导出(export)与导入(import)两个模块。export的用法在ES6中每一个模块即是一个文件,在文件中定义的变量,函数,对象在外...原创 2018-05-07 21:37:51 · 366 阅读 · 0 评论 -
es6中class类的全方面理解(三)------静态方法
不需要实例化类,即可直接通过该类来调用的方法,即称之为“静态方法”。将类中的方法设为静态方法也很简单,在方法前加上static关键字即可。这样该方法就不会被实例继承!class Box{ static a(){ return "我是Box类中的,实例方法,无须实例化,可直接调用!" }}//通过类名直接调用console.log(Box.a());//...原创 2018-05-07 21:36:43 · 1321 阅读 · 0 评论 -
es6中class类的全方面理解(二)------继承
继承是面向对象中一个比较核心的概念。ES6 class的继承与java的继承大同小异,如果学过java的小伙伴应该很容易理解,都是通过extends关键字继承。相较于ES5当中通过原型链继承要清晰和方便许多。先上代码:class Cucurbit{ constructor(name,color){ console.log("farther") thi...原创 2018-05-07 21:35:46 · 526 阅读 · 0 评论 -
es6中class类的全方面理解(一)
传统的javascript中只有对象,没有类的概念。它是基于原型的面向对象语言。原型对象特点就是将自身的属性共享给新对象。这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人困惑! 如果要生成一个对象实例,需要先定义一个构造函数,然后通过new操作符来完成。构造函数示例://函数名和实例化构造名相同且大写(非强制,但这么写有助于区分构造函数和普通函数)func...原创 2018-05-07 21:34:00 · 1199 阅读 · 1 评论 -
es6箭头函数的理解及面试题
箭头函数的介绍箭头函数是es6当中对函数的一种全新表示法。其将函数的简洁性发扬到了极致!先来看一个最简单的箭头函数:let fn=v=>v;console.log(fn("好酷的箭头函数!"));//好酷的箭头函数!初次接触箭头函数的人可能会为其简洁性的语法而惊讶!和之前的写法进行一次比较:let fn=function(v){ return v;}console.log(fn...原创 2018-05-09 22:54:04 · 3420 阅读 · 0 评论