变量
<!--
JS变量的特点:
1、区分大小写
2、在被初始化之前的值都为 undefine
局部变量和全局变量的特点
1、在任何函数定义之外声明一个变量为全局变量
2、在函数内部定义的变量为局部变量-->
3、如果一个变量不用var来声明,则其被视为全局变量
4、局部变量名称可以和某个全局变量相同,但两者互不影响
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<script language="javascript">
var a; //定义一个变量
var b,c; //同时定义两个变量
var d=2,e=5; //定义两个变量,并赋初始值
document.writeln("a:"+e);
</script>
<script language="javascript">
var scope="global"; //声明一个全局变量
function checkscope(){ //定义一个cehckscope函数
scope="local"; //改变了全局变量
document.writeln(scope); //使用全局变量
myscope="local"; //隐式声明了新的全局变量(没有用var来声明)
document.writeln(myscope); //使用全局变量
}
checkscope(); //执行checkscope函数
document.writeln(scope); //打印出local
document.writeln(myscope); //打印出local
function test(val){
var i=0; //定义局部变量
if(val=true){
for(var k=0; k<10; k++){ //定义局部变量
document.write(k+'');
}
document.writeln();
document.writeln(k);
}
}
test(true);
</script>
</body>
</html>
类型转换
<script language="javascript">
var str = '100'; //声明一个字符串变量
var num = Number(str); //强制转换为数字类型
var obj = Object(str); //强制转换为对象类型
var bool = Boolean(str); //强制转换为布尔类型
var num = 100; //声明数字变量
var str = String(num); //强制转换为字符串类型
</script>
传递变量-to js
<html>
<head>
<script language="javascript">
//声明一个全局变量
var foobar;
//赋值方法
function pass2var(){
//用getElementById方式获取text1元素的值,并赋值给foobar变量
foobar = document.getElementById('text1').value;
alert("Pass value is "+foobar);
}
//显示方法
function displayvar(){
alert("Display value is "+foobar);
}
</script>
</head>
<body>
<form>
<input type="text" name="text1" id="text1">
<input type="button" name="btn1" id="btn1" value="PassVar"
onClick="javascript: void pass2var();">
<input type="button" name="btn2" id="btn2" value="DisplayVar"
onClick="javascript: void displayvar();">
</form>
</body>
</html>
传递变量-to html
<html>
<head>
<script language="javascript">
//声明一个全局变量
var foobar = 'JS value to Html Element';
//赋值方法
function pass2var(){
//用getElementById方式获取text1元素的值,并赋值给foobar变量
document.getElementById('text1').value = foobar;
alert("Pass value is "+foobar);
}
//显示方法
function displayvar(){
alert("Display value is "+foobar);
}
</script>
</head>
<body>
<form>
<input type="text" name="text1" id="text1">
<input type="button" name="btn1" id="btn1" value="PassVar"
onClick="javascript: void pass2var();">
<input type="button" name="btn2" id="btn2" value="DisplayVar"
onClick="javascript: void displayvar();">
</form>
</body>
</html>
流程控制
//if 分支
var a=10;
var b=11;
if (a>b)
{
alert('a>b');
}
else if(a<b)
{
alert('a<b');
}else
{
alert('a=b');
};
//swith 分支
var a=4;
switch(a){
case 0:
alert("a");
break;
case 1:
alert("b")
break;
case 2:
alert("c");
break;
default:
alert("x");
}
//for 循环
for(var i=0; i<10; i++){
document.writeln(i);
}
//while 循环
var i=0;
while(i<=10){
document.writeln(i);
i++;
}
//do while 循环
var i=0;
do{
document.writeln(i);
i++;
}while(i<10)
字符串操作
//字符串连接
var str1='abc';
var str2='def';
var str3 = str1+str2;
document.writeln(str3);
var str4 = str1.concat(str2);
document.writeln(str4);
var Array1 = new Array('a1','b1','c1','d1','e1');
var str5 = Array1.join(',');
document.writeln(str5);
//字符串出现的位置
var str1='abcdefdabc';
var str2='b';
//子字符串第一次出现的位置
if(str1.indexOf(str2)>-1){
document.writeln('位置:'+str1.indexOf(str2));
}
//子字符串最后一次出现的位置
if(str1.lastIndexOf(str2)){
document.writeln('位置:'+str1.lastIndexOf(str2));
}
//字符串的截取
var str1='abcdefghi';
//从指定位置开始取3个字符
var str2 = str1.substr(1, 3);
document.writeln(str2);
//从指定位置开始取3减2个字符
var str3 = str1.substring(2, 3);
document.writeln(str3);
//字符串替换
var str1, re, str2;
str1 = "the man and the pend";
re = "the";
//将第一个"the"替换为"this"
str2 = str1.replace(re, "this");
document.writeln(str2);
re =/the/g;
//将所有"the"替换为"this"
str2 = str1.replace(re, "this");
document.writeln(str2);