JavaScript的数据类型 |
|
JavaScript的 数据类型:
数值:整数、浮点数;
逻辑值:布尔值;
字符串值:
空值:
未定义值:
JavaScript数据的表示:
整数:由正负号、数字构成,八进制、十进制、十六进制;
浮点数:由正负号、数字和小数点构成,常规记数法、科学记数法;
逻辑值:true、false
字符串值:单引号、双引号
空值:null
未定义值:根本不存在的对象、已定义但没有赋值的量;
JavaScript常量:
布尔常量:true false
整数常量:3721 0007 0xaff(0Xaff)
浮点数常量:3.14 .001 3.721e+3 -3.721E-3
字符串常量:"你的E-mail地址有误!"
含转义字符的字符串常量:
转义字符
意义
\b
退格(Backspace)
\f
换页(Form feed)
\n
换行(New line)
\r
返回(Carriage return)
\t
制表符(Tab)
\'
单引号(')
\"
双引号(")
\\
反斜线(\) document.write("我爱\'JavaScript\'")
document.write("文件在c:\\windows\\下")
document.write("<pre>未满十八岁\n不得进入!</pre>")
document.write("未满十八岁<br>不得进入!")
document.alert("密码不对\n请重新输入!")
数组常量:
hobby=["听音乐","看电影"] hobby[0]、hobby[1]
hobby=["听音乐",,"看电影",] hobby[0]、hobby[1]、hobby[2]、hobby[3]
JavaScript变量:
变量命名规则:
首字符必须是大写或小写的字母或下划线(_)或美元符($);
后续的字符可以是字母、数字、下划线或美元符;
变量名称不能是保留字;
长度是任意;
区分大小写;
约定:集中置顶; 使用局部变量; 易于理解; stdId 避免混乱。 usrname usrName
声明变量:
var stdId;
var name,sex;
var total=3721;
var notNull=true;
var name="李小龙",sex="先生";
var i=j=0;
变量赋值:
stdId = 2004007;
变量作用域:(方式、位置)
全局变量:省略var,或在函数外声明
局部变量:在函数内声明
全局变量可在整个脚本中被使用,可在不同的窗口中相互引用(指定窗口名)
例: <Script> var langJS = "JavaScript"; //langJS是全局变量 test();
function test() { var langVBS = "VBScript"; //langVBS是局部变量 document.write("<LI>" + langJS); document.write("<LI>" + langVBS); }
document.write("<LI>" + langJS); document.write("<LI>" + langVBS); </Script>
JavaScript表达式:
算术表达式;
字符串表达式;
关系(比较)表达式;
逻辑表达式。
JavaScript运算符:
根据处理对象的数目:
单元运算符;
二元运算符;
三元运算符。
根据功能:
赋值运算符;
= += -= *= /= %=(取余)
算术运算符;
+ - * / %(取余) ++(递增) --(递减) -
例1: <Script> var x = 11; var y = 5;
with (document) { write("x = 11, y = 5"); write("<LI>x + y 是 ", x + y); write("<LI>x - y 是 ", x - y); write("<LI>x * y 是 ", x * y); write("<LI>x / y 是 ", x / y); write("<LI>x % y 是 ", x % y); write("<LI>++ x 是 ", ++ x); write("<LI>-- y 是 ", -- y); } </Script>
例2: <Script> var x = y = 3;
with (document) { write("x = 3, y = 3 <br>"); write("若x = y++ 运算之后:"); x = y++;//y→x,y+1→y write("x 是 ", x, "; y 是 ", y, "<br>"); write("再作x = ++y 运算:"); x = ++y;//y+1→x,y+1→y write("x 是 ", x, "; y 是 ", y); } </Script>
字符串运算符;
+ +=
比较运算符;
== != ===(值及类型) !==(值及类型) < <= > >=
例: <Script> var x = 5; //x 是数值5 var y = '5'; //y 是字符串5 var z = 6; //x 是数值6
with (document) { write("x = 5, y = '5', z = 6"); write("<LI>x == y 吗?", x == y); write("<LI>x === y 吗?", x === y); write("<LI>x != y 吗?", x != y); write("<LI>x !== y 吗?", x !== y); write("<LI>x <= z 吗?", x <= z); write("<LI>y <= z 吗?", y <= z); //类型自动转换 } </Script>
逻辑运算符;
&& || !
例1: <Script> var t = true; var f = false;
with(document) { write("<OL><LI>true && true 的结果是 ", t && t); write("<LI>true && false 的结果是 ", t && f); write("<LI>false && true 的结果是 ", f && t); write("<LI>false && false 的结果是 ", f && f); write("<LI>true && (1==1) 的结果是 ", t && (1==1)); write("<LI>false && 'A' 的结果是 ", f && 'A'); write("<LI>'A' && false 的结果是 ", 'A' && f); write("<LI>true && 'A' 的结果是 ", t && 'A'); write("<LI>'A' && true 的结果是 ", 'A' && t); write("<LI>'A' && 'B' 的结果是 ", 'A' && 'B'); //&&:有一个不是逻辑值,只要第一个操作数的值为flase,则返回第一个操作数的值flase,否则,返回第二个操作数的值 } </Script>
例2: <Script> var t = true; var f = false;
with(document) { write("<OL><LI>true || true 的结果是 ", t || t); write("<LI>true || false 的结果是 ", t || f); write("<LI>false || true 的结果是 ", f || t); write("<LI>false || false 的结果是 ", f || f); write("<LI>true || (1==1) 的结果是 ", t || (1==1)); write("<LI>false || 'A' 的结果是 ", f || 'A'); write("<LI>'A' || false 的结果是 ", 'A' || f); write("<LI>true || 'A' 的结果是 ", t || 'A'); write("<LI>'A' || true 的结果是 ", 'A' || t); write("<LI>'A' || 'B' 的结果是 ", 'A' || 'B'); //||:有一个不是逻辑值,只要第一个操作数为的值true、字符或非零的数字,则返回第一个操作数的值,否则,返回第二个操作数的值 } </Script>
例3: <Script> with(document) { write("<LI>!true 的结果是 ", !true); write("<LI>!false 的结果是 ", !false); write("<LI>!'A' 的结果是 ", !'A'); write("<LI>!0 的结果是 ", !0);} </Script>
逐位运算符;
特殊运算符。
1、new运算符:创建对象(实例)
格式:对象名称=new 对象类型(参数)
2、this运算符:表示当前对象
格式:this[.属性]
例: <Script> function validate(obj) { alert("你输入的值是:"+ obj.value); } </Script> 请输入任意字符:<BR> <INPUT TYPE="text" onKeyup="validate(this)">
3、条件运算符:三元运算符
格式:<条件表达式> ? 第一个值:第二个值
例: NS = (document.layers) ? 1 : 0; IE = (document.all) ? 1: 0;
window.screen.width>800 ? imgheight=100:imgheight=100 window.screen.width>800 ? imgleft=15:imgleft=122
<Script> function showSex() { onOroff = document.forms[0].sex[0].checked status = (onOroff)? "帅哥" : "美女" alert("Hello! " + status) } </Script>
请输入你的性别: <FORM onClick=showSex()> <INPUT TYPE=radio NAME=sex>男生 <INPUT TYPE=radio NAME=sex>女生 </FORM>
运算符执行的优先顺序:
类型
运算符
括号
()
一元
! ~ - ++ -- typeof void delete
算术
* / + -
位位移
<< >> >>>
比较
< <= > >= == !=
位逻辑
& ^(xor) |
逻辑
&& ||
三元条件
?
赋值
= += -= *= /= %= <<= >>= >>>= &= ^= |=
JavaScript语句:
注释语句:
单行注释://注释文字
多行注释:/* 注释文字 */
例: /*************************************** * 源 码 之 家 * * http://www.mycodes.net * * 下载:http://www.mycodes.net * * 论坛http://www.mycodes.net/bbs * *****************************************/
with语句: (对象操作语句)
功能:为一段程序建立默认对象。
格式: with (<对象>){ <语句组> }
例1: with (document) { write ("限时抢购物品:"); write ("<Li>ViewSonic 17\" 显示器。"); write ("<Li>EPSON 打印机。"); }
例2: document.write ("限时抢购物品:"); document.write ("<Li>ViewSonic 17\" 显示器。"); document.write ("<Li>EPSON 打印机。");
if...else语句:
格式1:
if (<表达式>) <语句1>; else <语句2>;
if (<表达式>) <语句1>; else <语句2>;
例: <Script> var now = new Date(); var hour = now.getHours();
if (6 < hour && hour < 18) document.write ("辛勤工作才能快乐收割!"); else document.write ("休息一下,充电后再出发。"); </Script>
格式2:
if (<表达式>){ <语句组1> }else{ <语句组2> }

格式3:
if (<表达式1>){ <语句组1> }else if (<表达式2>){ <语句组2> }else{ <语句组3> }

例1: <Script> var now = new Date(); var day = now.getDay(); var dayName;
if (day == 0) dayName = "星期日"; else if (day == 1) dayName = "星期一"; else if (day == 2) dayName = "星期二"; else if (day == 3) dayName = "星期三"; else if (day == 4) dayName = "星期四"; else if (day == 5) dayName = "星期五"; else dayName = "星期六";
document.write ("今天是快乐的", dayName); </Script>
例2: <Script> var now = new Date(); var day = now.getDay(); var dayName;
if (day = 0) dayName = "星期日"; else if (day = 1) dayName = "星期一"; else if (day = 2) dayName = "星期二"; else if (day = 3) dayName = "星期三"; else if (day = 4) dayName = "星期四"; else if (day = 5) dayName = "星期五"; else dayName = "星期六";
document.write ("今天是快乐的", dayName); </Script>
while语句:
格式1:
while (<表达式>) 语句;
格式2:
while (<表达式>){ <语句组> }

例: <Script> var i = 5;
while ( i > 0 ) { document.write("i = " ,i ,"<BR>"); i--; }
</Script>
do...while语句:
格式:
do { <语句组> } while (<表达式>)
例: <Script> var i = 5;
do { document.write("i = " ,i ,"<BR>"); i--; } while ( i > 0 )
</Script>
for语句:
格式:
for (<初始表达式>;<条件表达式>;<变动量表达式>){ <语句组> }
例: <Script> for ( var i = 5; i > 0; i-- ) { document.write("i = " ,i ,"<BR>"); }
</Script>
for...in语句:重复执行指定对象的所有属性
格式:
for ( 变量 in 对象 ){ <语句组> }
例: <Script> function member(name, sex) {//构造函数member this.name = name; this.sex = sex; }
function showProperty(obj, objString) { var str = ""; for (var i in obj) str += objString + "." + i + " = " + obj[i] + "<BR>"; return str; }
papa = new member("杨宏文", "男生");//建立对象实例papa document.write(showProperty(papa, "papa"))
</Script>
break语句:
格式:break
例: <Script> var i = 5; while ( i > 0 ) { if ( i == 3 ) break; document.write("i = " ,i ,"<BR>"); i--; }
</Script>
continue语句:
格式:continue
例: <Script> var i = 5; while ( i > 0 ) { i--; if ( i == 3 ) continue; document.write("i = " ,i ,"<BR>"); }
</Script>
switch语句:
格式:
switch (<表达式>) { case <数值1>:<语句组1> break; case <数值2>:<语句组2> break; ... default <语句组> }

例: <Script> function greet(givenSex) { switch(givenSex) { case "帅哥" : alert("你好啊!"); break; case "美女" : alert("你好啊!"); break; } } </Script>
请输入性别: <FORM> <INPUT TYPE="radio" NAME="sex" onClick="greet('帅哥')"> 帅哥 <INPUT TYPE="radio" NAME="sex" onClick="greet('美女')"> 美女 </FORM>
| |
|