从今天起学习javascript(一)
先废话一下,我学习javascript的最终目的是要建立一个属于自己的win_sidebar,下面还会发当前进度的winsidebar的学习笔记,有志于此的同学我们就一起加油吧!!!!有什么错误或者差错的地方欢迎指正啊!!!
想成为自己梦想里的人,从什么时候开始都不晚。
今天就开始浪子回头吧!
JavaScript 第一部分 变量、函数、语句、运算符、事件
零、注释以及简介
(语句以分号结尾)
一、变量
1、变量声明(无需指定类型)
Var XXX;
2、变量赋值
赋值符"="
3、变量命名规则
大小写敏感,变量名必须以英文字母或下划线开头,不能与关键字或者保留字冲突
附1:Javascript关键字及保留字
4、变量类型
声明变量时无需指定类型,直接赋值成指定类型
布尔型:true false
空值型:null
数值型:
没有整形或者浮点型之分,“一个数值型变量一旦被定义并被赋值为某一类型的数值,在程序中它将保持相同类型的数值,除非通过某运算使它改变类型。”
字符串型:
--1、引号的匹配: 给字符串型变量赋值时可使用双引号或单引号,但是必须 一致。
--2、特殊字符与转义字符:附2:Javascript转义字符(\',\"等作为字符串的 一部分)和特殊字符
--3、HTML源代码可作为字符串的一部分**:
例如,
1:document.write("<B>This is MY Love </B><BR/>I am Fool");这个语句显示粗体和换行。
2:document.write("<B>This is MY Love </B>\nI am Fool");若这样,则只显示在同一行中。 只显示This is MY Love I am Fool,\n不显示。
关于write这个方法:作用是将字符串参数写入本网页中。因此字符串中的HTML源代码会按相关语法处理。如果标签中含有属性说明,则需要用到引号..这里又涉及到引号的匹配,有两个方法:1、在双引号中使用单引号 2、使用转义字符 \"
--4、字符串的相加:即字符串拼接
5、变量使用
变量有作用域
(与C基本相同)
1、全局变量--声明在所有函数以外
2、局部变量--若局部变量与全局的变量名相同,则在本函数内,局部变量屏蔽全局(在前加var)。
变量在内存中的存储
二、函数
1、用途: 同C
2、函数的声明和定义:
function functionname(parameters list){
//Code here
}
函数的命名:大小写敏感,变量名必须以英文字母或下划线开头,不能与关键字或 者保留字冲突
3、函数参数:
直接在声明时的参数表列中写上变量名。 (不写var)
4、函数返回值:语句return variablename;
5、函数的定义必须在被调用之前,可以在HTML的HEAD中定义函数,在BODY中调 用。
6、在函数中调用函数:也必须在被调用之前定义。递归调用??试一下,可以。
三、JAVASCRIPT运算符
算术、赋值、比较、逻辑、位运算
1.算术运算符:
+, -, *, /, %, ++, --,-取相反数
+ 数相加或者字符串连接,+ 中的类型转换:整型<浮点<字符串型
-减法,两数相减
/:不能出现除数为零,否则结果为Infinity;类型转换,3/4=0.75会出现小数。
%,++,--跟C一样
2.赋值运算符:
=, +=, -= ,*= , /=, %=
3.比较运算符:
= =, !=, <, > , <= ,>=
==和!=可以用于字符串的比较
"My sock"=="my sock"结果为假(有字符串的比较,字符串完全相同为真)
大于和小于等:数字小于字母,大写字母小于小写字母,(可能是将字符的ASCⅡ码比较)
4.逻辑运算符:
逻辑与&& 逻辑或|| 逻辑非!
5.位运算符:
6.优先级:
圆括号
一元运算符
乘除取模
加减
移位运算
关系比较
相等比较
按位与
按位异或
按位或
逻辑与
逻辑或
赋值运算符
四、条件语句与循环
1、if/else语句
if(.....)
{
Code here
}
else
{
Code here
}
2、switch语句 (旧版浏览器可能不支持)
switch(variablename)
{
case value1:
....;
....;
break;
case value2:
....;
break;
case value3:
....;
....;
break;
default:
....;
....;
break;
}
3、循环语句
for(variablename = initialvalue; condition; code){
code
}
while(condition)
{
code here
}
do
{
code here
}while(condition)
五、事件句柄:OK
1.概念:
事件句柄是javascript中的预定义关键字,用来处理网页上某些事件的激发,具体的,事件就是网页对浏览者的某个动作的响应。可以增加交互性。
2.事件句柄的位置及使用:
多数情况下,事件句柄用于form元素、链接标记、和脚本头段标记之中,若是较新的浏览器,事件句柄也可以在其他位置发挥作用。
要使用事件句柄,必须了解事件句柄的关键字和应该在HTML源代码的哪个位置加入事件句柄。
实例: 事件句柄onClick 用在用户点击网页某个区域时激发某些操作,点击的有效区域之一是窗口响应按钮(form button)
<FORM>form开始标记使其后面的按钮的input标记有效
<INPUT type = "button" value = "buttonvalue" onClick = "javascript code here">
</FORM>form结束标记表示完成了操作
为了使用事件句柄,这段代码作为HTML标记的一个附加属性,事件句柄属性与HTML标记属性的唯一不同就是可以在一个事件句柄属性中加入其它的JS代码,而不仅仅是是一个属性值。
注意:
1、引号原则,句柄属性的使用同HTML的属性,需要在js代码两边加双引号,中间代码有引号的须改为单引号。
2、在句柄后的双引号中可加入多句js代码,每个语句用引号隔开,但注意中间不能有换行,若有的话,会导致出现错误。
3、若语句太多,导致代码复杂难懂,可用调用函数的方法来避免这个问题。提高了易读性和可重用性。
例:
<HTML>
<HEAD>
<SCRIPT language = "javascript">
<!--
function Hit_And_Run(){
window.alert("you Hit");
window.alert("and you Run before hit again");
window.alert("that is what hit and run");
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM>
<INPUT type = "button" value = "how to hit and run"onClick = "Hit_And_Run();">放入一个按钮按钮上显示的是value属性的值
</FORM>
</BODY>
</HTML>
4、js事件有很多,但好像没有对用户上下翻转页面的响应。
3.具体的各个事件句柄:
|
事件 |
事件句柄 |
激发事件的动作 |
|
Click |
onClick |
用户点击某一区域(如按钮或表单输入域) |
|
Mouseover |
onMouseOver |
用户将光标移至链接上 |
|
Mouseout |
onMouseOut |
用户将光标从连接上移开 |
|
Load |
onLoad |
网页加载完毕 |
|
Unload |
onUnload |
用户离开当前页面 |
|
Focus |
onFocus |
用户激活某对象 |
|
Blur |
onBlur |
用户取消激活某个对象 |
|
Change |
onChange |
用户改变表单元素的内容 |
|
Submit |
onSubmit |
用户提交表单 |
|
Absort |
onAbsort |
用户停止图像的加载 (添加在图像标记之间) |
|
Dragdrop |
onDragDrop
实例 <BODY onDragDrop = "window.alert('what are you doing!');return false;"> ..................... </BODY> |
用户使用操作系统的拖放功能,并将某对象拖至窗口中 (放在起始<BODY>标记中) |
|
Error |
onError |
在网页或图像的加在过程中发生错误 (图像标记或者<BODY>起始标记中) |
|
Keydown |
onKeyDown |
用户按下键盘某键 (文本域标记或是BODY起始标记) |
|
Keypress |
onKeyPress |
用户按住某键,然后松开或是仍然保持按住的状态 (同上) |
|
Keyup |
onKeyUp |
用户松开键盘某键 (同上) |
|
Mousedown |
onMouseDown |
用户按下鼠标键 (链接(锚)标记或其他区域) |
|
Mouseup |
onMouseUp |
用户松开鼠标键 (同上) |
|
Mousemove |
onMouseMove |
用户移动鼠标 (一般用在<BODY>起始标记或其他位置) |
|
Reset |
onReset |
用户重置网页的表单 (用于<FORM>标记之间) |
|
Resize |
onResize |
用户改变窗口大小 (BODY起始标记) |
|
Select |
onSelect |
用户在表单域中进行选择(文本输入标记或文本域标记之间) |
|
move |
onMove |
用户移动浏览器窗口的位置或者通过javascript命令移动窗口位置时发生。 (一般被放在网页BODY起始标记中) |
1/onClick 点击网页某些区域时发生 区域:表单元素和链接
表单元素如按钮,见上面的例子。
链接:
<A href = "WWW.BAIDU.COM" onClick = "window.alert('you are so sick!');return false;">find what</A>语句return false;可以防止浏览器转到所在链接没有这句的话,在弹出窗口之后,浏览器会继续加载所在链接
2/onMouseOver 有多种特效_用户将光标移至一个文本链接、图像链接或是图像映射的某块区域之上
<A href="WWW.baidu.com" onMouseOver = "window.alert('NOT TO CLICK HERE!');">find what</A>用户将光标移至连接上立即弹出警告窗口
3/onMouseOut 用户将光标从一个文本链接、图像链接或是图像映射的某块区域中移开时发生。
<A href = "WWW.BAIDU.com" onMouseOut = "window.alert('What,YOU didn\'t like me?');">find what</A>用户将光标从连接上移开立即弹出警告窗口
4/onLoad 、 onUnload 分别是 网页加载完成后发生的事件 和 用户试图离开当前页面(用户可以通过 点击某个链接、在地址栏输入另一个地址或者关闭当前页面 来离开当前页)发生的事件;两事件句柄都在<BODY>的开始标记中使用;
<BODY onLoad = "window.alert('I\'m Done!')" onUnload = "window.alert
('Would you leave me?');">
<B>Sample Page</B>
</BODY>
5/ onFocus 、 onBlur 分别是 用户激活网页的一个窗口或是一个form元素发生的事件(用户的激活操作是通过点击对象的某个区域实现的) 和 用户取消一个窗口的或是一个form元素的激活状态时发生的事件 两事件可以在<BODY>的开始标记(窗口被激活或是失去焦点)内或者form元素区域内使用。
<form>
ENTER your name:
<INPUT type = "text" onFocus = "window.alert('Don\'t forget!');" onBlur = "window.alert('you sure?');">
<form>
6/onChange 用户把form元素中的内容改变(改变文本框的文字、选择框内选定某对象)时产生的事件
onSubmit用户提交网页上的表单时发生的事件 用在form开始标记中。
<HTML>
<BODY>
<H2>Will you Find yourself?</H2>
<FORM onSubmit = "window.alert('Thank you!!');">
You good today?
<SELECT onChange = "window.alert('Why change that?');">
<OPTION selected> yes</OPTION>
<OPTION>no</OPTION>
<OPTION>I don't know.</OPTION>
</SELECT>
<BR/>
<INPUT type = "submit">
</FORM>
</BODY>
</HTML>
7/其他事件:较少用到,应在具体需要时再去研究。
4、两个新的属性:(之前学的:弹出警示窗口、网页上显示文字)
1/改变状态栏
状态栏位于浏览器的底部,一般我们所看到的是“正在打开网页”、“完成”、“链接的URL地址”,下面的属性可以对状态栏中的文字进行修改,在状态栏中加入一段字符串; 注:这段代码使得默认文字被改变之后,即使鼠标移开,状态栏的文字也暂时不会改变,如果要在鼠标移开后清除内容,则需增加onMouseOut事件,将状态栏重置为空白。
window.status = "Your text here";
<A href = "www.baidu.com" onMouseOver = "window.status = '百度';return true;" onMouseOut = "window.status = '';return true;">baidu</A>window.status后的return ture语句保证了默认文字被改为新的属性值,否则将无法正常显示字符串
2/按钮链接( 跟onClick事件一起使用 )带有链接的按钮,也可用函数来完成此功能。
window.location = "http://your link";
<FORM>
<INPUT type = "button" value = "find what!" onClick = "window.location = 'http://www.baidu.com';">
</FORM>
附1:
Javascript转义字符和特殊字符
|
代码 |
输出 |
|
\' |
单引号 |
|
\" |
双引号 |
|
\& |
和号 |
|
\\ |
反斜杠\ |
|
\n |
换行符 |
|
\r |
回车符 |
|
\t |
制表符 |
|
\b |
退格符 |
|
\f |
换页符 |

浙公网安备 33010602011771号