- 论坛徽章:
- 0
|
【转】翩rise
JavaScript 基本语法
JavaScript 数据类型
____________________________________________________________________________________________
JavaScript自身有基本数据类型、表达式和算术运算符以及程序的基本框架结构。JavaScript很大程度上借用了Java的语法。
JavaScript中有四种基本的数据类型;
* 数字型 整数和实数
* 字符串型 用“”号或‘’括起来的字符或数值
* 逻辑性 True 或 False
* 空值 表示什么也没有
在JavaScript的基本类型中的数据类型可以是常量,也可以是变量。JavaScript采用的是弱类型的形式。因而一个数据是常量还是变量不必首先作声明,而是在使用或赋值时确定其数据的类型。当然也可以先声明,没人管你,哈哈~~~~~~
常量
在程序运行过程中,其值不能被改变的量称为常量。常量可以根据不同类型分为整型常量、实型常量、字符型常量等。
1.整形常量和实型常量。整形常量由由整数表示,如132、-123,也可以使用十六进制八进制表示其值。实型常量是由整数部分加小数部分表示,如132.45、-13.45。
2.字符型常量。使用双引号(“”)或单引号(‘’)括起来的一个字符或字符串,如“JavaScript”、'123'.
3.逻辑常量。逻辑常量只有True(真)或False(假)两种值。它往往用做程序的判断条件。(就是如果是真就咋咋咋,如果是假就咋咋咋)
4.空值。JavaScript还提供一个空值;null,表示什么也没有。
5。特殊字符。JavaScript提供一些同样以反斜杠"\"开头的不可现实的特殊字符。通常称为控制字符。例如:‘\n’表示换行,‘\b’表示退格,‘\r’表示回车,‘\f’表示换页等。与c语言很相似。
变量
定义:在程序运行过程中,其值可以改变的量称为变量。一个变量由变量名和变量值构成。
对于变量必须明确变量的命名、变量的声明、变量的类型以及变量的作用域。
1。变量的命名:必须以字母(a-z获A-Z)开头,其后可以跟数字和下划线等,当不能有空格、"+"、"-"、","、"?"等运算符或标点符号作为变量名。
另外,不能使用关键字(所有的语言都应如此 )
命名变量时,应尽量使变量名有意义,从而增加程序可读性,减少错误发生。
2。变量的声明:一般在使用一个变量前,应该事先对变量进行声明。在JavaScript中,变量可以用命令Var作声明,例如:<script>var number1</script>
在声明变量时可以同时给该变量赋初值,例如:<script>var number1=100</script>
另外,在同一行中可以声明多个变量,变量之间用逗号隔开。例如:
<script>var number1,number2,number3</script>
在JavaScript中,变量也可以不做声明,而在使用时再根据数据的类型来确其变量的类型。
3。变量的类型
JavaScript是弱类型语言,变量的类型不像其它语言那样规定的比较死,对于同一个变量可以赋不同类型的变量值。
例如:<script>
var number1 = 100
number1="number1 as string"
</script>
所以一般不用关心变量时什么类型的
4。变量的作用域
作用域是指变量在什么范围内才有效。在JavaScript中同样有全局变量和局部变量。全局变量是定义在所有函数体之外,其作用范围是整个函数;而局部变量是在函数体内定义的,只在该函数范围内有效,而对其它函数则是无效。
-------------------------- 小结下下------------------------------------
1。什么是弱类型:一种类型可以被忽略的语言,与强类型定义相反。VBScript是弱类型定义的。在VBScript中,可以将字符串 '12' 和整数 3 进行连接得到字符串 '123',然后可以把它看成整数 123,而不需要显示转换。(百度的 ~)
JavaScript 运算符和表达式 ____________________________________________________________________________________________
JavaScript中运算符有很多,例如有算术运算符,如+、-、*、/等;有比较运算符如!=、==等;有逻辑运算符如!、||等。这些运算符的用法与c语言很相似。
算术运算符和表达式↓
------------------------------------------↓
通常可以用一组常量、变量、运算符构成一个表达式,通过表达式可以返回一个单一的结果值,这个值可以是数值、字符串、逻辑值等。例如表达式:5+6,其返回值为11。
【1基本算术运算符】(就是加减乘除呗 )
* +:加法运算符 如3+5
* -:减法运算符 如9-2
* *:乘法运算符 如5*7
* /:除法运算符 如8/4
* %:求模运算符 如5%2
【2递增&递减运算符】(就是一个一个往上加,或一个一个往下减 )
* ++:递增运算符 递增运算符的作用是把操作数的值加1后传回,有两种使用格式,具体如下:
var++ 和 ++var
如果使用var++格式,则操作数的值将被加1传回,而该表达式的返回值不变。例如y=x++
如果x的初值为5,则执行后的结果是x为6,而y为5。
如果使用++var格式,则操作数的值将被加1传回,而该表达式的返回值也将加1。
例如y=++x
如果x的初值为5,则执行后的结果是x为6,而y为6
(红色的这些字很重要 )
* - -:递减运算符 递减运算符的作用是把操作数的值减1后传回,有两种使用格式,具体如下:
如果使用var- -格式,则操作数的值将被减1传回,而该表达式的返回值不变。例如y=x- -
如果x的初值为5,则执行后的结果是x为4,而y为5。
如果使用- -var格式,则操作数的值将被减1传回,而该表达式的返回值也将减1。
例如y=- -x
如果x的初值为5,则执行后的结果是x为4,而y为4
(与递加运算符同理,红色的这些字同样很重要 )
【3比较运算符】(比较 )
* > :大于,当真大于时返回true,否则返回false(原话:左边操作数大于右边操作数返回true,否则返回false.罗嗦!)< :小于,当真小于时返回true,否则返回false
* <=:小于等于,当真小于等于时返回ture,否则返回false
* >=:大于等于,当真大于等于时返回ture,否则返回false
* ==:等于,左右相等时返回true,否则返回false
* ! =:不等于,当左右不相等时返回true,否则返回false
例如:表达式4<5返回true,(即4真小于5,当然是true<真> )4>5返回false。
【4逻辑运算符】(哇塞,逻辑了 )
逻辑运算符采用逻辑值(true或false)作为操作数,其返回值也是逻辑值。
* && :“与” 当其左右两边操作数都为true是返回值为true,否则返回false;
* || :“或” 当其左右两边操作数都为false时返回false,否则返回true(有一个对就true)
* ! :“非” 当操作数为true时返回值为false,否则返回true(取反,就像你说你是人,给你加个!你就是非人一样 )
* ?: :三目操作符 操作数?结果1: 结果2;
若操作数的结果为真则表达式的结果为结果1 否则为结果2
【5.按位操作运算符】
按位操作运算符包括按位逻辑运算符和按位移动运算符。
* 按位逻辑运算符:&(按位“与”)、|(按位或)、^(按位异或);
* 按位移动运算符:<<(左移)、>>(右移)、>>>(右移,零填充)。
【6赋值运算符】
赋值运算符的作用是将一个值赋给一个变量。最常用的赋值运算符是“=”,并由“=”赋值运算符和其它运算符复合产生一些新的赋值运算符,如+=、*=等
* + =:将变量与所赋的值相加后再赋给该变量 例如:a+=5 等价于 a=a+5
* - =:将变量与所赋的值相减后再赋给该变量 例如:a -= 5 等价于 a=a-5
* * =:将变量与所赋的值相乘后再赋给该变量 例如:a*=5 等价于 a=a*5
* / =:将变量与所赋的值相除后再赋给该变量 例如:a/=5 等价于 a=a/5
* % =:将变量与所赋的值求模后再赋给该变量 例如:a+=5 等价于 a=a+5
另外还有一些与位运算有关的运算符
* << =:将变量各位左移若干位后在赋给该变量 例如:a<<=2 等价于a=a<<2,表示将变量啊的各位左移2位,再赋给该变量a;
* >> =:将变量各位右移若干位后再赋给该变量
* & =:将变量与所赋的值按位与后再赋给该变量
* ^ =:将变量与所赋的值按位异或后再赋给该变量
* | =:将变量与所赋的值按位或后再赋给该变量
--------------------------------------------------------百度好几下 -------------------------------------------------
三目操作符:<表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式1的值; 如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式1的值. (以前竟然没听过,囧~)JavaScript 控制结构 _______________________________________________________________________________________
在任何一种语言中,程序控制流是必须的,它能使得整个程序减小混乱,使之顺利按其一定得方式执行。JavaScript常用的程序控制流结构及语句包括:条件语句、循环语句以及其他一些语句。
条件语句:
1.if语句
if语句是使用最为普遍的条件语句,每一种变成语言都有一种或多种形式的该类语句,并在编程中总是避免不了要用到它。if语句基本格式如下:
if(条件表达式){
语句组;
}
如果条件表达式的返回结果为true,则先执行条件后面的语句组,然后再执行后面的程序;反之,程序则直接跳过条件后面的语句组,去执行后面的程序。
一个if语句使用的例子
复制内容到剪贴板
代码:
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
<!--
//declare variables
var visitorInterest
//visitorInterest="新产品"
visitorInterest="技术支持"
document.writeln("您好欢迎进入服务区")
if (visitorInterest="新产品"){
document.writeln("最新产品开始介绍")
}
if (visitorInterest="技术支持"){
document.writeln("技术支持已经开启")
document.writeln("在这之前让我为您介绍我们的最新产品")
}
document.writeln("我们的新产品很安全实用")
//-->
</script>
</body>
</html>
if套if:
在编程过程中,大括号{}的使用是非常有用的,它有助于增强程序的逻辑性和条理性,尤其在嵌套使用if语句时,如下例是一个嵌套使用if语句的例子:
复制内容到剪贴板
代码:
if (needsInfo) {
document.writeln("<br>外层if");
if(needsMoreInfo){
document.write("<br>内层if");
}
document.writeln("<br>嘎嘎");
}
if-else语句:
有时仅仅使用if语句还不够,还需要使用if-else语句,
复制内容到剪贴板
代码:
if conditional {
Statements
} else{
Statements
}
如果不想直接进入else默认块,可以用if-else if -else if-else ( 可以这么理解。“如果,不然的话,再不然的话,再再不然的话,要不就……·”)
复制内容到剪贴板
代码:
if(你是美女){
跟我搞对象不?;
}else if(你是中上等女孩){
可以做个朋友嘛?;
}else if(你是普通女孩){
你好,你叫什么名字?
}else{
滚一边去 ;
}
以上为一个原创的例子 (根据美女的样貌条件,执行不同的动作,不代表本人观点 )JavaScript 循 环 语句
___________________________________________________________________________________________
在程序中使用循环有多种用途。用途相当广啊,动态读取数据,计数等等~
(如果老和尚让小和尚写1000遍经书,小和尚用循环就可以轻松实现 )
For 循环:
格式:for(初始化表达式;条件表达式;循环增量){
执行的语句组;
}
例子:用for语句将0-99中的没每一个数字都显示在一个标准的页上,其中每显示1-个数换行
复制内容到剪贴板
代码:
<script type="text/javascript">
document.write("显示从0-99的100个数字");
document.write('<hr size="0" width="50% align="left">');
for(var i=0; i<100;i++){
//每显示10个数换行
if(i%10==0){
document.write('<br>');
}
//往标准页上写数字
document.write(i+",");
}
</script>
运行效果如下:
RTX截图未命名.jpg (29.62 KB)
2010-9-18 21:22
从本例中可以看到:初始表达式首先声明变量i并赋值为0。然后根据条件表达式判断i是否小于100,此时i=0小于100,条件表达式,条件表达式返回值为true,于是{}中的语句被执行,并计算i++的值加1,这样就完成了一次循环。接下来只要i<100循环就将继续,直至i=100条件表达式返回值为false时,循环终止。(跳出循环 )
和if一样,for语句也可以多重嵌套使用
For in 循环语句:
格式:for(初始化表达式;条件表达式;循环增量){
执行的语句组;
}
比如你有一个数组var arr = new Array('a','b','c');for(var i in arr) { alert(arr);}解释为对于数组arr中的每一个元素的下标,赋值给i,直到把数组遍历完毕。
while 循环语句:
格式:while(条件语句){
执行的语句组;
}
while语句的功能与for语句极为相似,只是它不能直接在其生命中初始化变量以及使变量增值,必须预先声明变量,并在语句块中使其增量或减量。
当条件表达式的返回值为假时,循环终止。如
复制内容到剪贴板
代码:
var i = 0 ;
var result = 0 ;
var status = true ; //以上三句为先声明,嘎嘎
while(status){
result += ++i; //在执行语句里面累加
document.write(" + " + i);
if(i == 10){
status = false;
}
do-while 循环语句:
功能和 while 语句差不多 只不过它是在执行完第一次循环之后才检测条件表达式的值 这意味着包含在大括号中的程序
段至少要被执行一次
格式:
do{xxxx;}
while(条件语句){
执行的语句组;
}
(就像你来51要看帖子,看一个贴后决定是否看下去,看这第一个贴就是do )
-------------------------------------------------------- 循环小结----------------------------------------------------
这四种,根据情况使用,感觉用的见的比较多的就是for了,当然for in 也相当不错。可以轻松遍历数组。
while和do while 感觉可以用for来代替
循环还是比较简单的。go~
Break和Continue在循环中的应用
--------------------------------------------------------------------------------------
在使用循环语句时,我们要注意在默认情况下,循环将无休止地进行,除非循环条件表达式的值为假。有时,我们可能想提前中断或跳过循环,要实现这一点,需要在循环语句中添加Break或continue就可以了。
Break语句中断所有循环,而continue语句则跳过本次循环的剩余语句,然后开始下一次循环。
好吧,整体走一遍下面的例子就知道它们的作用了,break和continue都有用到:
该程序用最基本的方法来求一个数 n 的近似平方根
复制内容到剪贴板
代码:
<script type="text/javascript">
<!--
// 变量声明
var highestNum = 0;
var n = 175;
①for(var i = 0; i < n; ++i){
②document.write(i + "<br>");
③if(n < 0){
④document.write("n 不能为负数 ");
⑤ break;
}
⑥if (i * i <= n) {
⑦highestNum = i;
⑧continue;
}
⑨document.write("<br>完成!");
⑩break;
} document.write("<br>"+ "小于或等于"+ n +"的平方根的整数"+" = " + highestNum);
// -->
</script>
由本例可以看出,程序—开始使i的值为0,并在for循环开始时显示i的值,接着,程序检测确认n为非负数,如果n为负数,就终止循环(break),程序将跳出for循环,去执行大括号后面的语句。如果n为正数,则i与自身相乘,并将结果与n比较,如果i小于或等于n,则此时i的值保存到变量highestNum中,接下来的continue语句就跳过continue语句就跳过本次for循环的剩余语句,然后循环又从头开始,当i的平方值大于n,程序就跳过continue语句达到break语句,该语句完全终止循环。标签语句 _______________________________________________________________________________________
with语句_______
作用:在存取对象属性和方法时就不用重复指定参考对象。在with语句块中,凡是JavaScript不识别的属性和方法都和该语句块指定的对象有关。with
<script type="text/javascript">
<!—
with(document){
write("您好!");
write("<br>这个文档的标题是: \"" + title + "\".");
write("<br>这个文档的 URL 是: " + URL);
write("<br>现在您不用每次都写出 document 对象的前缀了!");
}
// -->
</script>
这样,您在使用document的方法和属性时就可以去掉document前缀。
请注意程序中的title和url均是document对象的属性,一般情况下应写作document.title和document.URL。使用with语句,您只需指定一次参考对象,这同把每一行都用document.writeln()打印下来的结果一样。
switch语句_______
switch语句用于将一个值同血多其他值比较,并按比较结果选择下面该执行哪些语句。switch语句的使用格式如下:
switch(value){
case value1:
语句;
break;
case value2;
语句;
break;
。。。
default:
语句;
break;
}
它表明如果switch语句中的变量value与case语句中的哪一个值(value1、value2、...)相等,就执行那个case语句后的语句块,直到遇到break语句为止。如果没有一个case语句中的值与switch语句中的变量value值相等,则执行default语句后面的语句块。break语句用来制止进一步执行switch语句中的其他语句。如果没有break语句,不管request与哪种情况是否匹配,每一种情况后面的语句都会被执行(记得写break~)
这段代码也可以用if实现,但过多的使用if语句会降低程序的可读性,程序容易混乱。在适当的情况下使用switch语句是一种很好的途径。switch语句不仅可读性更强,还允许您为找不到匹配时指定默认的一系列语句。 |
|