js
雨落风殇
这个作者很懒,什么都没留下…
展开
-
深入理解JS中call,apply及bind的用法
apply语法:func.apply(thisArg, [argsArray])参数thisArg:调用func的this值,如果处于非严格模式下,则指定为 null 或 undefined 时会自动替换为指向全局对象 argsArray:调用func的传参(参数需要放到一个数组中)核心概念(借用)举个栗子有一天你一时兴起想做个红烧肉,但万事具备只欠口锅,但是买一个又不...原创 2019-12-11 16:31:30 · 195 阅读 · 0 评论 -
apply,call使用详解
Js apply()使用详解转载自:http://blog.csdn.net/business122/article/details/8000676Js apply方法详解我在一开始看到javascript的函数apply和call时,非常的模糊,看也看不懂,最近在网上看到一些文章对apply方法和call的一些示例,总算是看的有点眉目了,在这里我做如下笔记,希望和大家分享.. 如有什么不对的或者...转载 2018-07-11 16:54:33 · 152 阅读 · 0 评论 -
koa笔记
Koa笔记1.基本apictx.response.body = `**`; //设置访问页内容ctx.response.type = 'html'; //设置访问页类型,可选,html,json,text,xmlctx.requset.accepts('html'); //判定客户端页面访问类型,返回boolean类型ctx.url ==== '/index'; ...原创 2018-05-19 09:35:28 · 156 阅读 · 0 评论 -
ES6 promise详解
promise1.具有三种状态pending(进行)、resolve(完成)、rejected(失败)。可由pending变为resolve或pending变为rejected,一旦改变,状态凝固,无法再次改变。2.基本用法var promise=new Promise((resolve,reject)=>{ if(***){ resolve(success); }els...原创 2018-05-09 10:25:39 · 917 阅读 · 0 评论 -
正则表达式
原创 2018-01-09 15:17:40 · 110 阅读 · 0 评论 -
面向对象思维导图
原创 2018-01-08 16:46:25 · 421 阅读 · 0 评论 -
Object常用方法
原创 2018-01-31 15:20:37 · 164 阅读 · 0 评论 -
js内置对象思维导图
原创 2018-01-31 15:19:35 · 455 阅读 · 0 评论 -
ES6前
原创 2018-01-31 15:18:23 · 151 阅读 · 0 评论 -
js继承所有方式
/** * Call继承 * 缺点:无法继承父类原型对象 */ function Parent1(){ this.name="Parent1" } Parent1.prototype.say=function(){ console.log('i am Parent1'); } function Child1(){ Parent1.call(this); thi原创 2018-01-16 16:10:50 · 159 阅读 · 0 评论 -
async异步操作解读
小编推荐:掘金是一个高质量的技术社区,从 ECMAScript 6 到 Vue.js,性能优化到开源类库,让你不错过前端开发的每一个技术干货。各大应用市场搜索「掘金」即可下载APP,技术干货尽在掌握..本章介绍 Brian Terlson 提议的 ECMAScript 2017 新特性 Async Functions(异步函数) 。概述async(异步) 函数变体以下是已经存在的异步函数变体。请注...转载 2018-05-23 17:04:29 · 926 阅读 · 0 评论 -
jsonp详解
1.跨域问题普通的ajax请求普通文件存在跨域无法访问的问题,因为同源策略会被浏览器阻止方法。同源:协议,地址端口号都相同叫同源,其中任何一个不同都不叫同源。解决:网页中调用js文件时不受跨域问题影响,也就是说可以访问其他域名下的js,后来发现所有包含src这个属性的标签都有跨域的能力。因此可以将请求地址放在js的src中然后利用回调函数来进行跨域访问。2.简单文件访问实现远程服务器有一个文件:a...原创 2018-05-31 11:39:55 · 140 阅读 · 0 评论 -
防抖函数
<!DOCTYPE html><html lang="en"><body> <button id="debounce">点击触发</button> <script> window.onload = function () { var myDeb原创 2019-03-14 18:16:49 · 570 阅读 · 0 评论 -
js事件委托
起因:1、这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的;2、其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考;概述:那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上...转载 2019-01-18 11:07:37 · 117 阅读 · 0 评论 -
vue自定义指令
自定义指令1.用途 可定制指令对dom进行操作。2.1全局指令注册 Vue.directive('name',{fun})2.2局部指令注册 directives:{ 'name':{fun} }3.fun(指令钩子函数详解) bind:第一次绑定到元素时调用 unbind:解绑时调用,也只调用一次 insert:绑...原创 2018-10-16 18:30:29 · 959 阅读 · 0 评论 -
原型及原型链
构造函数创建对象我们先使用构造函数创建一个对象:function Person() {}var person = new Person();person.name = 'Kevin';console.log(person.name) // Kevin在这个例子中,Person 就是一个构造函数,我们使用 new 创建了一个实例对象 person。很简单吧,接下来进入正题...转载 2018-10-09 16:17:39 · 123 阅读 · 0 评论 -
Nuxt.js
1.简介Nuxt.js是vue的服务器(SSR)渲染框架。2.SSR在服务端将VUE页面渲染成HTML。这种生成页面的html是有内容的,能够被搜索引擎捕获。并且这种方式加快了首屏加载时间。3.目录结构assets //资源文件,less,jscomponents //vue组件layouts //布局组件middleware //中间件...原创 2018-09-21 18:17:05 · 630 阅读 · 0 评论 -
移动端适配
@media only screen and (max-width: 1080px), only screen and (max-device-width:1080px) { html,body { font-size:33.75px; } } @media only screen and (max-width: 960px), onl...原创 2018-09-19 18:10:05 · 166 阅读 · 0 评论 -
axios
请求方法axios.get(url, [config]);axios.post(url, [data[config]]);axios([config]); GET请求axios.get('/user', { params: { id: 123 } }).then(res => { retu...原创 2018-08-10 18:25:28 · 445 阅读 · 0 评论 -
js闭包
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结补充:闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。 闭包的三个特性:1.函数嵌套函数2.函数内部可以引用外部的参数和变量3.参数和变量不会被垃圾回收机制回收 闭包的定义及其优缺点:闭包 是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方...转载 2018-07-25 15:07:58 · 141 阅读 · 0 评论 -
js节流函数
在浏览器 DOM 事件里面,有一些事件会随着用户的操作不间断触发。比如:重新调整浏览器窗口大小(resize),浏览器页面滚动(scroll),鼠标移动(mousemove)。也就是说用户在触发这些浏览器操作的时候,如果脚本里面绑定了对应的事件处理方法,这个方法就不停的触发。这并不是我们想要的,因为有的时候如果事件处理方法比较庞大,DOM 操作比如复杂,还不断的触发此类事件就会造成性能上的损失,导...原创 2018-07-12 21:04:17 · 5420 阅读 · 0 评论 -
原型图解
、原创 2018-01-08 17:27:16 · 128 阅读 · 0 评论 -
js call()与apply()深入理解
1.call()与apply()的由来Function(函数对象)正如数组对象对应的类型为Array,数字对应的类型为Number,字符串对应的类型为String一样;定义一个字符串可以这样定义: var str='abc';也可以这样定义: var str=new String('abc');定义一个数组可以这样定义: var arr=[1,2,3];原创 2018-01-11 17:21:16 · 246 阅读 · 0 评论 -
jquery插件扩展
前言 如今做web开发,jquery 几乎是必不可少的,就连vs神器在2010版本开始将Jquery 及ui 内置web项目里了。至于使用jquery好处这里就不再赘述了,用过的都知道。今天我们来讨论下jquery的插件机制,jquery有着成千上万的第三方插件,有时我们写好了一个独立的功能,也想将其与jquery结合起来,可以用jquery链式调用,这就要扩展jquery,写成插件形式转载 2017-11-06 17:51:37 · 181 阅读 · 0 评论 -
vue方法绑定
方法绑定 {{reverseMessage}} new Vue({ el:"#app", data:{ message:"hello", a:1, b:2 }, methods:{ //定义方法对象 fun1:function(){ this.a原创 2017-11-28 15:22:03 · 3551 阅读 · 0 评论 -
vue数据绑定
数据绑定: {{ message }} //数据绑定 //html绑定 类名绑定: //类绑定,当isActive为true时类名生效 //多类名绑定,用逗号隔开 //对象类名绑定 //类名数组绑定 //三元运算符类名绑定 样式绑定: //内联样式绑定原创 2017-11-27 17:40:52 · 5653 阅读 · 0 评论 -
JS编码规范
1 前言JavaScript 在百度一直有着广泛的应用,特别是在浏览器端的行为管理。本文档的目标是使 JavaScript 代码风格保持一致,容易被理解和被维护。虽然本文档是针对 JavaScript 设计的,但是在使用各种 JavaScript 的预编译语言时(如 TypeScript 等)时,适用的部分也应尽量遵循本文档的约定。2 代码风格2.1 文件转载 2017-11-09 16:00:46 · 295 阅读 · 0 评论 -
js常用方法
Array:concat() 连接两个或更多的数组,并返回结果。join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 reverse() 颠倒数组中元素的顺序。push() 向数组的末尾添加一个或更多元素,并返回新的长度。shift() 删除并返回数组的第一个元素 unshift() 向数组的开头添加一个或更多元素,并返回新的长度。 slice(原创 2017-11-09 09:58:47 · 121 阅读 · 0 评论 -
js继承
function Person(name,age){this.name=name;this.age=age;}Person.prototype.getName=function(){alert(this.name);};Person.prototype.getAge=function(){alert(this.age);};function Wo原创 2017-11-07 16:49:40 · 144 阅读 · 0 评论 -
js面向对象及函数原型
面向对象什么是对象:对象是一个整体,对外提供一些操作。什么是面向对象:使用对象时,只关注对象提供的功能而不关注其具体实现,比如jQuery面向对象特点:封装,继承,多态对象组成方法----函数:过程、动态属性----变量:状态、静态var a = new object();var b=12; //变量:自由a.name='hkj';原创 2017-11-07 15:25:41 · 177 阅读 · 0 评论 -
Jquery遍历
祖先遍历:$("#box").parent() //直接父级$("#box").parents("ul") //所有父级,可指定范围后代遍历:$("#box").childern("p.one") //所有直接子元素,可限制范围$("#bxo").find("span") //所有后代元素,可限制范围同级遍历:$("#box").siblings("p原创 2017-11-30 09:59:06 · 310 阅读 · 0 评论 -
深入理解js原型与原型链
1.构造函数构造函数用来实例化对象时对对象进行初始化。每个构造函数都具有一个不可枚举的prototype属性,也叫做原型。而原型具有一个constructor属性指向构造函数。不论是构造函数还是原型,都是对象。var a=new A();A为构造函数,a为实例,A.prototype为原型对象,A.prototype.constructor为原型对象的一个属性等于AA.prot原创 2017-12-01 15:46:25 · 179 阅读 · 0 评论 -
深入理解js继承
1.传统js对象生成方式①var nam = { name = "hkj" age = "20"}②var man1 = {}; man1.name = "hkj"; man1.age = 20;2.方法改进 function Man(name,age) { return { name:name;原创 2017-11-23 14:50:02 · 237 阅读 · 0 评论 -
js伪数组
伪数组一种数据存储类似数组的对象,key依次递增,并且具有length属性。例如:var arr={0:'a',1:'b',2:'c',length:3};arguments,document.getElementByTagName(),document.getElementByClassName()均为伪数组伪数组转数组方法Array.prototype.slice.ca原创 2018-01-11 16:21:48 · 255 阅读 · 0 评论 -
BOM对象思维导图
原创 2018-01-11 15:00:09 · 556 阅读 · 0 评论 -
js内置对象思维导图
原创 2018-01-11 11:43:10 · 390 阅读 · 0 评论 -
ES6函数扩展
函数扩展1.默认参数function fun(a,b='world'){//默认值后不能跟没有默认值的属性alert(a,b);}fun("hello"); //输出helloworldlet a="aa";function fun(a,b=a){alert(b); //输出bb}fun("bb");2.res数组function f原创 2017-11-29 17:06:21 · 123 阅读 · 0 评论 -
ES6语法1
ES6语法:1.let 作用域仅限于块作用域,就是两个{}之间,超出则报错,而且不能重复定义。2.const 申明一个常量,常量名全部大写。如果作为引用,引用地址不能变,且定义时就必须赋值。同java中final3.解构赋值①.数组赋值let a,b,c;[a,b,...c]=[1,2,2,3,原创 2017-11-29 15:14:46 · 199 阅读 · 0 评论 -
ES6类和对象
class Parent{constructor(name='hkj'){this.name=name;}static fun(){ //定义静态方法(类可直接调用,不需要生成对象)alert("this is static function");}}Parent.type="parent type";//静态属性Parent.fun(); //调用原创 2017-12-04 10:45:52 · 277 阅读 · 0 评论 -
es6 Proxy
let user={name:"hkj",age:'20'}let pro= new Proxy(user,{get(target,key){//拦截获取属性操作return target[key].replace("hkj","aaaa");},set(target,key,value){//拦截设置属性操作if(key=='name'){retu原创 2017-12-03 20:20:44 · 160 阅读 · 0 评论