JavaScript 面向对象编程一:类型系统

本系列均参考了大量网上相关的内容,并基于此总结并归纳,作为个人笔记,也供同样与我一样初涉JavaScript面向对象编程的同学一同学习讨论。

前言

网上有非常多的介绍JavaScript类型的内容,关于类型的分类众说纷纭,各执一词,一些矛盾的观点往往会让我们感到非常困惑。后来我仔细想了 想,与其在这种泥苦苦挣扎,还不如就近找一根救命稻草抓住。当然,这种观点可能比较激进,但是有时候确实需要做些取舍与选择。选择一种你觉得相对比较正 确,并且可以接受的答案。

类型系统

本文的类型分类依据来源于aimingoo的博客中关于JavaScript类型的几篇博客文章[1][2][3]

Javascript有两套类型系统:基础类型系统与对象类型系统。

查看全文

Chrome 的 Content Scripts 扩展开发

这篇博客以讲解Chrome的 Content Scripts 扩展开发过程为主,并在该过程中穿插与Greasemonkey用户脚本的比较。本人初次尝试Content Scripts类型的扩展,有不足之处,请不吝指出。

前言

现在使用Chrome浏览器的用户越来越多,在写用户脚本的时候有时候必须得同时考虑多个浏览器的兼容情况(当然比起前端开发要简单多了)。我一般仅考虑Firefox和Chrome两个浏览器,原因有以下几个:

  1. 相比之下,两者的用户群体比较大,因为会寻找用户脚本的朋友一般都在用这些浏览器,很少是IE的,至少是同样采用Webkit内核的搜狗、傲游等。
  2. 两者的内核中对JavaScript的实现相对比较遵循W3C规范,因此只要尽量避免使用特定于某个浏览器的功能,一般的情况脚本都可以通用。
  3. 两者的用户脚本格式比较接近,前期是Chrome兼容Firefox的Greasemonkey扩展的格式,现在两者估计很多地方都是互相借鉴的。

查看全文

浅谈 JavaScript 刷新页面

本文的所有代码在Firefox 11 beta + Scriptish 0.1.7环境作为用户脚本执行,某些行为可能会与普通的页面脚本不一致。

问题引出

在写CC98 Reply Improved脚本的时候,遇到一个场景是在帖子回复成功后,页面自动刷新,并且当引用或者编辑回复时,希望可以返回到当前被引用或者编辑的帖子楼层。在98中每个楼层都有一个锚链接(anchor), 这些锚链接的名称为数字,从0~9,其中1表示第一楼,2表示第二楼……0表示第十楼。假设当前的帖子链接为:

/dispbbs.asp?boardID=39&ID=3841624&star=20&page=1

则要跳转到第5楼,则需要在浏览器输入地址

dispbbs.asp?boardID=39&ID=3841624&star=20&page=1#5

其中#5这部分称为hash(我不大清楚中文应该叫什么)。

查看全文