7月28日--JavaScript进阶篇

来源:互联网 发布:windows搭建服务器 编辑:程序博客网 时间:2024/05/22 04:49
1.变量
定义以及命名规则和java类似
声明变量:var 变量名,变量名2……;
注意:变量也可以不声明,直接使用,但为了规范,需要先声明,后使用。​
var num1 = 123;       // 123是数值
var num2 = "一二三";    //"一二三"是字符串
var num3=true;    //布尔值true(真),false(假)
其中,num1变量存储的内容是数值;num2变量存储的内容是字符串,字符串需要用一对引号""括起来,num3变量存储的内容是布尔值(true、false)。
​在JavaScript中,“+”不只代表加法,还可以连接两个字符串
算术操作符除了(+、-、*、/)外,还有两个非常常用的操作符,自加一“++”;自减一“--”。首先来看一个例子:
mynum = 10;
mynum++; //mynum的值变为11
mynum--; //mynum的值又变回10
上面的例子中,mynum++使mynum值在原基础上增加1,mynum--使mynum在原基础上减去1,其实也可以写成:
mynum = mynum + 1;//等同于mynum++
mynum = mynum - 1;//等同于mynum--
布尔类型也可以通过下面方式赋值:
var numa,numb,jq1,jq2;
numa=1;
numb=7;
jq1=  numa>numb       ;
jq2=    numa!=numb     ;
 
​操作符之间的优先级(高到低):
算术操作符 → 比较操作符 → 逻辑操作符 → "="赋值符号
​var numa=3;
var numb=6;
jq= numa + 30 >10 && numb * 3<2;  //结果为false
2.数组
创建数组语法:
var myarray=new Array();
我们创建数组的同时,还可以为数组指定长度,长度可任意指定。
var myarray= new Array(8); //创建数组,存储8个数据。 
注意:
1.创建的新数组是空数组,没有值,如输出,则显示undefined。
2.虽然创建数组时,指定了长度,但实际上数组都是变长的,也就是说即使指定了长度为8,仍然可以将元素存储在规定长度以外。
数组的表达方式:
第一步:创建数组var myarr=new Array(); 
第二步:给数组赋值
        myarr[1]=" 张三";
        myarr[2]=" 李四";
我们还可以用简单的方法创建上面的数组和赋值:
第一种方法:
var myarray = new Array(66,80,90,77,59);//创建数组同时赋值
第二种方法:
 var myarray = [66,80,90,77,59];//直接输入一个数组(称 “字面量数组”)
注意:数组存储的数据可以是任何类型(数字、字符、布尔值等)

​使用myarray变量存储了5个人的成绩,现在多出一个人的成绩,如何存储呢?只需使用下一个未用的索引,任何时刻可以不断向数组增加新元素。
myarray[5]=88; //使用一个新索引,为数组增加一个新元素
数组元素length
语法:myarray.length;一个数组的上下限是0和length-1,javaScript数组的length属性是可变的。
二维数组:
1. 二维数组的定义方法一
var myarr=new Array();  //先声明一维 
for(var i=0;i<2;i++){   //一维长度为2
   myarr[i]=new Array();  //再声明二维 
   for(var j=0;j<3;j++){   //二维长度为3
   myarr[i][j]=i+j;   // 赋值,每个数组元素的值为i+j
   }
 }
​2. 二维数组的定义方法二
var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]
3. 赋值
myarr[0][1]=5; //将5的值传入到数组中,覆盖原有值。
说明: myarr[0][1] ,0 表示表的行,1表示表的列。
​​
3.判断语句
if
if……else
if……else if……else
switch:
switch(表达式){
case 值1:​
执行代码块1;break;​
case 值2:​
执行代码块2;break;​
……​
default:与1,2……值不同时的执行代码
} ​
 
for​
while(判断条件){​
循环语句}​
do{
循环语句}while(判断语句)​
 
退出循环break   当遇到特殊情况的时候,循环就会立即结束。​​​
继续循环continue
continue的作用是仅仅跳过本次循环,而整个循环体继续执行。

​4.函数​
function add(a,b){
sum=a+b;
alert(sum);​
}
 函数调用:​​
第一种情况:在scritp标签内调用。
第二种情况:在HTML文件中调用,如通过点击按钮后调用定义好的函数。input type="button" value="click it" onclick="add2()" //按钮,onclick点击事件,直接写函数名
 ​
返回值函数:​
function add2(x,y)
{
sum = x + y;
return sum; //返回函数值,return后面的值叫做返回值。
}​
document.write(sum);​
 
5.事件​
JavaScript 创建动态页面。事件是可以被 JavaScript 侦测到的行为。 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件。​

主要事件表:​


填写图片摘要(选填)
​鼠标单机事件(onclick)
​鼠标经过事件(onmouseover)​
鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。​
密码:input name="password" type="password"
input name="确定" type="button" value="确定" onmouseover="message()"/​
鼠标移开事件(onnouseout)​
鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序。​
光标聚焦事件(onfocus)
当网页中的对象获得聚点时,执行onfocus调用的程序就会被执行。当将光标移到文本框内时,即焦点在文本框内,触发onfocus 事件​
失焦事件(onblur)​
onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序。​
内容选中事件(onselect)
选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。​
文本框内容改变事件(onchange)
通过改变文本框的内容来触发onchange事件,同时执行被调用的程序。​
加载事件(onload)
事件会在页面加载完成后,立即发生,同时执行被调用的程序。
注意:1. 加载页面时,触发onload事件,事件写在body标签内。
2.加载页面,可理解为打开一个新页面时。​
卸载事件(onunload)
当用户退出页面时(页面关闭、页面刷新等),触发onUnload事件,同时执行被调用的程序。
注意:不同浏览器对onunload事件支持不同。​
编程练习:使用JS完成一个简单的计算器功能。实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除。​
<script>    function count(){        var a = parseInt(document.getElementById("txt1").value);        var b = parseInt(document.getElementById("txt2").value);        var c = document.getElementById("select").value;        var d;        switch(c){            case '+':d=a+b;break;            case '-':d=a-b;break;            case '*':d=a*b;break;            default:d=a/b;        }        document.getElementById("fruit").value=d;    }</script><body><input type='text' id='txt1'><select id='select'>    <option value="+"> + </option>    <option value="-"> - </option>    <option value="*"> * </option>    <option value="/"> / </option></select><input type='text' id='txt2' /><input type='button' value=' = ' onclick="count()"/><input type='text' id='fruit' /></body>

0 0