站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Javascript 专题深入研究JScript语法——常量和变量

深入研究JScript语法——常量和变量

摘要: 深入研究JScript语法——常量和变量
<tr> <td> 例子:

前面的例子中:

return ""+hit+""


使用了变量和常量,""和""是文本常量,hit是变量。

加号(+)则将三者加成一个文本:"100",如果hit为100的话。

 

数值常量

这个很简单,上过数学课的都应该知道如何表示数字,JScript中没有任何特别。

123
0
-100
100.123
1E3 (1000)

都是合法的数字常量

文本常量

这个用的最多,因为经常要动态的生成HTML文本。常量必须用引号括起来:

"abc"

"123"

"文本常量"

都是合法的文本常量,为什么要用引号?完全没有编程经验的人可能会有些疑惑,其实很简单,
计算机需要把常量和变量区别开。

变量赋值

a = "abc"

变量a的值为"abc"了。为什么比较时要用==,为了和赋值区别开呀!

b = a + "123"

变量b的值为"abc123"了。如果常量不加引号如何和变量区别呢?

b = "a" + "123"

变量b的值为"a123"

 

那么如果文本中包含引号如何?比如如何表示:

<input type=button value="A A">

因为按钮的名称里有空格,那么必须用双引号括起来,如何表示这个文本常量?

JScript还可以使用单引号:

'<input type=button value="A A">'

在单引号中就可以直接使用双引号了。反过来在双引号括起来的常量里可以直接使用单引号。

"<input type=button value='A A'>"

那么当常量里两个引号都有该怎么办?这就需要使用转义符号反斜杠\

"abc'def\"ghi"

在常量中可以用“\"”来表示一个双引号。而且还有:

\r\n 表示回车
\\ 表示一个反斜杠

 

 

function myname(name){

if (name=="小青"){
document.write("<input type=button value='隐藏小青' onclick=\"mytext.style.display='none'\">")
}
else
document.write(name)

}

上面的函数,当输入name为“小青”时,输出:

<input type=button value='隐藏' onclick="mytext.style.display='none'">

 

变量定义

JScript中可以不预先定义变量就直接使用,但是这样往往会带来潜在问题,
所以建议大家使用变量前都先定义好。

变量有两种类型,定义在函数内部的为局部变量。

<script>
function myfunc(){

//变量定义使用var,下面定义了变量a
var a

//可以一次定义多个变量,用逗号分开
var i,j,k

//定义的时候还可以给变量赋初值
var a="acb"

var a=123,b="ddd"

}
</script>

局部变量只在函数内有效,离开函数该变量就不存在了。

如果定义在函数外则为全局变量:

<script>
//定义一个全局变量a
var a
</script>

该变量在所有函数内外都将有效,除非函数内定义了一个相同名称的变量

<script>
//定义全局变量a
var a=100

function myfunc(){

var a="abc"

//函数输出的是abc,函数内的变量屏蔽了同名全局变量
document.write(a)

}
</script>

如果不使用var来定义,那么变量是全局变量。因此如果你不明确定义变量在使用,
就可能误用了全局变量,比如:

<script>
//定义全局变量a
var a="dddd"

...

function myfunc(){
//函数内只想使用一个临时的变量保存返回结果
a=b+...

...

return a

}
</script>

那么一旦执行过myfunc,则原先的全局变量的值就被破坏了,这就可能引起其实使用
该全局变量的程序出错!因此强烈建议大家都明确定义变量,而且尽量少使用全局变量。</td> </tr> </table>
↑返回目录
前一篇: JS实现跳转代码:多域名指向同一空间
后一篇: 如何使用ajax开发web应用程序