如果把一个string和一个number相比较,javascript会自动试着将string转换为number,所以 "1.010" == 1.01 表达式返回true。
空和空格会被转换为数字0,所以不管是"" == 0,还是" " == 0 都会返回true。
这也与使用的比较操作符 == 有关。更严格的比较使用 ===,参看javascript reference
如果把一个string和一个number相比较,javascript会自动试着将string转换为number,所以 "1.010" == 1.01 表达式返回true。
空和空格会被转换为数字0,所以不管是"" == 0,还是" " == 0 都会返回true。
这也与使用的比较操作符 == 有关。更严格的比较使用 ===,参看javascript reference
Wordpress的开发者从2.2版本开始使用jquery作为其核心的Javascript库了,因为他们认为jquery is lighter and faster。看来jquery的发展越来越被人看好。在扩展digilib时我也使用了jquery,觉得它非常方便,清晰。一个名为visual jqeury的文档对这个库的各个函数作了很明了的分类,有时要比阅读API更方便。
jquery中很多函数操作的对象都为jqury对象的集合,而jquery自身的一个名为implicit iteration的特性能自动遍历处理集合中的每一个对象,省掉了很多for循环语句。
另外jquery的selector非常丰富,支持CSS和Xpath的表达式。此外jquery还有一个名为chaining的特性,能避免创建过多的临时变量。
This means that the result of most operations on an object is the object itself, ready for the next action to be applied to it.
Firefox的插件Firebug对于开发调试网页实在太有帮助了。用F12就可以激活Firebug,默认在网页下端显示。我常用control + F12在新窗口中打开Firebug,这样在左边的主显示器上显示网页,在右边的副显示器上显示Firebug的窗口。这样在使用inspect功能时可以很方便的看到对应元素的代码。查看更多Firebug的快捷键。
在使用console功能时,如果选中了larger command line,Firebug为输入javascript提供的类似vim中设置选项一样的自动补全功能不可用。当在javascript的console提示符>>>后复制一段javascript代码时,larger command line会自动被激活。
在Firebug功能选择的上面一行选中一个元素,右键可以激活Log Events选项。这样可以在console查看事件输出。
有了Firebug不用去W3C查看CSS中的box model了。选中html,选定元素,再选中右边的Layout tab,就可以看到元素的box布局了。
当Firefox加载的网页包含多个frames时,Firebug默认的context是top-level的页面,如何切换context到其中的一个frame呢?
答案:
cd(window)
By default, command line expressions are relative to the top-level window of the page. cd() allows you to use the window of a frame in the page instead.
在command line下的常用函数:
$(id)
Returns a single element with the given id.
$$(selector)
Returns an array of elements that match the given CSS selector.
$x(xpath)
Returns an array of elements that match the given XPath expression.
用于输出日志的函数:
console.debug("message" [,objects]) - Logs a debug message.
console.info("message" [,objects]) - Logs an informative message.
console.warn("message" [,objects]) - Logs a warning.
console.error("message" [,objects]) - Logs an error.
这几天系统的学习了一下Javascript。以前对Javascript面向对象的特点没什么体会,经过这两天的学习慢慢有了些认识,对于文献中经常提到的Prototype概念也多少有了些理解。这个概念对理解Javascript中的继承还是很重要的。
下面是来自Core JavaScript 1.5 Guide的一个简单例子,可以看看如何继承在Javascript重视如何实现的。
Employee
| |
| |
| |
Manager WorkBee
| |
| |
SalesPerson Engineer
function Employee () {
this.name = ""
this.dept = "general"
}
function Manager () {
this.reports = [];
}
Manager.prototype = new Employee;
function WorkerBee () {
this.projects = [];
}
WorkerBee.prototype = new Employee;
function SalesPerson () {
this.dept = "sales"
this.quota = 100;
}
SalesPerson.prototype = new WorkerBee;
function Engineer () {
this.dept = "engineering"
this.machine = ""
}
Engineer.prototype = new WorkerBee;
今天在网上发现一个用javascript写的开源项目dp.SyntaxHighlighter,用于高亮显示网页上的程序片断。该脚本能在IE 6.0和Firefox 1.0和Safari上正常运行,但不支持Opera。
原作: Er@ser@CCF
// Function Name: trim
// Function Description: 去除字符串的首尾的空格
// Creation Date: 2004-7-13 15:30
// Last Modify By: N/A
// Last Modify Date: N/A
String.prototype.trim=function(){
return this.replace(/(^s*)|(s*$)/g, "");
}
本技巧教你如何让你的读者能够从当前页面跳回到他们以前浏览过的页面。
是否很想有一个神奇的按钮,能将它放在你的 HTML 文档的任何地方,使你的读者能够从当前页回跳到以前浏览过的页面呢?或许,你不象我这么懒惰,但是我想有这个念头也不奇怪吧。在浏览的页面非常长时,我就很讨厌将鼠标移到浏览器的"Back"按钮上。