- 博客(17)
- 收藏
- 关注
原创 javascript中的this判断
在javascript中每执行一个函数时,会为函数创建一个执行上下文,并把他压入调用栈中,这个执行上下文包含了函数执行所需要的信息,如该函数是由谁调用的等等,而this也是这些信息中的一员。this的值是在执行时去确认的,所以我们判断this的值分为两个部分,第一个部分是确认出函数被调用的位置,级、第二个部分是结合第一步分析出的结果,根据四个规则来确认this的值一. 我们判断this的值...
2019-10-22 22:07:35
309
原创 从输入一个url到页面出现内容发生了什么
浏览器是多进程架构的,分为主进程(处理用户输入,交互等),网络进程,渲染进程(处理页面加载),GPU进程(处理图形),那么,从输入一个url到页面出现内容主要有以下几个步骤。1. 浏览器主进程处理用户输入,并将输入传输给网络进程当用户在导航栏上输入一串字符后,首先浏览器主进程会判断这串字符是否是合法的url地址,如果不是,就会调用搜索引擎,如果是则作相应处理,比如www.baidu.com...
2019-09-15 18:22:42
316
原创 从零开始构建一个完整的web(前端+中间件)项目(第一期)
从零开始构建一个完整的web(前端+中间件)项目(第一期)项目需求简单来说,就是工作室需要一个官方网站,给工作室成员们提供新闻,通知,展示优秀作品等功能,同时纳新的时候,可以提交让同学们提交报名表,管理员进行审核等等。技术选型vue vue-cli vuex vue-router axios iview实现前端的基本业务逻辑echarts 数据可视化 用于分析系统的错误日志,新生提交报...
2019-08-24 13:48:58
779
原创 前端入门分享第一期
非常感谢大家点开这篇博客,以下是我对前端的一些理解以及如何快速入门前端课程的经验分享。话说在10多年前,都没有职业的前端工程师QAQ,前端的业务往往由后端完成,因为那个时候并没有什么复杂的交互逻辑,并且互联网刚刚兴起,大家关心的往往是由无到有,而不重视锦上添花,随着技术的发展,现在可以很轻松的搭建出一个网站,由无到有的问题已经被解决了,所以大家都开始关注用户体验,大家可以把自己换到用户的角度去...
2019-03-25 15:26:43
290
原创 vue非父子组件传值
把一个bus定义在全局上 Vue.prototype.bus = new Vue(); 有什么要emit的事件 都写在这里,相当于中介者模式vue是单向数据流,子组件不能改变父组件传递过来的值,会报错,可以多加一个selfData来映射父组件传递过来的data作用域插槽的使用场景,当插槽的dom结构由外部决定时,传数据 slot-scope="props" props.item动态组件...
2019-03-09 14:00:45
161
原创 用localstroage缓存图片信息
总体的思想就是请求到图片之后,用canvas把图片画下来,然后借助canvas的toDataURL Api来把图片保存成base64的形式let src = ""; //网络图片路径function set(key) {let img = document.createElement('img');img.addEventListener('load', function(...
2019-03-06 14:17:45
403
原创 分部函数为用户填写用户不需要关心的参数
Function.prototype.partial=function(){ var fn=this,args=Array.prototype.slice.call(arguments); return function(){ var arg=0; for(var i=0;i<ar...
2018-09-14 08:56:50
193
原创 bind函数
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> #results li.pass{color:
2018-09-11 17:06:33
335
原创 检测是否为函数类型
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title></head><body> <sc
2018-09-11 15:59:41
474
原创 借助闭包实现方法重载
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> #results li.pass{color:
2018-09-11 15:58:45
181
原创 更改Math.max()和Math.min()的传参方式
<!--js中的Math.max()和Math.min()方法只接受可变长度的参数列表,不接受直接传递数组的形式,可以用apply的方法改变传参的方式--><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title&am
2018-09-11 15:56:54
1255
原创 异步测试
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> #results li.pass{color:
2018-09-09 14:02:21
537
原创 测试分组的实现
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Document</title> <style> #results li.pass{color:
2018-09-09 10:04:54
608
原创 表单的学习(test1)
在此,仅仅列出js的代码。/*测试版本1 已经实现基本的验证 *需要完善的地方:1.账号的验证需要满足,使用户输入的账号满足aa@aa.aa的形式,这可能需要一点正则表达式的知识; * 2.密码的验证应该更加完善,可以提示用户输入的密码长度是长于要求还是短于要求; * 3.表单的布局存在问题,应该改变绝对定位的方法,增加代码的灵活性; * ...
2018-05-28 16:59:00
177
原创 用js如何封装一个可判断两数组中元素类型是否相同的函数
1.首先这个函数可以判断出各种数据类型(包括基本类型和object类型),注意这里的object类型需要细细的把它们区分出来,可以用typeof先判断其是否是基本类型,如果不是基本类型,再用instanceof一一判断,并将结果放入两个新的result数组中;2.这个函数需要一一比对2个result中的答案是否相同,注意,这里与顺序是无关的,可以利用两个嵌套的for循环进行遍历对比。以下是代码。f...
2018-05-16 16:09:22
631
原创 封装一个可实现限时存储的Storage
注意事项:1 要把新定义好的函数装在一个对象内,且函数名最好和localStorage下的函数名相同,方便阅读使用; 2 给对象引入函数时,直接写函数名(function()是调用函数) 3 处理好time的问题,记得要有永久存放的功能,故要设置一个特殊的time值,即当time=0或者undefined时的特殊情况以下是代码...
2018-05-12 17:08:15
308
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人