随笔分类 - javascript
摘要:写了一个抽奖的jquery插件和计算概率的方法, 结合起来就是一个简单的概率抽奖, 不过实际项目中基本不会把抽奖概率的计算放在前端处理~。**demo*...
阅读全文
摘要:> 参考《JavaScript高级程序设计》第三版 第22章 高级技巧浏览器中某些计算和处理比其他的昂贵的多。 例如, DOM操作比起非DOM交互需要更多的内存和CPU时间。 连续尝试进行过多的DOM相关操作可能会导致浏览器挂起, 有时候甚至崩溃。 尤其IE中使用onresize事件处理程序的时候容...
阅读全文
摘要:#####函数记忆函数可以将先前操作的结果记录在某个对象里,从而避免重复的运算,这种优化被称为记忆。我们可以编写一个函数来帮助我们构造带记忆功能的函数, 例如:```JavaScriptfunction memoizer(fun, memo) { var memo = memo || {};...
阅读全文
摘要:seajs模块路径解析最近在试着用seajs + grunt改造现有项目, 遇到的最大的问题就是seajs命名与调用, 简单总结一下。模块调用seajs中调用模块有两种方式,seajs.use(ID) 、 require(ID)。ID命名完整绝对路径 例如 "http://example.com/t...
阅读全文
摘要:JavaScript提供了一套异常处理机制。 异常是干扰程序的正常流程的不寻常(但并非完全是出乎意料的)的事故。 当发现这样的事故时,你的程序应该抛出一个异常。throw语句中断函数的执行。 它应该抛出一个exception对象,该对象包含一个用来识别异常类型的 name 属性和一个描述性的 mes...
阅读全文
摘要:当发现正在调用同一个函数,并且传递的参数绝大多数都是相同的,那么该函数可能是用于Curry化的一个很好地候选参数。 可以通过将一个函数集合部分应用到函数中,从而动态创建一个新函数,这个新函数将会保存重复的参数(因此,不必每次都传递这些参数),并且还会使用预填充原始函数所期待的的完整参数列表。 ———《JavaScript模式》先不说翻译的好不好,这段话感觉都不怎么通顺,还好意思最终还是理解了|||
阅读全文
摘要:看书看到了有关重写函数, 于是自己写了个测试例子, 结果有点出乎意料。var a = function() { alert("this is a"); a = function() { alert("this is new a"); };};document.onclick = a;a();a();
阅读全文
摘要:很长一段时间认为, 构造函数显式的返回值是无效的, 最终都会返回this。 今天才发现其实是错误的。当构造函数中没有return语句时, 会默认返回this, 但是也可以返回任意的对象, 如果返回值不是对象, 仍然返回this。 不过这样也有后遗症, 实例将不会继承构造函数原型上的任何属性。例1: function Test() { this.name = "this's name"; var that = {}; that.name = "that's name"; return 10; } var test1 = new Test()
阅读全文
摘要:相关文章: 面向对象的程序设计(一) — 创建对象 http://www.cnblogs.com/blackwood/archive/2013/04/24/3039523.html继承继承是OO语言中的一个最为人津津乐道的概念。 许多OO语言都支持两种继承方式:接口继承和实现继承。 接口继承只继承方法签名,而实现继承则继承实际的方法。 如其所述,由于函数没有签名,在ECMAScript中无法实现接口继承。 ECMAScript只支持实现继承,而且其实现继承主要是依靠原型链来实现的。原型链ECMAScript中描述了原型链的概念,并将原型链作为实现继承的主要方法。 其基本思想是利用原型让一个引用
阅读全文
摘要:函数使用function关键字来定义, 它可以用在函数定义表达式或者函数声明语句。 两种形式中, 函数定义都从function关键字开始, 其后跟随这些组成部分:函数名称标识符一对圆括号。 其中包含由0个或多个逗号隔开的标识符组成的列表。 这些标识符是函数的参数名称, 它们就像函数体中的局部变量一样。一对花括号。 其中包含0条或多条JavaScript语句。 这些语句构成函数体: 一旦调用函数,就会执行这些语句。函数定义表达式函数定义表达式也可以称作“函数直接量”。 对函数定义表达式来说, 函数名称是可选的, 这个名字如果存在, 该名字只存在于函数体中, 并指代该函数对象本身。例: var f
阅读全文
摘要:简单总结一下JavaScript的几个操作符: var、 in、 delete、 typeof、 new、 instanceof、voidvar定义变量要使用var操作符, 使用var操作符定义的变量将成为该变量的作用域中的局部变量。 也就是说,如果在函数中定义一个变量, 那么这个变量在函数退出后就...
阅读全文
摘要:JavaScript的变量与其他语言的变量有很大区别。JavaScript变量松散类型的本质,决定了它只是在特定时间用于保存特定值的一个名 字而已。由于不存在定义某个变量必须要保存何种数据类型值的规则,变量的值及其数据类型可以在脚本的生命周期内改变。尽管从某种角度看,这可能是一个既有 趣又强大,同时又容易出问题的特性,但JavaScript变量实际的复杂程度还远不止如此。基本类型和引用类型的值ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值。基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全 保存在内存中的一个位置。而引用类型值是指那些保存堆内存中的对象,
阅读全文
摘要:this关键字引用的是包含它的函数作为某个对象的方法被调用时的那个对象。———《JavaScript.Dom高级程序设计》这句话拆开来看this包含this的函数函数被调用时以函数作为方法的对象就是说,当函数被调用时,这个函数属于某个对象的方法,这个对象就是函数内部this关键字所指向的对象。首先我...
阅读全文
摘要:面向对象(Object-oriented,OO)的语言有一个标志,那就是它们都有类的概念,而通过类可以创建任意多个具有相同属性和方法的对象。ECMAScript中没有类的概念,因此它的对象也与基于类的语言中的对象有所不同。ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。” 严格来讲,这就相当于说对象是一组没有特定顺序的值。 对象的每个属性或方法都有一个名字,而每个名字都映射到一个值。 正因为这样,我们可以把ECMAScript的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。每个对象都是基于一个引用类型创建的,这个引用类型可以是原生类型,也可以
阅读全文
摘要:参考:JavaScript高级程序设计(第2版)第四章-作用域与第七章-匿名函数在弄清闭包之前,先来简单了解一下执行环境和作用域。每个执行环境都有一个与之相关的变量对象,环境中定义的所有变量和函数都保存在这个对象中。全局执行环境是最外围的一个执行环境,在WEB浏览器中,它被认为是window对象。 ...
阅读全文
摘要:假设div1是要打印的内容iddocument.body.innerHTML=document.getElementById('div1').innerHTML;window.print();执行这段代码就可以打印了
阅读全文
摘要:文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口。DOM把整个页面映射为一个多层节点结构。HTML或XML页面中每个组成部分都是某种类型的节点,这些节点又包括着不同类型的数据。 通过DOM创建的这个表示文档的树形图,开发人员获得了控制页面内容和结构的主动权。借助DOM提供的API,开发人员可以轻松自如地删除、添加、替换或修改任何节点。IE中所有的DOM对象都是以COM对象的形式实现的。这意味着IE中的DOM对象与原生JavaScript对象的行为或活动特点并不一致。 节点层次DOM将任何HTML或XML文档描绘成一个由多层次
阅读全文
摘要:参考JavaScript高级程序设计在默认情况下,sort()方法按升序排列数组项--即最小的值位于最前面,最大的值排在最后面。为了实现排序,sort方法会调用每个数组项的toSting()转型方法,然后比较得到的字符串,以确定如何排序。即使数组中每一项都是数值,sort()方法比较的也是字符串,如...
阅读全文
摘要:事件对象 在触发DOM上的某个事件时,会产生一个事件对象event,这个对象中包含着所有与事件有关的信息。包括导致事件的元素、事件的类型,以及其他与特定事件相关的信息。例如,鼠标操作导致的事件对象中,会包含鼠标位置的信息,而键盘操作导致的事件对象中,会包含与按下的键有关的信息。所有浏览器对象都支持event对象,但支持方式不同。DOM中的事件对象兼容DOM的浏览器会将一个event对象传入到事件处理程序中。无论指定事件处理程序时使用什么方法(DOM0级或DOM2级),都会传入event对象。来看下面的例子var btn = document.getElementById("myBtn
阅读全文
摘要:DTD已声明 IEdocument.documentElement.scrollHeight 浏览器所有内容高度 ,document.body.scrollHeight 浏览器所有内容高度document.documentElement.scrollTop 浏览器滚动部分高度,document.bo...
阅读全文

浙公网安备 33010602011771号