随笔分类 - JavaScript
摘要:Math 1.pow function pow(m, n) { if (n 1) return m; if (n % 2 0) { return p(m, n / 2) * p(m, n / 2) } else { var newN = parseInt(n / 2) return p(m, new
阅读全文
摘要:单例模式 何为单例模式,就是无论执行多少次函数,都只会生成一个对象哈哈,看一个简单的demo function Instance(name) { this.name = name; } Instance.prototype.fire = function () { console.log(this.
阅读全文
摘要:摘要:虽然js已经出了ES6,ES7等等版本,从而也诞生了新的异步对象->promise,但是基础还是要终结的,这一片就来回顾一下ajax以及ajax的异步对象->deferred。 1.传统ajax 传统模式$.ajax()接受参数为一个对象,该对象包含了callback(success和erro
阅读全文
摘要:问题来由: 之前面试X公司的时候,问我关于原型链知道多少,于是我就开始说了一些有关于原型链的东西,面试官问Array的原型是什么,我说是对象,毕竟Array.prototype array.__proto__是一样的嘛,但是我忽略了一个问题,就是这个对象是类数组对象,我想面试官可能要问我这个吧,总结
阅读全文
摘要:问题由来: 在项目应用PeoplePicker控件的时候突然联想到一个问题,在输入人名时不停的向后台发请求,取到数据库里面的数据。我们都知道频繁的通信会导致页面效率降低。可不可以设置个间隔,每次这个间隔通信一次而不是每次输入一个字符就通信一次呢。其实这里还有很多场景,比如resize事件,scrol
阅读全文
摘要:this总结,mark一下: Object中的this: Object方法中的this,指向的就是该对象,即谁调用this就指向谁,与C#等服务器语言的思想比较一致。 demo对象调用action,action中的this指向的就是demo,action内部的自执行函数this则指向的是window
阅读全文
摘要:事件冒泡: 什么是事件冒泡,就是最深dom节点触发事件,然后逐级向最外层触发事件。打个比方一棵dom tree:li<ul<div每级都有事件绑定,然后我们触发li的事件,这时ul上的事件也会触发,接着div上的事件也会在ul事件触发之后执行。 demo: 当点击li时,首先会alert出“我是li
阅读全文
摘要:实现一个页面或者一个功能时,常常遇到的场景需要我们备份一个数组或者对象,这时候出现了深拷贝与浅拷贝效果截然不同呀总结如下: 浅拷贝: 很简单的例子,很明显结果是两个数组第一项同时发生改变,原因是因为arr与shallowArr两数组为同一数组,仅仅是地址名不同,而地址却是同一个。那么如何避免上面的情
阅读全文
摘要:观察者模式,即发布与订阅模式,实现一对多的一种关系模式,当一种对象接受信号时其他所有依赖均有行为。我们在写code的时候总是会去自定义一些事件,这就是观察者常常使用的地方: JS中的观察者模式应用: var dom = document.getElementById('demo'); dom.add
阅读全文
摘要:JavaScript本身是一种神马语言: 提到继承,我们常常会联想到C#、java等面向对象的高级语言(当然还有C++),因为存在类的概念使得这些语言在实际的使用中抽象成为一个对象,即面向对象。JavaScript这门语言本身就是作为浏览器脚本语言的弱语言,伴随着没有类的概念,JavaScript就
阅读全文
摘要:1.提到编码,首先需要认识神马是编码,有几种编码方式。 神马是编码:说白了,编码就是一种信息转化成另一种信息(必然是计算机可以识别的)。百度知道:编码是信息从一种形式转化成为另一种形式的过程(也称:计算机编程语言的代码,简称编码)。有编码自然就有解码,解码奏是编码的逆过程。 编码的方式(常见):AS
阅读全文
摘要:1.for循环 js最常用的循环必然是for循环,最基础的用法,用于数组遍历,但是代码书写过多。 var in的形式遍历用于遍历数组并不理想,这个遍历方式是遍历属性的,特殊情况下是可以使用,使用这种遍历方式会将数组本身的属性也遍历出来,比如我们在Array上扩展一个方法customFunc,此时遍遍
阅读全文