var 变量名 = 值;
注意:
1> 在js中,var可以用来定义任何数据类型的变量,可以省略,但不建议省略; 2> var可以重复定义变量(后面的值会被覆盖掉),是因为JavaScript弱类型语言,而Java是一种强类型语言; 3> 如果一个变量,但是变量没有值(undefined),没有定义的变量不能直接使用;
JavaScript的数据类型: 1> 不管是整数还是小数都是number类型; 2> 不管是整数还是小数都是number类型(小写); 3> boolean类型; 4> object:对象类型;
举例:
<script type="text/javascript"> //定义变量 var a = 10 ; //重复定义 //var a ; var b = 12.34 ; var c = 'a' ; var d = "hello" ; var e = true ; var f = new Object() ; //输出变量 document.write("a的值是:"+a+",a的数据类型是:"+typeof(a)+"<br/>") ; document.write("b的值是:"+b+",b的数据类型是:"+typeof(b)+"<br/>") ; document.write("c的值是:"+c+",c的数据类型是:"+typeof(c)+"<br/>") ; document.write("d的值是:"+d+",d的数据类型是:"+typeof(d)+"<br/>") ; document.write("e的值是:"+e+",e的数据类型是:"+typeof(e)+"<br/>") ; document.write("f的值是:"+f+",f的数据类型是:"+typeof(f)+"<br/>") ; </script>stirng----number类型的小数 parseFloat(变量);
举例:
<script type="text/javascript"> //定义一个变量 var a = "10" ; //string :里面的值10 document.write("转换前a的数据类型是:"+typeof(a)+"<br/>") ; //转换 a = parseInt(a) ; document.write("转换后a的数据类型是:"+typeof(a)+",值是:"+a) ; document.write("<hr/>") ; var b = "3.14" ; document.write("转换前b的数据类型是:"+typeof(b)+"<br/>"); //转换 b = parseFloat(b) ; document.write("转换后b的数据类型是:"+typeof(b)+",值是:"+b+"<br/") ; </script>举例:
<script type="text/javascript"> var a = 10; var b = 20 ; document.write((a+true)+"<br/>") ; //11 document.write(a-b) ; //-10 var a = 10; var b = 20 ; document.write(a<=b) ; document.write((false && true)+"<br/>") ; document.write((ftrue && true+)"<br/>") ; document.write("<hr/>") ; var age = 12 ; document.write((age >= 18 ? "成年人": "未成年人")) ; </script>if(表达式){ 语句1; } else { 语句2; } 表达式的类型: 1> 如果是numbler类型,(整数类型,小数),0表示条件不成立; 2> 如果是string类型,要么字符要么字符串,必须有数据,如果是空串,条件不成立; 3> 如果是boolean类型,true成立,false不成立; 4> 如果是object类型,必须有对象,才成立,为null不成立;
switch语句: 格式: 和Java相同; 和Java的区别: 1> js中的case后面也可以跟常量,还可以跟变量,还可以跟表达式; 2> java中case后面只能跟常量;
举例:
<script type="text/javascript"> //case后面跟表达式 var age = 25 ; switch(true){ case age >=18 : document.write("你是成年人...") ; break; case age<18 : document.write("你是未成年人呢...") ; break ; } document.write("<hr/>"); var i = "b" ; //和Java语言一样,case后面可以常量, var b = "b" ; switch(i){ case "a" : document.write("a") ; break ; case b : document.write("b") ; break ; case "c" : document.write("c") ; break ; case "d": document.write("d") ; break ; } </script>如:do-while,for,while 循环语句与java中的循环语法结构相同;
练习:
<script type="text/javascript"> //显示"*"形,第一行有一个... for(var i = 0 ; i<5; i++){//外层循环控制行数 for(var j= 0 ; j<=i; j ++){//内层循环控制列数 document.write("* ") ; // 空格 转义字符 } document.write("<br/>") ; } document.write("<hr/>") ; //table标签: 使用js里面嵌套表格标签 //document.write("<table align='center'>") ; for(var i = 1 ; i <=9 ; i++){ // for(var j = 1 ; j<=i ;j++){ document.write(i+"*"+j+"="+(i*j)+" ") ; } document.write("<br/>") ; } </script>}
特点:将document对象当做witch语句参数,然后直接使用它里面的write();
举例:
<script type="text/javascript"> //with语句:格式 with(document){....} //将document对象当做witch语句参数,然后直接使用它里面的write() ; //with语句 with(document){ for(var i = 0 ; i < 5 ; i ++){ for(var j = 0 ; j <=i ; j++){ write("* "); } write("<br/>") ; } write("<hr/>") ; for(var i = 1 ; i <=9 ; i++){ for(var j = 1 ; j <= i ;j++){ write(i+"*"+j+"="+(i*j)+" ") ; } write("<br/>") ; } } </script>function 函数名称(形式参数列表){ 语句;
}
函数调用:
函数名称(实际参数列表);
函数中注意的问题: 1> 函数的形式参数不能有var关键字定义,否则报错; 2> 在js中函数是可以有return语句的,直接return,但是没有返回值; 3> 在js中,函数是不存在的重载概念,后面定义的函数回覆盖掉前面定义的函数; 4> 当实际参数的数量小于形式参数的数量,就会出现一个值肯定是NaN; 如果实际参数大于形式参数,那么最终会计算前面的值,然后将后面的数据丢弃掉;
5> 在js的每一个函数中,里面存在默认的数组:arguments,它的作用就是将实际参数从左到右依次赋值给形式参数(从左到右);
举例:
<script type="text/javascript"> //定义一个函数 //只写参数名称 function add(var a, var b, var c){// a =10 ,b =20 , c= 30 d =40(实际没有了,就会丢弃掉) for(var i = 0 ; i < arguments.length ; i++){ document.write(arguments[i] +" ") ; } var result = a+b + c; //NaN:None a None 没有具体结果 //var result =10 +20 + NaN = NaN; document.write("result:"+result); } //调用函数 var s = add(10,20) ; document.write("s:"+s) ; //输出NaN var s1=add(10,20,30,40) ; //输出前三项的和 document.write("s1:"+s1); </script> 练习: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>函数练习</title> <!-- 如果大月,显示“该月有31天” 如果小月,显示“该月有30天” 如果2月,显示“该月有28天“ --> <script type="text/javascript"> //定义一个函数 function check() { //alert("hello") ; //获取用户在表单中输入的值:DOM编程 通过标签中的id来获取标签对象 var month = document.getElementById("month").value; //通过获取到input标签对象,然后通过标签对象.value:获取表单的值 //在js中string类型的数据和number类型的整数在进行比较(==)的时候,默认转换提升为number类型 //使用if选择结构语句 if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { alert("当前月份有31天..."); } else if(month == 4 || month == 6 || month == 9 || month == 11) { alert("该月份有30天"); } else if(month == 2) { alert("该月份有28天"); } else { alert("没有该月份"); } } </script> </head> <body> 请您输入要查询的月份:<input type="text" id="month" /><input type="button" value="查询" οnclick="check()" /> <!-- 绑定单击点击事件--> </body> </html>注意:在js中valueOf():默认比较的是他们的内容是否相同;
常用方法: chatAt():返回指定索引位置处的字符; indexOf():表示某个子字符串在当前字符串中第一次出现的索引; lastindexOf():表示墨云歌字符串在当前字符串中最后一次出现的索引; fontColor():给当前字符串设置一个颜色标记; substring(start,end):截取功能(从索引start开始到索引end之前结束);
substr(start,length):截取功能(从索引start开始,读取长度为length个字符);
举例:
<script type="text/javascript"> var str = "hellojava" ; document.write(str.charAt(4)+"<br/>") ; document.write(str.indexOf("a")+"<br/>"); document.write(str.lastIndexOf("a")+"<br/>"); document.write(str.fontcolor("#00ff00")+"<br/>") ; document.write(str.substring(4,9)+"<br/>") ; document.write(str.substr(3,4)+"<br/>") ; </script>注意:在js中valueOf():默认比较的是他们的内容是否相同;