day02(二)

JavaScript简单介绍【接上day02(一)】

1、JavaScript的简介
* 是基于对象和事件驱动的语言,应用与客户端。
  - 基于对象:提供的对象可直接拿过来使用
  - 事件驱动:html做网站静态效果,JavaScript动态效果
  - 客户端: 专门指的是浏览器

* JavaScrip的特点
 (1)交互性:信息的动态交互
 (2)安全性:js不能访问本地磁盘
 (3)跨平台性:支持JavaScript的浏览器都可运行

* JavaScrip和Java的区别
 (1)Java是sun公司,被oracle收购;js是网景公司
 (2)JavaScript是基于对象,Java是面向对象
 (3)Java是强类型的语言,JavaScript是弱类型的语言
  - java int i = 10;
  - js var i = 10; var m = "10";
 (4)JavaScript只需要解析就可以执行,而Java需要先编译成字节码文件在执行

* JavaScrip组成(三部分)
 (1)ECMAScript
  - ECMA:欧洲计算机协会
  - 有ECMA组织制定的js的语法,语句...
 (2)BOM
  - broswer object model:浏览器对象模型
 (3)DOM
  - document object model:文档对象模型

2、js和html结合方式(两种)
第一种
 - 使用一个标签
<script type="text/javascript">
  JavaScript代码;
</script>
e-image

第二种
  - 使用script标签,引入一个外部的js文件
<script type="text/javascript" src="JavaScript文件路径" ></script>
**** 使用第二种就不需要再script标签里写代码,不会被执行
e-image

3、js的原始类型和声明变量
java:byte short int long float double char boolean
** js原始类型(五个)
 - string:字符串
  *** var str = "abc";
 - number:数字类型
  *** var m = 132;
 - boolean:true or false
  *** var flag = true;
 - null
  *** var date = new Date();
   ** 获取对象的引用,null表示对象引用为空,所有对象的引用也是object
 - undifined
  *** 定义一个变量没有被赋值
  ** var aa;
** typeof(变量名称);查看变量数据类型
e-code

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>js的数据类型</title>
 6     </head>
 7     <body>
 8     </body>
 9     <script type="text/javascript">
10         // 定义一个字符串
11         var str="132";
12         //alert(str);
13         
14         // 定义数字
15         var mm=123;
16         //alert(mm);
17         
18         // 定义boolean
19         var flag=true;
20         alert(typeof(flag));
21     </script>
22 </html>
View Code

4、js语句
** if判断语句
** switch语句
** 循环语句 for while do-while
e-code

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8     </body>
 9     <script type="text/javascript">
10         // if语句
11         /*var a = 7;
12         if (a == 5) {
13             alert(a);
14         } else{
15             alert("6");
16         }*/
17         
18         // switch语句
19         /*var b=8;
20         switch (b){
21             case 5:
22                 alert(b);
23                 break;
24             case 8:
25                 alert(b);
26                 break;
27             default:
28                 alert("other");
29         }*/
30         
31         // while循环
32         /*var i = 5;
33         while (i>1){
34             alert(i);
35             i--;
36         }*/
37         
38         //for循环
39         for (var i=0;i<=3;i++) {
40             alert(i);
41         }
42         
43     </script>
44 </html>
View Code

5、js的运算符
** 不区分整数和小数
 // j/1000*1000 在Java里得到结果0
 // 在js里不区分整数和小数,123/1000=0.123*1000=123
  var j = 123;
  alert(j/1000*1000);

** 字符串相加减操作
  var str = "123"
  ** 相加时做字符串连接操作
  ** 相减时做减法运算

// 字符串的操作
  var str="abc";// 提示NaN(表示不是一个数字)
  alert(str+1);// 跟Java里一样,
  alert(str-1);// 相减时,执行减法运算

** boolean操作
  *** 设置成true,相当于这个值是1
  *** 设置成false,相当于这个值是0
  var flag = true;
  alert(flag+1); // 2
  var flag1 = false;
  alert(flag1+1);// 1

** == 和 === 区别
 == 比较只是值
 === 比较值和类型
  var a="5";
  if (a === "5") {
  alert(a);
  } else{
  alert("other");
  }

** 引入知识
直接向页面输出的语句(可把内容显示在页面上)
document.write("aaaa");
document.write("<br/>");
document.write("bbbb");
document.write("<hr/>");
** 可以向页面输出固定值和html代码

e-code

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8     </body>
 9     <script type="text/javascript">
10         var j = 123;
11         alert(j/1000*1000);
12         // j/1000*1000   在Java里得到结果0
13         // 在js里不区分整数和小数,123/1000=0.123*1000=123
14         
15         
16         // 字符串的操作
17         /*var str="abc";// 提示NaN(表示不是一个数字)
18         //alert(str+1);// 跟Java里一样,
19         alert(str-1);// 相减时,执行减法运算*/
20         
21         
22         // boolean操作
23         /*var flag = true; // 等于1
24         alert(flag+1);
25         var flag1 = false; // 等于0 
26         alert(flag1+1);*/
27         
28         
29         // == 和 === 区别
30         /*var a="5";
31         if (a === "5") {
32             alert(a);
33         } else{
34             alert("other");
35         }*/
36         
37         
38 //        document.write("aaaa");
39 //        document.write("<br/>");
40 //        document.write("bbbb");
41 //        document.write("<hr/>");
42         
43     </script>
44 </html>
View Code

6、练习 实现99乘法表输出到页面上
e-code

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8     </body>
 9     <script type="text/javascript">
10         document.write("<table border='1' bordercolor='blue'>");
11         // 循环行
12         for (var i=1;i<=9;i++) {
13             document.write("<tr>");
14             // 循环列
15             for (var j=1;j<=i;j++) {
16                 document.write("<td>");
17                 // 运算
18                 document.write(j+"*"+i+"="+i*j);
19                 document.write("</td>");                
20             }
21             document.write("</tr>");
22         }
23         document.write("</table>")
24     </script>
25 </html>
View Code

e-image

7、js数组
* 定义数组方式(三种)
第一种:var arr=[1,2,3]; var arr=[1,"2",true];
第二种:使用内置对象 Array对象
var arr1 = new Array(3);//定义长度为3的数组
arr1[0]="a";
arr1[1]="b";
arr1[2]="c";
第三种:使用内置对象 Array
var arr2 = new Array(2,4,5);//定义数组并直接赋元素

* 测试数组长度:length => alert(arr2.length);
* 数组可存放不同数据类型的数据
e-code

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8     </body>
 9     <script type="text/javascript">
10         // 定义数组第一种方式
11         /*var arr=[1,2,"3"];
12         alert(arr);*/
13         
14         // 定义数组第二种方式
15         var arr1 = new Array(3);
16         arr1[0]="a";
17         arr1[1]="b";
18         arr1[2]="c";
19         //alert(arr1);
20         
21         // 第三种方式定义数组
22         var arr2 = new Array(2,4,5);
23         alert(arr2);
24         alert(arr2.length);
25     </script>
26 </html>
View Code

8、js函数(三种方式)
**** 函数的参数列表里不需要写var,直接写参数名称
第一种:
*** 使用关键字function
*** function 方法名(参数列表){
方法体;
返回值;//可有可无(根据实际需求)
}

e-image

// 定义一个有参的方法,实现两个数相加

e-image

//有返回值得效果

e-image

第二种:
*** 匿名函数
var add = function(参数列表){
方法体和返回值;
}

e-image

第三种:(用的少,了解)
*** 使用到js里面的一个内置对象 Function
var add = new function("参数列表","方法体和返回值");
**** -code
// 第三种方式创建
var add4 = new Function("x,y","var sum;sum=x+y;return sum;");
alert(add4(3,5));
-------------------------------------------------------------

e-image

9、js全局变量和局部变量
** 全局变量:在script标签里定义一个变量,这个变量在页面中js部分都可以使用
 - 在方法外部使用,在方法内部使用,在另一个script标签使用
e-code

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8     </body>
 9     <script type="text/javascript">
10         var a=2018;
11         alert("在方法体外部调用a:"+a);
12         function test() {
13             alert("在方法体内部调用a:"+a)
14         }
15         test();
16     </script>
17     <script type="text/javascript">
18         alert("在另一个script标签使用:"+a)
19     </script>
20 </html>
View Code

** 局部变量:在方法内部定义一个变量,只能在方法内部使用
- 如果在方法外部调用这个变量,提示出错
- SCRIPT5009:"n"未定义
- IE自带调试工具,ie8及其上的版本。F12
e-code

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8     </body>
 9     <script type="text/javascript">
10         function test () {
11             var n=10;
12             alert("在方法内部:"+n);
13         }
14         test();
15         alert("方法外部:"+n);//报错,并没有I定义
16     </script>
17 </html>

10、函数的重载

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6     </head>
 7     <body>
 8     </body>
 9     <script type="text/javascript">
10         function add (a,b) {
11             return a+b;
12         }
13         function add (a,b,c) {
14             return a+b+c;
15         }
16         function add (a,b,c,d) {
17             return a+b+c+d;
18         }
19         
20         alert(add(2,2));// NaN
21         alert(add(3,2,2));// NaN
22         alert(add(2,3,4,2));// 11
23         
24     </script>
25 </html>
View Code

猜你喜欢

转载自www.cnblogs.com/cao-yin/p/9286263.html