js-note
mpsl
这个作者很懒,什么都没留下…
展开
-
模仿jquery实现方法的连续调用
原创 2019-02-22 13:56:56 · 204 阅读 · 0 评论 -
递归
function mul(n){ if(n=1){ return 1; } return n * (n-1)! } mul(5)===>5*mul(4); mul(4)===>4*mul(3); mul(5)===>3*mul(2); mul(4)===>2*mul(1); /* * n的阶乘 * n!=n*(n-1)! ...原创 2019-02-22 13:59:05 · 100 阅读 · 0 评论 -
克隆/深度克隆
克隆: var obj = { name: 'abc', age: '17', sex: 'female' } var obj1 = {} function clone(origin, target) { for(var prop in origin) { target[prop] = origin[prop] ...原创 2019-02-21 19:15:24 · 150 阅读 · 0 评论 -
try(){}catch(e){}
原创 2019-02-22 13:58:46 · 799 阅读 · 0 评论 -
异步加载
原创 2019-02-21 19:21:09 · 84 阅读 · 0 评论 -
typeof / instanceof
比较typeof与instanceof? 相同点:JavaScript 中 typeof 和 instanceof 常用来判断一个变量是否为空,或者是什么类型的。 typeof的定义和用法:返回值是一个字符串,用来说明变量的数据类型。 细节: (1)、typeof 一般只能返回如下几个结果:number,boolean,string,function,object,undefined。 (...原创 2019-02-21 19:14:51 · 1336 阅读 · 0 评论 -
冒泡排序
function fn(arr) { for (var i = arr.length; i >= 2; --i) { for (var j = 0; j < i - 1; j++) { if (arr[j + 1] < arr[j]) { var temp; ...原创 2019-02-20 00:52:29 · 93 阅读 · 0 评论 -
关于forEach()你要知道
定义: 按升序为数组中含有效值的每一项执行一次回调函数。 语法: array.forEach(function(currentValue, index, arr), thisValue) 参数: function(必须): 数组中每个元素需要调用的函数。 // 回调函数的参数 1. currentValue(必须),数组当前元素的值 2. index(可选), 当前元素的索引值 3. ...原创 2019-03-02 00:30:03 · 200 阅读 · 0 评论 -
继承 / (原型/原型链)
继承 1、传统形式----->原型链 (过多的继承了没有用的属性) 2、借用构造函数----->call/apply (不能继承,借用构造函数的原理,每次构造函数都要多走一个函数,浪费效率) 3、共享原型 (不能随便改动自己的原型) 4、最终模式 1、原型/原型链 1, 原型是function对象的一个属性,他定义了构造函数生产出对象的公...原创 2019-02-21 19:19:35 · 205 阅读 · 0 评论 -
对象的枚举
for in hasOwnProperty ---->查找属于自己的属性 in --->判断属性是否为某个对象 instanceof ---->看A对象的原型链上有没有B对象的原型 枚举里面for in循环 ...原创 2019-02-22 13:57:08 · 154 阅读 · 0 评论 -
数组/类数组/arguments/json
数组: 改变原数组 :push 、pop、shift、unshift、re'verse、splice、sort 不改变原数组 :concat、join ----> split、toString、slice 类数组: 一定要有length属性 // Array.prototype.push = function(target){ obj[obj.le...原创 2019-02-21 19:15:40 · 113 阅读 · 0 评论 -
this
1,函数预编译过程:this——>window 2,全局作用域:this——>window 3,call/apply 可改变函数运行时this指向 4,obj.func(); func() 里面的this指向obj ...原创 2019-02-20 01:14:43 · 118 阅读 · 0 评论 -
预编译
预编译四部曲: 创建AO对象 找形参和变量声明,将变量和形参名作为AO的属性名,值为undefined 将实参值和形参统一 在函数体里找函数声明,值为其函数体 function test(a, b) { console.log(a);//1 c=0; var c; a = 3; b = 2...原创 2019-02-20 01:13:00 · 1696 阅读 · 1 评论 -
立即执行函数
输出10个10 <script type="text/javascript"> function test() { var arr = []; for(var i = 0; i < 10; i++) { arr[i] = function() { //定义时,不执行函数内容 ...原创 2019-02-20 01:07:58 · 127 阅读 · 0 评论 -
作用域链/闭包
作用域链 作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期 闭包 闭包作用: 实现公有变量、 可以做缓存(存储结构)、 可以实现封装,属性私有化、 模块化开发,防止污染全局变量。 影响:当内部函数被保存到外部时,将会产生闭包,闭包会导致原有作用链不释放,造成内存泄漏。 /* * 闭包 */ fu...原创 2019-02-20 01:07:04 · 173 阅读 · 0 评论 -
js设计模式
/** * 构造一个动物的函数 */function Animal(name, color){ this.name = name; this.color = color; this.getName = function(){ return this.name; }}// 实例一个对象var cat = new Animal('猫', '白色');console.log( cat.getName()...原创 2018-11-13 22:33:14 · 73 阅读 · 0 评论 -
dom基本操作/事件/脚本化css
/* * 根据insertBefore(),封装insertAfter() */ Element.prototype.insertAfter = function(targetNode, afterNode) { var beforeNode = afterNode.nextElementSibling; if(beforeNode == null) { this.appen...原创 2019-02-21 19:15:06 · 126 阅读 · 0 评论 -
三目运算
//三目 a%2==0?alert(‘双数’):alert(‘单数’);readyState属性返回当前文档的状态,该属性返回值:uninitialized :还未开始载入 loading :载入中 interactive :已加载,文档与用户可以开始交互 complete :载入完成//显示隐藏 输入法 手写 拼音 关闭原创 2017-12-07 00:16:50 · 183 阅读 · 0 评论