JavaScript from C#(入门篇)
教程地址: http://www.w3schools.com/js/default.asp
我们使用Levels of JavaScript Knowledge定义的层次来检验我们的学习.
入门篇
介绍
对于我来说,JS不是什么新鲜事物了,跳过~
How to…
介绍了最基本的输出文本的方法。能理解下面这段代码就过关:
<html>
<body>
<script type="text/javascript">
<!--
document.write("Hello World!")
//-->
</script></body>
</html>
说明:
a) <!-- --> 是为了兼容那些不支持script的浏览器,照目前情况看,可以完全不用理会它。
b) document是一个系统内置对象,可以理解为Console类。
c) 在head处调用document.write会清空原来的html文件的内容!
Where to...
JavaScript代码应该放在html文件的什么位置?一共有三种选择:
1、 head标签中
在html页面被加载的时候,此处的javascript代码会被加载,但不会被运行。js是解释型语言,变量、函数等只有在前面定义之后才能被后面的代码调用。
2、 body标签中
在html被加载时,此处的js代码会立即被调用。
3、 外部文件中
为了便于模块化,可以将js代码放在一个.js文件中,然后在html页面中进行引用:
<html>
<head>
<script src="xxx.js"></script>
</head>
<body>
</body>
</html>
变量
可以这样定义一个变量:
var strname = some value
js是弱类型语言,定义变量不必规定其类型,也可以不用”var”定义而直接使用变量,如:
strname = some value
注意:在需要跨领域使用变量的时候(如定义全局变量),必须使用var定义变量。
if…else… 语句
与C#一致,跳过。
switch语句
与C#一致,再跳过。
操作符
多了一个特殊的操作符:“===”,用于比较两个对象,当对象的值和类型都一样时才返回真,例如:
x=5
y="5"
x==y returns true
x===y returns false
其他的操作符都一样.
对话框
1. 消息对话框
调用window对象的内置函数即可:alert(“test!!”);
2. 确认对话框
confirm("sometext")
单击”OK”返回true,单击”Cancel”则返回false.
3. 输入对话框
prompt("这里是对话框的标题","这里是输入框的默认值")
返回一个字符串,即用户输入的数据.
函数
function prod(a,b)
{
x=a*b
return x
}
定义函数时不必定义返回值,需要返回值的时候,只需return就行了.
for循环
跳过.
while循环和do…while循环
跳
break和continue
跳.
for…in… 循环
类似C#中的foreach循环, 但稍微有一点差别, 例:
var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"
for (x in mycars)
{
document.write(mycars[x] + "<br />")
}
此处x的值为数组的索引值, 一个int型实例, 而不是像C#中的string.
事件
事件太多,提供一个参考: JavaScript Event Reference
有一点很迷惑: 像onsubmit, 这个事件处理函数是有返回值的, 返回true则提交数据, 反之, 则不取消提交. 但是, 在上面那个参考里面却没有提到这方面的细节.
try…catch…
跳
throw
与C#不同的是, throw抛出的不是Exception对象, 而可以是任何对象.同样, 在catch的时候得到的对象也不是Exception对象.
onerror
跳.老式解决方案,不值得花时间看.
特殊字符
跳.留做参考
其他
跳.
学习至此,js已经完全入门了,学习了js的基本语法与编程逻辑, 层次也达到了level 4.