随笔分类 -  Javascript

摘要:柯里化,就是将接受多个参数的函数变换成接受一个单一参数的函数。 闭包的应用场景就是函数科里化。(延长变量的生命周期) 参数复用,利用闭包将函数的参数储存起来,等参数达到一定数量时执行函数 fn(x, y) -> fn(x)(y) 上面的代码就是把fn函数做成嵌套函数,外层函数的返回值是内层函数。外层 阅读全文
posted @ 2023-04-10 01:25 m2maomao 阅读(194) 评论(0) 推荐(0)
摘要:javascript 数组和对象的浅度复制和深度复制在平常我们用 ‘=’来用一个变量引用一个数组或对象,这里是‘引用’而不是复制下面我们看一个例子引用和复制是什么概念 但是当我们改变一个数组元素时,我们看一下会发生什么 对象也是一个道理我们来看一个例子 在开发中一般不想有这种情况发生我们就用到了复制 阅读全文
posted @ 2019-05-27 13:58 m2maomao 阅读(1010) 评论(0) 推荐(0)
摘要:摘要 vue和axios都可以使用es6-promise来实现f1().then(f2).then(f3)这样的连写形式,es6-promise其实现代浏览器已经支持,无需加载外部文件。由于promise写法明显由于传统写法,已经越来越被高级程序采用,不懂promise就没法看高级程序。 es6-p 阅读全文
posted @ 2018-03-28 17:02 m2maomao 阅读(228) 评论(0) 推荐(0)
摘要:版权: 本文采用以下协议进行授权,自由转载 - 非商用 - 非衍生 - 保持署名 | Creative Commons BY-NC-ND 3.0,转载请注明作者及出处. 版权: 本文采用以下协议进行授权,自由转载 - 非商用 - 非衍生 - 保持署名 | Creative Commons BY-NC 阅读全文
posted @ 2018-02-02 13:52 m2maomao 阅读(487) 评论(0) 推荐(0)
摘要:写在前面: 所谓的双向绑定,无非是从界面的操作能实时反映到数据,数据的变更也能实时展现到界面。angular封装了双向绑定的方法,使双向绑定变得十分简单。但是在有些场景下(比如下面那个场景),不能使用angular来实现双向绑定,需要我们使用js来实现双向绑定。 需求场景: 写了一个点击事件,当点击 阅读全文
posted @ 2018-01-19 15:30 m2maomao 阅读(2753) 评论(0) 推荐(0)
摘要:JavaScript是一种描述型脚本语言,它不同于java或C#等编译性语言,它不需要进行编译成中间语言,而是由浏览器进行动态地解析与执行。那么JavaScript是怎么来进行解析的吗?它的执行顺序又是如何的呢?在了解这些之前,我们先来认识几个重要的术语: 1. 代码块JavaScript中的代码块 阅读全文
posted @ 2018-01-10 11:21 m2maomao 阅读(209) 评论(0) 推荐(0)
摘要:首先说明一下:Js中的作用域不同于其他语言的作用域,要特别注意。 JS中作用域的概念: 表示变量或函数起作用的区域,指代了它们在什么样的上下文中执行,亦即上下文执行环境。Javascript的作用域只有两种:全局作用域和本地作用域,本地作用域是按照函数来区分的。 首先来看几道题目: 1. 2. 3. 阅读全文
posted @ 2017-10-31 11:06 m2maomao 阅读(302) 评论(0) 推荐(0)
摘要:记录一下: 1.arguments是一个对象, 是函数的一个特性,只有在函数内才具有这个特性,在函数外部不用使用。 举例: function test(){ alert(typeof arguments); //object } alert(typeof arguments); //undefine 阅读全文
posted @ 2017-10-30 15:34 m2maomao 阅读(153) 评论(0) 推荐(0)
摘要:1.什么是getter,什么是setter? getter 是一种获得属性值的方法,setter是一种设置属性值的方法。 2.怎么定义? 有2种办法: 在对象初始化的时候定义 在对象定义后的时候定义 3.例子: 结果: 100 101 200 201 阅读全文
posted @ 2017-10-30 14:23 m2maomao 阅读(181) 评论(0) 推荐(0)
摘要:1.Object.create() 是什么? Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数,可以传一个null,第二个参数是对象的属性描述符,这个参数是可选的。 例如: 结果为: 阅读全文
posted @ 2017-10-30 13:36 m2maomao 阅读(250) 评论(0) 推荐(0)
摘要:信息比较丰富的网站通常会以分页显示,在点“下一页”时,很多网站都采用了动态请求的方式,避免页面刷新。虽然大家都是ajax,但是从一些小的细节还是 可以区分优劣。一个小的细节是能否支持浏览器“后退”和“前进“键。本文讨论两种方法,让浏览器可以后退和前进,或者说让ajax就像重定向到新页面一样 拥有能够 阅读全文
posted @ 2017-10-27 14:45 m2maomao 阅读(281) 评论(0) 推荐(0)
摘要:JS虽然是一个面向对象的语言,但是不是典型的面向对象语言。Java/C++的面向对象是object - class的关系,而JS是object - object的关系,中间通过原型prototype连接,父类和子类形成一条原型链。本文通过分析JS的对象的封装,再探讨正确实现继承的方式,然后讨论几个问 阅读全文
posted @ 2017-10-27 14:11 m2maomao 阅读(511) 评论(0) 推荐(0)
摘要:Web前端技术由 html、css 和 javascript 三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端语言。而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构。本文将对Web前端知识体系进行简单的梳理, 阅读全文
posted @ 2017-10-20 15:40 m2maomao 阅读(170) 评论(0) 推荐(0)
摘要:闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMAScript 规范给的定义,如果没有实战经验,很难从定义去理解它。因此,本文不会对闭包的概念进行大篇幅描述,直接上干货,让你分分钟理解闭包! 1、闭包,一睹为快 在接触一个新技术的时候,我首先 阅读全文
posted @ 2017-10-20 15:30 m2maomao 阅读(122) 评论(0) 推荐(0)
摘要:前言: 现在javascript库特别多,其写法各式各样,总结几种我们经常见到的,作为自己知识的积累。而目前版本的 JavaScript 并未提供一种原生的、语言级别的模块化组织模式,而是将模块化的方法交由开发者来实现。因此,出现了很多种 JavaScript 模块化的实现方式, 以 AMD 为例, 阅读全文
posted @ 2017-10-18 15:41 m2maomao 阅读(1610) 评论(2) 推荐(0)
摘要:博客原文地址:Claiyre的个人博客如需转载,请在文章开头注明原文地址 在JavaScript中,函数的功能十分强大。它们是第一类对象,也可以作为另一个对象的方法,还可以作为参数传入另一个函数,不仅如此,还能被一个函数返回!可以说,在JS中,函数无处不在,无所不能,堪比孙猴子呀!当你运用好函数时, 阅读全文
posted @ 2017-08-16 10:41 m2maomao 阅读(4409) 评论(0) 推荐(0)
摘要:typeof和instanceof的区别 typeof和instanceof都可以用来判断变量,它们的用法有很大区别: typeof会返回一个变量的基本类型,只有以下几种:number,boolean,string,object,undefined,function;例: alert(typeof( 阅读全文
posted @ 2017-08-16 10:26 m2maomao 阅读(203) 评论(0) 推荐(1)
摘要:你是否看到过这样的代码:a=a||""; 可能javascript初学者会对此感到茫然。今天就跟大家分享一下我的一些心得。 其实: a=a||"defaultValue"; 与: if(!a){ a="defaultValue"; } 和: if(a==null||a==""||a==undefin 阅读全文
posted @ 2016-06-30 20:40 m2maomao 阅读(210) 评论(0) 推荐(0)
摘要:这篇文章将介绍 JavaScript 的函数式编程的理论. 其中有属于语言内置的内容, 其他均为额外实现, 但是所有内容都是类似于 Haskell 的很通用的"纯函数式语言". 首先, 我想先说明一下"纯函数式语言"的含义. 这类语言都是"安全"的, 它们不会产生任何副作用, 例如: 执行表达式不会... 阅读全文
posted @ 2015-12-24 15:02 m2maomao 阅读(235) 评论(0) 推荐(0)