- 博客(18)
- 收藏
- 关注
原创 Javascript基础之-Promise
Promise是什么呢?根据ecma-262的定义:Promise是一个被用于延时计算的最终结果的占位符(A Promise is an object that is used as a placeholder for the eventual results of a deferred (and possibly asynchronous) computation.)这个怎么理解呢比如说...
2018-12-25 13:20:22 420
原创 javascript的一些命名约定
这篇小文章主要是通过一些例子来介绍一些Javascript中一些关于命名变量,函数,类或者是组件的通用约定。虽然这些规则并不是强制性的,但是呢,他们却被一些JS社区所广泛采用,所以,了解他们还是很有必要的。Javascript命名约定:变量由于Javascript是大小写敏感的,因此,如果有几个变量,其仅仅是大小写不一样,这些变量在Javascript中会被理解为是不同的变量,如下所示:va...
2019-10-16 08:57:26 263
转载 http基础之-一文搞懂浏览器缓存机制
一文搞懂浏览器缓存机制最近在项目中遇到了 IE浏览器因缓存问题未能成功向后端发送 GET类型请求 的bug,然后顺藤摸瓜顺便看了看缓存的知识,觉得有必要总结跟大家分享一下。在前端开发中,性能一直都是被大家所重视的一点,然而判断一个网站的性能最直观的就是看网页打开的速度。其中提高网页反应速度的一个方式就是使用缓存。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利...
2019-10-14 21:26:16 264
原创 层叠上下文与z-index
z-index是咱们之前相对比较常用的一个语法了,看起来比较简单的样子,实际上还真不难,因为这东西跟之前讲的vertical-align不一样,这个比较符合咱们的认知。好了,不废话,开始咱们的正式话题。首先呢?咱们先要了解一下层叠上下文(stack context)是什么呢,其实通俗来讲,就是你看电脑的这个方向的一个显示顺序,比如说,桌子上有一大堆纸,你对着它看的话,每一张纸,实际上你就可以理...
2019-03-29 12:51:43 191
原创 vertical-align:你想知道的都在这里(css)
很抱歉,因为最近一个月一直很忙,所以一直都没有时间去更新小散文,直到前几天,终于抽时间完成了一个。不过相关的概念一方面比较抽象,另一方面因为个人水平问题,翻译的不是很好,如果在阅读的过程中,遇到任何不明白的,都可以向我提问,我呢,也会竭尽所能解答大家的疑惑然后开始正文:我们来讨论一下CSS的属性vertical-align。它一般的用途,其实就是用来排列彼此相邻的文本和元素的。但是有时候,...
2019-03-21 13:05:33 180
原创 safari浏览器display:none;但是依然显示的处理办法
需要看一下在切换为display:none前,display是否为contents,如果是的话,改为display: block;
2019-03-18 13:56:08 3159
原创 深入理解Javascript中的执行环境(Execution Context)和执行栈(Execution Stack)
如果你想成为一个Javascript开发者,那么你一定要知道Javascript程序的内部运行原理。理解执行环境和执行栈是非常重要的,其有助于理解其他Javascript的概念,比如说提升,作用域和闭包等。当然,理解执行环境和执行栈的概念也将会使你成为一个更好的Javascript开发者。闲话少说,马上开始吧。执行环境是什么简单来说,执行环境就是Javascript代码被计算和执行的环境的...
2019-02-21 22:55:14 484
原创 可构造样式表 - 通过javascript来生成css的新方式
可构造样式表是一种使用Shadow DOM进行创建和分发可重用样式的新方法。使用Javascript来创建样式表是可能的。然而,这个过程在历史上一直是使用document.createElement(‘style’)来创建可构造的样式表可以定义和准备共享的CSS样式,然后轻松的吧这些样式应用到多个Shadow Roots中或者是文档中,且无需重复。修改CSSStyleSheet以后,其相关联的...
2019-02-18 18:38:58 719
原创 Javascript基础之-var,let和const深入解析(二)
你想在在变量声明之前就使用变量?以后再也别这样做了。新的声明方式(let,const)较之之前的声明方式(var),还有一个区别,就是新的方式不允许在变量声明之前就使用该变量,但是var是可以得。请看下面的代码,下面这个代码是可以正常运行的:function func() { console.log(localVariable); // undefined var localVar...
2019-02-16 07:48:53 328
原创 var,let和const深入解析(一)
es6有许多特别棒的特性,你可能对该语言的整体非常熟悉,但是你知道它在内部是如何工作的吗?当我们知道它的内部原理以后,我们使用起来也会更加的安心一些。这里我们想逐步的引导你,让你对其有一个更深入,更浅显的认识。让我们就先从es6中的变量开始讲起吧。let和const在es6中新引入了两种方式来申明变量,我们仍然可以使用广为传诵的var变量(然而你不应该继续使用它了,继续阅读来了解其中原因),但...
2019-02-13 19:06:34 294
原创 web页面渲染(二)
客户端渲染(CSR) 客户端渲染意味着在浏览器中使用Javascript直接渲染页面。所有的逻辑,数据获取,模板和路由都在客户端处理。 对于移动设备来说,客户端渲染很难得到或者保持一种快速的访问水平。如果它做最少的工作,保持严格的Javascript预算,并尽可能减少数据请求往返的时间,那么它可以接近纯服务器端渲染的性能。使用HTTP/2推送或者是<link rel=prel...
2019-02-12 19:26:12 198
原创 web页面渲染(一)
作为开发者,我们经常会面临一些影响我们整个网站结构的决定,其中web开发者一定要做的核心决定之一就是在应用程序中实现逻辑和渲染的位置。这可能比较难,因为有很多不同的方式来构建一个网站。我们在这一领域的了解主要来源于在过去的几年在Chrome工作期间,一直与一些大的网站的交流得来的。从广义上来讲,我们鼓励开发人员去通过完全rehydration方法进行服务端渲染或者是静态渲染。为了更好的理解我们...
2019-02-11 18:26:03 419
翻译 如何利用es6去重
以下是三种方法从数组里去重,并且返回唯一的值。我最喜欢的方式是使用Set,因为它是最短最简单的。const array = [5, 2, 4, 5, 3];console.log([…new Set(array)])console.log(array.filter((item, index) =&gt; array.indexOf(item) === index))console.log(...
2019-01-15 18:45:49 330
原创 Javascript基础之-原型(prototype)
首先呢,prototype是对象里的一个内置属性,并且呢,这个属性是对于其他对象的一个引用。所以呢,思考下面的例子:var obj = { a: 2}var myObj = Object.create(obj);console.log(myObj.a); // 2console.log(myObj === obj); // falseconsole.log(Object.getP...
2019-01-11 18:03:22 113
原创 Javascript基础之-强制类型转换(三)
这一节,应该算是强制类型转换的最后一个小节了,这一部分呢,主要会讲比较操作中遇到的强制类型转换。抽象相等== 和严格相等 ===。简单且粗略的来说,抽象相等和严格相等的区别就是抽象相等在比较的时候,如果比较的两个数类型不同,会先进行类型转换再比较,而严格类型呢,比较简单粗暴一些,直接返回false。当然啦,你也可以这么理解,抽象比较的时候,允许类型转换,而严格相等则不允许,所以看如下例子:...
2019-01-05 21:28:21 210
原创 Javascript基础之-强制类型转换(二)
上一章主要讲了转换到数字,字符串和布尔类型的一些知识点,那么这一讲接着上面的继续讲。思考下面这个问题:console.log(+"123"); // 123console.log(-"123"); // -123console.log(+"abc"); // NaNconsole.log(-"abc"); // NaN+这个很容易理解,就是把字
2019-01-01 21:00:41 1638 15
原创 Javascript基础之-强制类型转换(一)
转换为字符串规则如下图代码:console.log(String(undefined)); // "undefined"console.log(String(null)); // "null"console.log(String(true)); // "true"console.log(String(+0)); // "0"con
2018-12-29 21:10:54 130
原创 Javascript基础之-this
this应该算是前期比较容易混淆的一个关键字了,在这里,我就打算按照我的理解来说一下首先呢,this的值是跟运行时被调用的位置相关的,而不是词法作用域。也就是说,他的绑定的值很可能是动态的,不同的调用位置,很可能值就不一样,比如说:function foo() { console.log(this.a);}var a = 2;var obj = { a: 3, foo,}...
2018-12-26 18:35:54 151
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人