C和Python程序员的JavaScript学习指南(译)
write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie
讨论新闻组及文件
原文来自:《JavaScript for C & Python programmers
》,经过作者Canis允许后翻译,即使转载请附带此链接。
前言:很少干翻译的事情,累,辛苦,不能发挥,典型的费力不讨好,最近无聊,想在网页上显示动画(因为CSDN贴图不是不让贴了嘛),Java
applet虽然已经搞定了,但是总感觉这不是Java的世界,所以想大概学习一下JavaScript后再做决定,(-_-!从命名上看其实像是换成了
Java的脚本-_-!)网上类似JAVA for C++
programmers的文章很多,但是js类似的文章却很少,一方面可能的确java更加流行,另一方面可能一般的C/C++程序员与js的领域差的太
远,没有此需求,本文也不是为C++程序员写的,是为c和python程序员写的。
翻译完后,就个人感觉,本文甚至不能算是一个较好的指南,大概可以看做一个C,Python程序员学习
JavaScript时的抱怨,全文有太多作者的抱怨,针对JavaScript不寻常的语法提出了很多看法,用本文来全面的了解Javascript是
不太可能的,但是了解一下作为一个C,Python程序员,学习JavaScript应该注意哪些奇特的地方,也不是没有好处。
(以下我的注释都添加**开头,没有添加的为作者原注释)
以下是译文:
C和Python程序员的JavaScript学习指南
作者:Canis
第一次发表: 2006年三月
更新: 2008年七月 (添加了到 JSLint的链接)
最后一次更新: 2009四月 (更好的删除Array items的方式)
本文是对JavaScript的简单介绍。网上有很多类似的资料,但是大部分都是针对非程序员读者的,教导一些javascript的简单代码。那样也没有什么,因为很多从来不编程的人发现他们的网页需要一些js脚本的时候会需要这些。
这篇文章提供了一些有关JavaScript的更深层次的信息。我假设你完全不懂javascript但是也假设你已经是一个称职的程序员,是"C-like"语言的程序员更好,并且懂一点python将很有帮助(**说的不就是我吗?-_-!)
我将谈到任何我认为javascript不好的地方。(**原文用到object model 指的的是对象模型吗?作者是想说面向对象吗?我都没有在文章中看到)
JS不是JAVA
首先,一个常见的误解需要澄清,javascript从来与JAVA没有任何关系。JS以前甚至不叫
相关文档:
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离
scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离
scrollWidth:获取对象的滚动宽度
offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度
offsetL ......
c:forEach vaStatus 属性
用c:forEach 中vaStatus的属性可以获得迭代的自身状态,如:
<c:forEach var="" items="" varStatus="status">
<c:out value="${status.index}"/> 此次迭代的索引
<c:out value="${status.count}"/> 已经迭代的数量
<c:out value="${status.first}"/> 是否是第一 ......
在上面的示例中,我们定义了两个语法甘露,一个是Class()函数,一个是New()函数。使用Class()甘露,我们已经可以用非常优雅的格式定义一个类。例如前例中的:
var
Employee
=
Class(Person,
//
派生至Person类
{
......
function getOs(){
var OsObject = "";
if(navigator.userAgent.indexOf("MSIE")>0) {
return "MSIE";
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
&n ......
最近又写了一个小玩意。 这个东西其实就是将一个数的单位进行转换(百-->万;万-->亿;千-->十等)
转换的思路就是乘除10的X次方(其实用字符数组可以直接移动小数点的位置这种方式……)
格式化的思路就是将输入的数字按整数与小数两部分分开,分别处理。每凑过3位就加一个逗号(将整数或小数 ......