作者:泣红亭 在上一篇文章《面向事件驱动的编程》中我讲了三种将事件绑定到元素的方法,而推荐使用第三种方法,即使用attachEvent/addEventListener来绑定.上一篇文章的主旨是告诉大家如何使用事件,而这一篇文章的主旨是让大家弄懂如何灵活应用事件来批处理某一类的对象行为. 首先讲一讲事件传递的概念.什么是事件传递?举个现实的例子,有个人捏了一下你的手指,你可能会说他捏了你手指,也可能会说他捏了你的手,甚至可能会说他捏了你....
世间万物,千变万化,面向对象的编程亦是对现实社会的模拟,而JavaScript是一种基于对象并且很接近面向对象编程的编程语言,而我们web设计师/程序员跟JavaScript打交道亦要直面JavaScript才能够把网页写得更加丰富多彩.在此先搞清楚一点就是:JavaScript并不仅仅用在Web上,它可以用在许多领域,当然我这里讨论的更多的是JavaScript在Web上的应用,并且主要是事件方面的应用. JavaScript并不能直接对Web对象进行操作,而是要通过浏览器提供的...
用 new Object() 来创建对象在javascript里有几种创建对象的方法,在不同的场合可用不同的方法.最简单的就是用 new 操作符,例如: 代码如下:<script language="javascript" type="text/javascript"> <!-- person = new Object() person.name = "Tim Scarfe" person.height = "6Ft" person.run = function() { this.state = "running" this.speed = "4ms^-1" } //--> </script> 我们在这个例子里定义了person这个对象,然后...
以前没有注意到这个滚轮,看到这里有一篇说这个的:http://www.javascriptsearch.com/guides/Advanced/articles/JSMouseScrolling.html我把它转过来了。如果是在实际应用中,有的时候还是蛮有用的。主要是得到滚轮是向上滚还是向下滚。注释的代码 function handle(delta) { if (delta < 0) …; else …;}/** 事件句柄 */function wheel(event){ var delta = 0; if (!event) /* For IE. */ event = window.event; if (event.wheelDe...
级别: 初级 Shantanu Bhattacharya (shantanu@justawordaway.com), 首席顾问, Siemens Information Systems Limited 2006 年 7 月 20 日 函数式或声明性编程是非常强大的编程方法,正逐渐在软件行业流行起来。这篇文章将介绍一些相关的函数式编程概念,并提供有效使用这些概念的示例。作者将解释如何使用 JavaScript(TM)(JavaScript 能导入函数式编程的构造和特性)编写优美的代码。 简介 函数式编程语言在学术领域已经存在相当长...
有一天,你在浏览自己的代码,发现有两大段代码几乎一样。实际上,它们确实是一样的——除了一个关于意大利面(Spaghetti)而另一个关于巧克力慕思(Chocolate Moose)。 // 一个小例子: alert("偶要吃意大利面!"); alert("偶要吃巧克力慕思!"); 嗯,这个例子碰巧是用javascript写的,不过你就算不懂JavaScript,应该也能明白它在干什么。 拷贝代码不好。于是,你创建了个函数 function SwedishChef( food ){ ale...
一些常用的辅助代码 点击返回上页代码: <form> <p><input TYPE="button" VALUE="返回上一步" ONCLICK="history.back(-1)"></p> </form> 弹出警告框代码: <form> <p><input TYPE="button" VALUE="弹出警告框" ONCLICK="AlertButton()"></p> </form> <script language="JavaScript"><!-- function AlertButton(){window.alert("要多多光临呀!");} // --></script> 点击打开新窗口 <form> <p><input TYPE="button" VALUE="打开新窗口...
历史状态管理是现代Web应用开发中的一个难点。在现代Web应用中,用户的每次操作不一定会打开一个全新的页面,因此“后退”和“前进”按钮也就失去了作用,导致用户很难在不同状态间切换。 要解决这个问题,首选使用 hashchange事件(第13章曾讨论过)。HTML5通过更新 history对象为管理历史状态提供了方便。 通过hashchange事件,可以知道URL的参数什么时候发生了变化,即什么时候该有所反应。而...
1、文档:DOM中的“D” "D"代表document(文档) 2、对象:DOM中的“O” “O”代表object(对象) 对象的分类 用户定义对象(user-defined object) 内建对象(native object) 宿主对象(host object) window对象window对象对应着浏览器窗口本身,这个对象的属性和方法通常统称为BOM(浏览器对象模型)BOM提供了window.open和window.blur等方法。以至于被滥用于各种弹出窗口和下拉菜单 3、模型:DOM中的“M” ...
javascript属于编程,javascript是一门脚本型语言,不需要编译直接可在浏览器运行,也可在nodejs运行时环境下运行,可以用于实现web丰富的web界面,也可以用于实现复杂的业务逻辑。本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。javascript是一门脚本型语言,不需要编译直接可在浏览器运行,也可在nodejs运行时环境下运行,可以用于实现web丰富的web界面,也可以用于实现复杂的业务逻辑。javascript介绍:JavaScri...
回复内容: 一个问题看出知乎搜索功能之弱…问题在隐藏部分:发现关注度最高的前三位分别是:C,Python,Javascript。怎么看这种现象?不是说好了“PHP是最好的语言”的么~~答:普通语言可能有点什么奇技淫巧,PHP 就是奇技淫巧。我是来搜Python的奇技淫巧的,怎么这贴变成批判知乎了?什么数据结构,算法,编译原理等用C描述的比较多,大家都有接触。另外就是这些语言用的人多吧。知乎的搜索功能就是找到一个就输出一个,找到啥...
我是指python3。似乎各个方面python都比javascript优秀。注意:我不想这个问题变成语言之争,所以没有同时使用过这两种语言的同学请轻喷。-------------------其实JS也不是那么差,只是这样的代码让人费解:var extends = this.extends || function (sub, super) {for (var p in super) if (super.hasOwnProperty(p)) sub[p] = super[p];function empty() { this.constructor = sub; }empty.prototype = super.prototype;sub.proto...
Window 对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。 全局变量是 window 对象的属性。 全局函数是 window 对象的方法。 甚至 HTML DOM 的 document 也是 window 对象的属性之一:window.document.getElementById("header"); 与此相同:document.getElementById("header"); Window 尺寸 有三种方法能够确定浏览器窗口的尺寸(浏览器的视口,不包括...
看了JavaScript DOM 编程艺术的Best Practices那章,才知道我们在制作网页的时候有很多东西需要考虑。 首先,比如我们使用JavaScript来加强我们的网页,但是我们要考虑到,如果用户的浏览器不支持JavaScript,或者用户disable了JavaScript的功能,那我们的网看了JavaScript DOM 编程艺术的Best Practices那章,才知道我们在制作网页的时候有很多东西需要考虑。首先,比如我们使用JavaScript来加强我们的网页,但是我们要考虑到,如...
2 .5 操作 算术操作符 加法是一种操作,减法,除法和乘法也是如此。这些 算术操作 (arithmetic operation)中的每一种都必须借助于相应的操作符(operator)才能完成。这些操作符你们其实已经见过了。加法操作符是加号(+),减法操作符是减号(-),除法操作符是斜 2.5 操作 算术操作符 加法是一种操作,减法,除法和乘法也是如此。这些算术操作(arithmetic operation)中的每一种都必须借助于相应的操作符(operator)才能完成。这...