web前端
公众号/头条号:技术很有趣
不仅仅是技术。公众号/头条号:技术很有趣。
展开
-
TypeScript 注意事项
1、后台返回字段的名称和数量要相匹配,以下面的数据结构为例子:情况一:export interface Class1 { id?: string, // ?代表可选 name: string}情况二:如果后台返回的对象为{name: ‘1’}或者{id: ‘1’, name: ‘1’}是可以的,因为id是可选项。如果为以下数据结构,则{name: ‘1’}是不行的。export interface Class1 { id: string, name: st原创 2020-09-23 18:10:06 · 235 阅读 · 0 评论 -
前端如何分片上传文件?
概述分片上传好处:可以断点续传,针对较大文件传输有明显好处,以免中途传输中断还需从头开始,借助哈希算法计算每片文件的哈希值,最后计算单个文件的哈希值。实现基础知识:关键是哈希算法和HTML5的FileReader对象。哈希算法可以参考本人的另一篇文章:彻底掌握哈希算法,不再似懂非懂!FileReader 可以参考MDN。下面列出关键的计算文件哈希值的JavaScript代码,需要引入CryptoJS:/**创建hash对象,md5已不再足够安全,具体使用SHA256或者SHA128视具体情况而定原创 2020-09-23 14:39:41 · 1303 阅读 · 0 评论 -
AngularJS
1.scope 与 rootScopescope:单个controller的作用域。可以直接在某controller下的页面引用scope下的变量 rootScope:多个controller作用域的桥梁。可以直接在全局页面引用rootScope下的变量举例:$rootScope.name = '小明';$scope.name = '小明';//和$rootScope同名可以使用$...原创 2018-08-24 10:15:49 · 202 阅读 · 0 评论 -
var、let、const
1.变量提升变量使用:创建(create)、初始化(initialize) 和赋值(assign)。var 的“创建”和“初始化”都被提升了; function 的“创建”、”初始化“和”赋值“都被提升了; let 的“创建”过程被提升了,但是“初始化”没有提升。举例:function fn(){console.log(a)//undefinedvar a =3;...原创 2018-08-28 09:45:39 · 147 阅读 · 0 评论 -
Vue.js注意事项
1.父组件给子组件传递类名的时候,IE浏览器的object元素外面不能有其它元素作为其父元素,否则传递的css类名会绑定到父元素上面。错误写法:<template><!--类名会绑定到父元素div上面--> <div> <object :class="[cnam原创 2018-08-30 20:45:36 · 163 阅读 · 0 评论 -
ES6必知必会
新增基本数据类型Symbol。原创 2018-08-19 10:30:55 · 182 阅读 · 0 评论 -
Web安全和性能
http://imweb.io/topic/584cd0459be501ba17b10aaa原创 2018-08-16 13:39:53 · 959 阅读 · 0 评论 -
JavaScript模块化来龙去脉
UMD(universal module definition)IIFE(立即执行函数表达式)在此有应用,将需要执行的函数放在第二位,示例代码如下:(function iife(fn){ fn(window);})(function def(global){ ......);...原创 2018-08-11 15:50:27 · 158 阅读 · 0 评论 -
关于HTTP,我们需要知道的事儿
form-data 和 request playload的区别状态码请求头响应头原创 2018-08-01 21:54:03 · 1311 阅读 · 0 评论 -
w3c Web Components 规范草案翻译
原文链接:Slots-Proposal翻译 2018-07-27 15:23:16 · 411 阅读 · 0 评论 -
JavaScript异常
异常对象原创 2018-07-14 19:07:03 · 324 阅读 · 0 评论 -
JavaScript 引用类型
数组、对象、函数原创 2018-07-14 19:05:37 · 189 阅读 · 0 评论 -
IE错误汇总
SCRIPT1002: 语法错误原创 2018-07-19 14:30:03 · 2131 阅读 · 0 评论 -
Vue项目错误汇总
1. [Vue warn]: Error in beforeCreate hook: “Error: 堆栈溢出”export default new Router({ routes: [ { path: '/', redirect:'/'//原因:重定向不能与原路径相同 }, { path: '/login', name...原创 2018-07-11 20:45:53 · 2789 阅读 · 0 评论 -
CSS新特性
1.CSS变量background-color: var(--bg-color, gray)//--bg-color在别的css选择器定义,如果--bg-color不存在,默认使用gray。 --为变量声明,var()是引用变量的函数。原创 2018-08-31 13:53:44 · 388 阅读 · 0 评论 -
前端缓存
<html manifest="缓存文件路径">文件名称:类似pc.cache,路径和名称可以自定义。 文件内容:CACHE MANIFEST#v5.8(更新客户端缓存文件的话,修改版本号就行了)#需要缓存的文件列表;系统级别的,不经常变的文件可以放在这里;CACHE:./js/alloy_finger.js./js/config.js./js/cordova....原创 2018-08-21 18:58:57 · 221 阅读 · 0 评论 -
JavaScript开发注意事项
1 异步前端发送ajax请求获取数据时,返回的数据会在其它地方用到的话,应该将属性async设置成false,否则其它地方获取的数据为undefined,可能会导致其他错误。举例:func1(){ var arrry_name = ajax({ async:false ...... }); return arrry_name ; } ...原创 2019-05-14 21:58:17 · 229 阅读 · 0 评论 -
Visual Studio Code使用及异常
CPU 100%原创 2018-11-19 16:46:39 · 261 阅读 · 0 评论 -
简易版MVVM
以Vue.js为例子。原创 2018-10-29 10:56:31 · 198 阅读 · 0 评论 -
PC端、移动端的页面适配及兼容处理
参考链接:https://www.jianshu.com/p/d39bdeeaa8fe原创 2018-10-16 15:02:27 · 1459 阅读 · 0 评论 -
cordova
if (execIframe && execIframe.contentWindow) { execIframe.contentWindow.location = ‘gap://ready’; } else { execIframe = document.createElement(‘iframe’); execIfr...原创 2018-09-13 17:38:09 · 265 阅读 · 0 评论 -
前端跨域
H5 跨域原创 2018-09-17 15:32:46 · 139 阅读 · 0 评论 -
浏览器事件循环(Event Loop)
js之所以设计成单线程,个人认为:一方面,引用多线程是为了充分利用硬件资源,但是作为js执行环境的浏览器是客户端的一个进程, 不需要考虑充分利用其硬件资源;另一方面,多线程带来了编程的复杂性,需要加锁,加锁本身也是消耗性能的。综上两点,既然引入多线程无法带来其好处,却会引入其缺点,js被设计成单线程更加合理。...原创 2018-09-17 14:13:47 · 350 阅读 · 0 评论 -
疑问汇总
angular模块化怎么做的? 虚拟DOM webpack原理 JQuery $ 双向数据绑定MVVM promise实现 跨域 原生ajax原创 2018-09-07 00:53:25 · 152 阅读 · 0 评论 -
前端面试题汇总
vuejs 兄弟组件通信 生命周期 闭包的坏处 数组api angular与vue区别 即时通讯 对方如何得知消息过来了 项目难点 亮点 为什么离职 jQuery选择器 前后端通信 前端打断点调试 vue router vuex 原理 事件循环 promise promise和定时器哪个先执行? react 双向数据绑定 业余时间干嘛? 用的什么版本工具 ...原创 2018-09-09 16:11:49 · 215 阅读 · 0 评论 -
如何发布自己的NPM包(模块)?
1.注册NPM 账号 注册地址:npmjs官网2.初始化自己要发布的项目 搭建本地环境:安装node.js,包含了npm命令。 初始化项目:npm init。原创 2018-09-09 14:59:47 · 642 阅读 · 0 评论 -
访问www.baidu.com完整过程
CDN 减少HTTP请求大小 合并HTTP请求 浏览器渲染:经过框架代码渲染;服务端渲染原创 2018-09-08 17:00:04 · 33997 阅读 · 5 评论 -
CSS布局
1. position原创 2018-08-30 14:53:54 · 74 阅读 · 0 评论 -
vue基础
vue文件组件也支持CSS预处理语言,比如scss或者less。如需使用scss,定义lang属性即可:<style lang="scss" scoped>...</style>webpack.config中需要加载vue-loader来解析.vue文件(下面配置支持在vue组件中使用scss语法)。module: { rules: [...原创 2018-07-05 09:27:09 · 98 阅读 · 0 评论 -
Chrome控制台错误汇总
“Uncaught SyntaxError: Unexpected token <”可能是后台返回时在html页面插入了其它字符。原创 2018-07-17 09:28:44 · 848 阅读 · 0 评论 -
HTML
1. HTML中所有的文字之间,如果有空格、换行、tab都将被折叠为一个空格显示。2. h是容器级的标签。理论上里面可以放置p、ul,只是法律上的允许,在语义上,不要这么写。3. HTML标签是分等级的,HTML将所有的标签分为两种:容器级、文本级。4. 顾名思义,容器级的标签,里面可以放置任何东西;文本级的标签里面,只能放置文字、图片、表单元素。 5. p标签是一个文本级标签。从学习p的...原创 2018-05-05 20:18:28 · 146 阅读 · 0 评论 -
js基础(4)
通过script标签的src属性引入外部js相当于在当前HTML页面引入<script></script>原创 2018-05-05 20:17:40 · 127 阅读 · 0 评论 -
js基础(5)
1. Error所有错误类型的父类型 * EvalError * RangeError:参数范围异常,toFix(num), 0=<num<=100(最新Chrome) * ReferenceError:找不到对象 * SyntaxError:语法错误 * TypeError:类型错误或者类型方法错误 * URIError:URI错误...原创 2018-05-05 20:16:57 · 165 阅读 · 0 评论 -
HTML5(1)
1. href=“#” #英文hash symbol(井号)2. H5和H4的区别 * 支持多线程 * 去掉可以用css替代的属性,新增语义清晰的标签。 * 支持文件上传 * 文件类型声明:仅有一种类型,<!DOCTYPE html>3. 兼容性 * required:This field does not work in Safari...原创 2018-05-05 20:12:30 · 177 阅读 · 0 评论 -
DOM(1)
DOM原创 2018-05-05 20:11:27 · 188 阅读 · 0 评论 -
css(1)
1 z-index就是网页的z轴,用相对定位绝对定位把两个层重叠在一起,z-index的值越大,就越靠上,注意,z-index没有单位,z-index:99;这样写就够了2 居中方法:http://blog.csdn.net/chenmoquan/article/details/41547609 * left:calc(50%-30%)3 4 expression可在css中设...原创 2018-05-05 20:08:52 · 178 阅读 · 0 评论 -
Jquery(1)
1. 需要注意 jQuery 分 2 个系列版本 1.x 与 2.x,主要的区别在于 2.x 不再兼容 IE6、7、8浏览器,这样做的目的是为了兼容移动端开发。由于减少了一些代码,使得该版本比 jQuery 1.x 更小、更快。2. $(document).ready 的作用是等页面的文档(document)中的节点都加载完毕后,再执行后续的代码,因为我们在执行代码的时候,可能会依赖页面的某一个...原创 2018-05-05 20:05:06 · 119 阅读 · 0 评论 -
浏览器存储之cookie
1.起源服务端需要知道访问者的登录状态用来区分不同用户,但HTTP是无状态协议,没法保存访问者登录状态。为啥当初HTTP不设计成有状态的协议?因为没考虑到呗,虽然是设计者大神,但难免有局限性。2.生成方式服务端可以通过set-cookie形式返回,并由客户端存储,通过某种编程语言即可实现,比如Java。这样用户登录后,再次发送HTTP请求时,就可以将cookie放在HTTP请求中发...原创 2018-05-12 01:51:13 · 1147 阅读 · 2 评论 -
JavaScript 五种基本数据类型(下)
上篇文章 JavaScript 五种基本数据类型(上)的子妹篇。 如未作出特殊说明,本文例子均在Chrome控制台进行测试。三、类型转换显式(强制)类型转换定义:主要指使用Number、Boolean、String、toString、parseInt、parseFloat将各种数据类型与String、Number、Boolean三种基本数据类型进行相互转换。转...原创 2018-05-09 02:13:51 · 580 阅读 · 0 评论 -
小强前端面试记之闭包
又是一年春季,空气清新,阳光正好,一切都好。当然,并非一切都那么令人舒适,比如春节后的工作,不知曾几何时,一年总有那么个365天不太想上班。还有校园里的小鲜肉们,也要开始参加春招喽。这一年的某一天,一个叫小强的大四学生来老刘公司应聘实习生,应聘职位也是这几年发展迅猛的前端开发。 Round One“自我介绍下吧。”老刘一脸严肃地说到,似乎并没有因为对方是妹纸稍显温...原创 2018-03-26 18:42:43 · 438 阅读 · 0 评论