4 Carol小朋友

尚未进行身份认证

正在努力成为一名优秀的前端程序媛~

等级
TA的排名 10w+

为什么H5中只需要规定doctype

html5不基于SGML(标准通用置标语言),因此不需要对DTD进行引用,但是需要doctype来规范浏览器的行为(让浏览器按照他们应该的方式来运行)而HTML4.01基于SGML,所以需要对DTD进行引用,才能告知浏览器文档所使用的文档类型。...

2019-02-24 15:55:55

JS——合并两个有序数组

LEETCODE 88. 合并两个有序数组题目:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入: nums1 = [1,2,...

2019-02-17 17:28:01

懒加载

1.懒加载概念对于页面有很多静态资源的情况下(比如网商购物页面),为了节省用户流量和提高页面性能,可以在用户浏览到当前资源的时候,再对资源进行请求和加载。2.懒加载实现原理2.1监听onscroll事件判断资源位置首先为所有懒加载的静态资源添加自定义属性字段,比如如果是图片,可以指定data-src为真实的图片地址,src指向loading的图片。然后当资源进入视口的时候,将src属性值...

2019-02-16 19:10:36

打乱数组

sort排序法(最简单)原理:利用sort用法:arr.sort(compareFunction)如果 compareFunction(a,b) 返回的值大于 0 ,则 b 在 a 的前边;如果 compareFunction(a,b) 返回的值等于 0 ,则a 、b 位置保持不变;如果 compareFunction(a,b) 返回的值小于 0 ,则 a 在 b 的前边。let...

2019-02-16 17:37:20

移动端字体适配小结

rem首先,rem是相对根元素html字号的相对单位,一般默认字号是16px,那么1rem=16px1.先设置header里面的meta标签:<metaname="viewport"content="initial-scale=1,maximum-scale=1,minimum-scale=1">2.用JS来计算适应用户屏幕的根元素字号<scripttype=...

2019-02-15 11:04:34

js中各种长度的含义

offsetWidth //返回元素的宽度(包括元素宽度、内边距和边框,不包括外边距)offsetHeight //返回元素的高度(包括元素高度、内边距和边框,不包括外边距)clientWidth //返回元素的宽度(包括元素宽度、内边距,不包括边框和外边距)clientHeight //返回元素的高度(包括元素高度、内边距,不包括边框和外边距...

2019-02-15 09:46:26

从一个无序,不相等的数组中,选取N个数,使其和为M实现算法

function getCombBySum(array,sum,tolerance,targetCount){ var util = { /* get combination from array arr: target array num: combination item length return: one array that c...

2019-02-14 23:48:39

async/await执行顺序面试题

asyncfunctionasync1(){console.log('async1start')awaitasync2();console.log('async1end')}asyncfunctionasync2(){console.log('async2')}console.log('scriptstart')setTimeo...

2019-02-14 23:35:43

轮询、长轮询、长连接、WebSocket即时通讯的区别

1.轮询客户端定时向服务器发送请求,服务器接到请求后马上返回响应信息并关闭连接。优点:后端程序编写比较容易。缺点:请求中有大半是无用,浪费带宽和服务器资源。这种方式由于需要不断的建立http连接,严重浪费了服务器端和客户端的资源。实例:短轮询不适用于那些同时在线用户数量比较大,并且很注重性能的Web应用。适于小型应用。2.长轮询客户端向服务器发送请求,服务器接到请求后hold住连接,直...

2019-02-14 15:25:41

JS中的类型判断问题

if([]==false){console.log(1)};if({}==false){console.log(2)};if([]){console.log(3)}if([1]==[1]){console.log(4)}答:1 3== 是非严格比较操作符,false会转换为0,[]会转换成’’,{}会转换为"[object Object]",空数组和0的值都是false,所以会输出1,...

2019-01-31 15:58:13

引用网络图片,响应403的解决方法

在html的head标签中加上:<meta name="referrer" content="no-referrer" /> <!--可以让img标签预加载网络图片-->

2019-01-31 11:33:25

【Angular学习】(六)依赖注入

概念维基百科:在软件工程中,依赖注入是种实现控制反转用于解决依赖性设计模式。一个依赖关系指的是可被利用的一种对象(即服务提供端) 。依赖注入是将所依赖的传递给将使用的从属对象(即客户端)。该服务是将会变成客户端的状态的一部分。 传递服务给客户端,而非允许客户端来建立或寻找服务,是本设计模式的基本要求。示例介绍例如要构建一个汽车,出于简单考虑,只考虑三个部分:车身、车门和引擎。1.定义车身...

2019-01-29 10:28:15

setTimeout()比setInterval()稳定的原因

setInterval()的问题使用setInterval()的问题在于,定时器代码可能在代码再次被添加到队列之前还没有完成执行,结果导致定时器代码连续运行好几次,而之间没有任何停顿。而javascript引擎对这个问题的解决是:当使用setInterval()时,仅当没有该定时器的任何其他代码实例时,才将定时器代码添加到队列中。这确保了定时器代码加入到队列中的最小时间间隔为指定间隔但是,这样...

2019-01-21 10:31:13

【Angular学习】(五)HTTPClient

@angular/common/http中的HttpClient类为Angular应用程序提供了一个简化的API来实现HTTP客户端功能。它基于浏览器提供的XMLHttpRequest接口。使用方法导入导入HttpClientModule模块import{BrowserModule}from"@angular/platform-browser";imp...

2019-01-18 14:43:35

【Angular学习】(四)路由

理解官方定义:在用户使用应用程序时,Angular 的路由器能让用户从一个视图导航到另一个视图。使用安装需要先安装angular routernpm i --save @angular/routerbase href然后我们需要将 <base> 标签添加到我们的 index.html 文件中的<head>标签里。路由需要根据这个来确定应用程序的根目录。&l...

2019-01-14 16:20:33

【Angular学习】(三)生命周期钩子

理解Angular提供了生命周期钩子,把这些关键生命时刻暴露出来,赋予我们在它们发生时采取行动的能力。可以将钩子函数理解为在合适的时候做合适的事情。官方给出的解释是:每个组件都有一个被 Angular 管理的生命周期。Angular 创建它,渲染它,创建并渲染它的子组件,在它被绑定的属性发生变化时检查它,并在它从 DOM 中被移除前销毁它。Angular 提供了生命周期钩子,把这些关键生...

2019-01-11 17:12:14

【Angular学习】(二)指令

Angularjs通过指令来扩展HTML,指令带有前缀ng-。ng-app指令初始化一个 AngularJS 应用程序。ng-init指令初始化应用程序数据。这个指令一般较少使用。ng-model指令把元素数据值绑定到应用程序。<div ng-app="" ng-init=&a

2019-01-08 15:10:14

【Angular学习】(一)项目环境

引入AngularJS是一个JavaScript框架,可以直接通过script引入<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>通常放在&am

2019-01-02 17:14:52

移动端适配之脚本的加载控制

我在写项目的时候,会把一些特效用script脚本加载进来,这样在网页上看起来就非常漂亮,但是放在移动端,不仅消耗性能,而且非常的丑。于是我经过学习,发现可以这样来控制是否加载script。拿我用的CDN上的蜂窝特效举例:<script src="canvas-nest.min.js" type="text/javascript"></script>这是一开始我的写...

2018-12-29 16:54:52

记一次项目上线过程

以前嫌麻烦,自己写了很多小demo,却从未考虑过上线给其他人使用。后来有一个面试官告诉我,你身为开发,做出来的项目就是要给别人用的。于是后来我买了一个阿里云的学生服务器,也很便宜,一个月9.5。然后为我的博客买了一个域名,开始了学习上线之路。1.首先记得要把前端项目里面的baseURL加入线上环境的URL,这个操作可以用webpack提供的功能实现比如我的:const baseUrl = p...

2018-12-28 16:36:33

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!