个人笔记
文章平均质量分 64
云天1995
这个作者很懒,什么都没留下…
展开
-
移动端H5,拍照,录制视频以及录音功能的调用
什么都不说,先上代码(原创) 调用手机功能 .btn { border-bottom: 2px solid #fff; display: block; text-align: center; padding: 2px 10%; margin: 2px 0; }原创 2017-08-24 22:14:53 · 6938 阅读 · 4 评论 -
深拷贝
说起深拷贝,第一个想到的就是递归,递归的之前有座机滤,这里不贴代码了;记一个深拷贝除递归外的方法;var data = { xiaomin:{ age: 12, sex: man, },}var copyData = JSON.parse(JSON.stringify(data ))经测试拷贝后的对象改变深一层的属性,不会影响拷贝前的对象的值;记录一个坑var copy...原创 2018-03-13 10:11:16 · 162 阅读 · 0 评论 -
数据监听的简单实现
复习前端犀牛书,看到了订阅者发布者模式;有感而发,谢了一个小demo,实现了简单的数据监听function Observer(data) { this.data = data; this.addMethod(data);}Observer.prototype.addMethod = function (obj) { // 枚举传入对象的所有属性 var val = n...原创 2018-03-09 17:10:21 · 2238 阅读 · 0 评论 -
事件节流方法
事件节流,简而言之就是防止事件被频繁触发;不多说,上代码;import DOM from '../methods/DOM';// 这是我之前单独写的一个绑定移除dom事件的方法;class EventThrottle { constructor() { this.arr = []; // 保存所有绑定了事件节流的对象 } // FN方法 duration时间,触发的最大频...原创 2018-02-28 11:53:30 · 510 阅读 · 0 评论 -
原生js绑定事件方法简单封装
const ListenerFN = function ({ target, event, FN, option = {} }) { if (target, event, FN) Error('target, event, FN'); target.addEventListener(event, FN, option); return function () { target....原创 2018-02-27 13:50:52 · 1304 阅读 · 0 评论 -
记几个最近在项目中用到的es6语法(2018.1.29)
filter: 用于过滤,相当于循环并进行if判断,返回符合条件的项组成的新数组const arr = [1,2,3,4,5];const newArr = arr.filter((item) => item>3 );// newArr = [4,5]map:循环每一项,并进行操作,返回新数组const arr = [1,2,3,4,5];const newArr = arr.ma原创 2018-01-29 22:09:53 · 415 阅读 · 0 评论 -
项目中遇到的,几个新的对象方法
项目中用到过的几个方法;将对象的可枚举属性的name作为数组输出;var a={name:'小明',age:'11'};Object.value(a);// ['小明','11'];同理,还有对应的key方法var a={name:'小明',age:'11'};Object.key(a);// ['name','age'];还有更进一步的entries方法,将键值放入一个数组中原创 2018-02-05 21:30:53 · 149 阅读 · 0 评论 -
js的声明提前
var a=25;(function() {console.log(a);var a=30;})();等同于以下代码,所以输出a为undefinedvar a=25;(function() {var a;console.log(a);a=30;})();原创 2018-02-05 21:17:27 · 159 阅读 · 0 评论 -
实现js控制浏览器全屏,相当于f11
关于用js实现控制浏览器全屏的方法原创 2017-10-26 17:27:10 · 2754 阅读 · 0 评论 -
简单的取表单数据的方法serializeArray
.serializeArray() 是jquery提供的序列化表单元素的方法,返回json对象需要注意的是,元素应当含有name属性id可以是单独的表单元素,也可以是form标签,以获取form下面的所有表单元素的值function getFormData (id){ let formData = $(id).serializeArray(); let newData = {}原创 2017-10-16 11:25:12 · 1066 阅读 · 0 评论 -
用typeof测试各种类型的返回结果
typeof(true);//booleantypeof(undefined);//undefinedtypeof(null);//objecttypeof(NaN);//numbertypeof(1);//numbertypeof('1');//stringtypeof(Function);//functiontypeof(function);//报错原创 2017-11-01 14:28:02 · 704 阅读 · 0 评论 -
尝试用es6封装方法
es6的一些实践原创 2017-10-19 19:18:53 · 3359 阅读 · 0 评论 -
简单的页面模板引擎(一)
先不说啥了,上代码 function render(str,obj){ while(1){ if(!str.match(/{{.+?}}/)){ break; } let key=str.match(/{{.+?}}/)[0].replace(/({{)(.+?)(}})原创 2017-09-02 00:10:01 · 463 阅读 · 0 评论 -
遍历数组的问题(一)
将元素内各个元素出现的次数进行统计输出var arr=[1,3,3,5,7,5,3,11];var obj={};//声明一个对象,用于保存每个元素的值以及出现的次数for(var i=0;i<arr.length;i++){ if(arr[i]!=-1){//设定一个不会再数组中出现的值 var temp=arr[i]; if(!obj[tem原创 2017-08-17 14:44:42 · 345 阅读 · 0 评论 -
http请求原理(一)
虽然打开网页就是开始http请求,但是对于http的原理,了解的并不多。通过万能的度娘找到了对应的知识,赶紧存下来做笔记http的工作原理客户机与服务器建立连接后,发送一个请求给服务器,请求格式为:统一资源标识符、协议版本号。服务器收到请求的信息(包括请求行,请求头,请求体)。服务器接收到请求后,给予相应的响应信息,格式为一个状态行(包括响应行,响应头,响应体)。在internet上,转载 2017-08-24 00:13:43 · 1145 阅读 · 0 评论 -
前端的表现与数据分离(一)
第一次看到表现与数据分离,我就觉得是个很高大上的东西,然后通过万能的度娘,总算是了解了一些,在这里稍微说一下我自己的理解。“分离”的话可以分为两种:第一种是前端与后台分离,所有数据都是通过请求(AJAX)从后台获取,前端处理数据展现页面,不需要后台在页面中插入变量。第二种前端展现与数据分离。也就是说在前端处理数据的过程中,处理DOM的代码与处理数据的代码要区分开,不能混在一起,这样改起原创 2017-08-23 23:04:54 · 9175 阅读 · 3 评论 -
闭包(一)
闭包的概念十分的抽象,直接上干货吧function A(){ var num=0; function B(){ console.log(++num); } return B;}var C=A();C();//1C();//2C();//3在这段代码中,B是在函数A内部声明的函数,但是因为A中将B给return了出去,所以在A外部声明的var C=A(),相当于将C指原创 2017-08-27 00:00:12 · 198 阅读 · 0 评论 -
div居中的方法
居中,这是个老生常谈的问题。我一直以为这个根本不用去想他,用多了自然知道,没想到在一次面试上碰到,脑子里一时居然想不起来,妥妥的是挂了,回家赶紧做下笔记 Document .father{ width:500px; height:600px; border:1px solid gray;原创 2017-08-24 22:55:56 · 405 阅读 · 0 评论 -
npm发布指南
在 https://www.npmjs.com/ 注册npm账号本地登录npm账号(可用 npm whoami 测试是否登录npm login 登陆npm init本地初始化目录配置package修改对应的repository(与github绑定,主要是type和url)files是最终构建上传的文件夹scripts 打包和上传的命令npm insta...原创 2019-03-14 16:06:07 · 156 阅读 · 0 评论