JavaScript

一 . js的3种用法

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <!-- 2.嵌入式:在script标签里写js.
 7     该标签可以写在网页任意位置,但通常写在head里. -->
 8 <script>
 9     //js的注释是这样的
10     /*也可以是这样的*/
11     
12     //js函数的规则:
13     //1.js的函数都是公有的
14     //2.js的函数不用声明返回值类型
15     //3.js的函数可以声明参数
16     function f2() {
17         //js中不区分单引号和双引号
18         alert("范传奇");
19     }
20 </script>
21 <!-- 3.文件调用式:在单独的js文件中写JS.
22     将文件引入就相当于将文件内的代码复制到此处.
23     注意:script不能既引入js又写js. -->
24 <script src="my.js"></script>
25 </head>
26 <body>
27     <!-- 
28         事件:就是用户的操作/动作,也是js被
29         调用的时机.如:单击事件、双击事件.
30      -->
31     <!-- 1.事件定义式:在定义事件时直接写js. -->
32     <input type="button" value="按钮1"
33         onclick="alert('苍老师');"/>
34     <input type="button" value="按钮2"
35         onclick="f2();"/>
36     <input type="button" value="按钮3"
37         onclick="f3();"/>
38 </body>
39 </html>

二. js语法

 

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     //1.此处写的函数是在页面加载后,
 8     //用户点击按钮时才调用的.
 9     //2.若此处不写函数,直接写js代码,
10     //则该代码在页面加载时直接调用,
11     //其调用的时机比body还早.
12     //alert(1);
13     console.log("控制台打印");
14     
15     //1.声明变量
16     var x;
17     console.log(x);
18     var y = 2;
19     console.log(y);
20     
21     //2.数据类型
22     var s = "Hello";
23     var n = 3.14;
24     var b = true;
25     
26     //3.隐式转换
27     console.log(s+n);
28     console.log(s+b);
29     console.log(n+b);
30     console.log(b+b);
31     
32     //4.强制转换
33     console.log(parseInt("2.5"));
34     console.log(parseInt(3.6));
35     console.log(parseInt("abc"));
36     console.log(typeof(s));
37     console.log(typeof(n));
38     console.log(isNaN(s));
39     console.log(isNaN(n));
40     console.log(isNaN(b));
41     
42     //5.特殊情况
43     console.log(parseInt(""));
44     console.log(parseInt(true));
45     console.log(isNaN(""));
46     console.log(isNaN(true));
47     
50 </script>
51 </head>
52 <body>
53     <p>js的语法和Java极为相似!</p>
54 </body>
55 </html>

 

案例.

 

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     function pf() {
 8         console.log(1);
 9         //获取文本框
10         var input = document.getElementById("num");
11         console.log(input);
12         //获取文本框内的值
13         var n = input.value;
14         console.log(n);
15         //获取span
16         var span = document.getElementById("result");
17         //判断该值是不是数字
18         if(isNaN(n)) {
19             //不是数字,span里给予提示
20             span.innerHTML = "请输入数字";
21         } else {
22             //是数字,计算其平方,结果写入span
23             span.innerHTML = n*n;
24         }
25     }
26 </script>
27 </head>
28 <body>
29     <input type="text" id="num"/>
30     <input type="button" value="平方"
31         onclick="pf();"/>
32     = <span id="result"></span>
33 </body>
34 </html>

 

 

 

三. js的对象

  1、内置对象

    1.1 .String

      1)x.charAt(index)返回指定位置的字符

      2)x.charCodeAt(index)--Unicode编码

      3)x.indexOf(findstr,[index])--返回findstr在x中出现的首字符位置索引

      4 )x.lastIndexOf(findstr,[index])--从后面找起,但索引任然从前面算,下标从0开始,找不到返回-1

      5)x.substring(start,[end])--获取子字符串

      6)x.replace(findstr,tostr)--替换字符串

      7)x.split(bystr,[howmany])--拆分字符串,返回分割后的一个数组

    1.2. Number

      date.toFixed(num)--转化为字符串,并保留小数点num位

    1.3. Boolean

    1.4. Array   

      //理解:js中的数组都是Object[]
      //1如何创建数组
      //1)已知数据时
      var a1 = ["zhangsan",25,true];
      console.log(a1[0]);
      //2)未知数据时
      var a2 = new Array();
      a2.push("lisi");
      a2.push(23);
      a2.push(false);
      console.log(a2[0]);
      //2数组倒转
      var arr = [5,8,12,3,1,6,4];
      arr.reverse();
      console.log(arr);
      //3数组排序
      //默认按照字符串由小到大排序
      arr.sort();
      console.log(arr);
      //可以传入比较方法来改变其排序的方式
      arr.sort(function(a,b){
      return a-b;
      });
      console.log(arr);

 

    1.5. Math

    1.6. Date 

      //1如何创建Date
      var d1 = new Date();
      var d2 = new Date("2017/02/14 08:08:08");
      console.log(d1);
      console.log(d2);
      //2转为本地时间格式
      d1.toLocaleDateString();
      d1.toLocaleTimeString();
      //3读取时间分量
      var y = d1.getFullYear();
      //月份从0开始
      var m = d1.getMonth();
      var d = d1.getDate();
      var now = y + "年" + (m+1) + "月" + d + "日";
      console.log(now);

 

    1.7 .Regexp 

      //1.如何创建正则对象

      1.1 var reg = /pattern/flags;

        var reg = /^\d{3,6}$/;

       1.2 var reg  = new RegExp("pattern",[flags]);

        var reg = new RegExp("^\d{3,6}$");

        flags--g:设定当前匹配为全局匹配

            i:忽略匹配中的大小写检测

     //2.正则对象的方法

        2.1 reg.test(str)--检索字符串中指定的值,返回true或false

        2.2 reg.exec(str)--检索字符串中指定的值,返回找到的值

     案例一:

        var str = "you can you up,no can no bb.";

        var reg = /no/;
        //1)reg.test(str)
        //检测str中是否包含和reg匹配的子串
        console.log(reg.test(str));
        //2)reg.exec(str)
        //在非全局模式下:
        //从str中找出和reg匹配的第一个子串
        console.log(reg.exec(str));
        //在全局模式下:
        //第1次调用,从str中找出和reg匹配的第1个子串
        //第2次调用,从str中找出和reg匹配的第2个子串
        //第n次调用,从str中找出和reg匹配的第n个子串
        reg = /no/g;
        console.log(reg.exec(str));
        console.log(reg.exec(str));
        console.log(reg.exec(str));

    案例二:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     //页面加载时生成随机整数,即在用户未
 8     //看到body中的内容时就生成了该整数.
 9     var ran = parseInt(Math.random()*100);
10     
11     function guess() {
12         //获取文本框内的值
13         var n = 
14             document.getElementById("num").value;
15         //获取span
16         var span = document.getElementById("result");
17         //判断是否为数字
18         if(isNaN(n)) {
19             span.innerHTML = "请输入数字";
20         } else {
21             if(n<ran) {
22                 span.innerHTML = "小了";
23             } else if(n>ran) {
24                 span.innerHTML = "大了";
25             } else {
26                 span.innerHTML = "对了";
27             }
28         }
29     }
30     
31 </script>
32 </head>
33 <body>
34     <input type="text" id="num"/>
35     <input type="button" value="猜"
36         onclick="guess();"/>
37     <span id="result"></span>
38 </body>
39 </html>

案例3:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <style>
 7     .ok{color:green;}
 8     .error{color:red;}
 9 </style>
10 <script>
11     //验证账号的格式
12     function checkCode() {
13         console.log(1);
14         //获取账号
15         var code = 
16             document.getElementById("code").value;
17         //获取span
18         var span = 
19             document.getElementById("code_msg");
20         //验证账号格式
21         var reg = /^\w{5,10}$/;
22         if(reg.test(code)) {
23             span.className = "ok";
24         } else {
25             span.className = "error";
26         }
27     }
28     //验证密码格式
29     function checkPwd() {
30         var pwd = 
31             document.getElementById("pwd").value;
32         var span = 
33             document.getElementById("pwd_msg");
34         var reg = /^\w{10,15}$/;
35         if(reg.test(pwd)) {
36             span.className = "ok";
37         } else {
38             span.className = "error";
39         }
40     }
41 </script>
42 </head>
43 <body>
44     <form action="http://www.tmooc.cn">
45         <p>
46             账号:<input type="text" id="code"
47                 onblur="checkCode();"/>
48             <span id="code_msg">5-10位字母、数字、下划线</span>
49         </p>
50         <p>
51             密码:<input type="password" id="pwd"
52                 onblur="checkPwd();"/>
53             <span id="pwd_msg">10-15位字母、数字、下划线</span>
54         </p>
55         <p><input type="submit" value="登录"/></p>
56     </form>
57 </body>
58 </html>

 

     8. Function

      js中函数就是Function对象

      function 函数名([参数]){

        方法体;

        return 返回值;

      }

    注:参数=arguments[]

  2 .外部对象

    外部对象概述:

  

    2.1.Window对象

        window表示浏览器窗口,所有js全局对象,函数以及变量均自动成为window对象的成员,

          1.常用属性有:

            1)document:窗口中显示的HTML文档对象

            2)history:浏览器窗口历史记录对象

            3)location:窗口文件地址对象

            4)screen:当前屏幕对象

            5)navigatior:浏览器相关信息

 

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     //1.location
 8     function f1() {
 9         var b = confirm("确定要离开吗?");
10         if(b) {
11             location.href = "http://www.tmooc.cn";
12         }
13     }
14     function f2() {
15         location.reload();
16     }
17     //2.history
18     function f3() {
19         history.forward();
20     }
21     //3.screen
22     console.log(screen.width);
23     console.log(screen.height);
24     console.log(screen.availWidth);
25     console.log(screen.availHeight);
26     //4.navigator
27     console.log(navigator.userAgent);
28 </script>
29 </head>
30 <body>
31     <input type="button" value="达内"
32         onclick="f1();"/>
33     <input type="button" value="刷新"
34         onclick="f2();"/>
35     <input type="button" value="前进"
36         onclick="f3();"/>
37 </body>
38 </html>

 

          2.常用方法:

            1)alert(),confirm()

            2)setTimeout(),clearTimeout()

            3)srtInterval(),clearInterval()

  案例1:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     //1.确认框
 8     function del() {
 9         var b = confirm("确定要删除此数据吗?");
10         console.log(b);
11     }
12     //2.周期性定时器
13     function f1() {
14         //启动周期性定时器:
15         //告诉浏览器每隔1000ms调用一次函数.
16         //返回值是定时器的ID,用来停止定时器.
17         var n = 5;
18         var id = setInterval(function(){
19             console.log(n--);
20             if(!n) {
21                 //停止定时器
22                 clearInterval(id);
23                 console.log("DUANG");
24             }
25         },1000);
26         //当前方法f1相当于主线程,
27         //启动定时器相当于启动支线程,
28         //主线程不等待支线程,启动完成后,
29         //立刻执行下一行,即输出了BOOM.
30         //支线程在等待1S后才第一次运行.
31         console.log("BOOM");
32     }
33     //3.一次性定时器
34     var id;
35     function f2() {
36         //启动一次性定时器:
37         //让浏览器在5000ms后调用函数,
38         //并且调用一次后就自动停止定时器.
39         id = setTimeout(function(){
40             console.log("叮叮叮叮叮叮");
41         },5000);
42     }
43     function f3() {
44         clearTimeout(id);
45     }
46 </script>
47 </head>
48 <body>
49     <input type="button" value="删除"
50         onclick="del();"/>
51     <input type="button" value="倒计时"
52         onclick="f1();"/>
53     <input type="button" value="订闹钟"
54         onclick="f2();"/>
55     <input type="button" value="取消"
56         onclick="f3();"/>
57 </body>
58 </html>

 

案例2:动态时钟

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <style>
 7     #clock {
 8         border: 1px solid red;
 9         width: 200px;
10         height: 40px;
11         line-height: 40px;
12         font-size: 20px;
13         text-align: center;
14     }
15 </style>
16 <script>
17     //开始
18     var id;
19     function start1() {
20         if(id) {
21             //id非空,表示定时器已启动,不必再次启动了
22             return;
23         }
24         //id为空,表示未启动,则启动定时器
25         id = setInterval(function(){
26             var d = new Date();
27             var p = document.getElementById("clock");
28             p.innerHTML = d.toLocaleTimeString();
29         },1000);
30     }
31     //停止
32     function stop1() {
33         clearInterval(id);
34         //停止时清空id,以便于下一次启动
35         id = null;
36     }
37 </script>
38 </head>
39 <body>
40     <p>
41         <input type="button" value="开始"
42             onclick="start1();"/>
43         <input type="button" value="停止"
44             onclick="stop1();"/>
45     </p>
46     <p id="clock"></p>
47 </body>
48 </html>

 

 

     2.2.Dom对象:

    Dom提供了如下操作:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     //onload是页面加载事件,在网页加载完成时
 8     //自动触发.触发时调用对应的匿名函数.
 9     window.onload = function(){
10         //1.读取节点的名称及类型
11         var p1 = document.getElementById("p1");
12         console.log(p1.nodeName);
13         console.log(p1.nodeType);
14         //2.读写节点的内容(双标签中间的文本)
15         //2.1 innerHTML(支持标签)
16         console.log(p1.innerHTML);
17         p1.innerHTML = "DOM操作可以<u>读写</u>节点";
18         //2.2 innerText(不支持标签)
19         var p2 = document.getElementById("p2");
20         console.log(p2.innerText);
21         p2.innerText = "DOM操作可以<u>查询</u>节点";
22         //3.读写节点的值
23         //只有如下表单控件有值:input,textarea,select
24         //input.value
25         //4.读写节点的属性
26         //4.1通过方法读写(麻烦,万能)
27         var img = document.getElementById("i1");
28         console.log(img.getAttribute("src"));
29         img.setAttribute("src","../images/02.jpg");
30         img.removeAttribute("src");
31         //4.2通过属性名读写(简单,几个)
32         //举例:
33         //读:span.className
34         //写:span.className = "ok"
35         //只有class,style,id可以通过这种方式读写,
36         //其他的属性是非标准的API,即新版浏览器可以
37         //使用,但旧版浏览器不支持(如a.href).
38         var a = document.getElementById("a1");
39         console.log(a.style.color);
40         a.style.color = "blue";
41     }
42 </script>
43 </head>
44 <body>
45     <p id="p1">DOM操作可以<b>读写</b>节点</p>
46     <p id="p2">DOM操作可以<b>查询</b>节点</p>
47     <p id="p3">DOM操作可以<b>增删</b>节点</p>
48     <p>
49         <img src="../images/01.jpg" id="i1"/>
50     </p>
51     <p>
52         <a href="#" style="color:red;" id="a1">顶部</a>
53     </p>
54 </body>
55 </html>

案例一:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <style>
 7     div {
 8         border: 1px solid red;
 9         width: 218px;
10         height: 218px;
11     }
12     .show {
13         display: inline-block;
14     }
15     .hide {
16         display: none;
17     }
18 </style>
19 <script>
20     //页面加载后
21     window.onload = function() {
22         lunbo();
23     }
24     var id;
25     //轮播次数
26     var n = 0;
27     function lunbo() {
28         //启动定时器,每2S执行一次轮播
29         id = setInterval(function(){
30             n++;
31             //获取所有图片
32             var imgs = 
33                 document.getElementsByTagName("img");
34             //遍历他们,都隐藏
35             for(var i=0;i<imgs.length;i++) {
36                 imgs[i].className = "hide";
37             }
38             //将下一张图片显示
39             var next = n%imgs.length;
40             imgs[next].className = "show";
41         },2000);        
42     }
43     function stop1() {
44         clearInterval(id);
45     }
46 </script>
47 </head>
48 <body>
49     <!-- 
50         onmouseover是鼠标悬停事件;
51         onmouseout是鼠标离开事件;
52         hover不是事件,是伪类选择器!
53      -->
54     <div onmouseover="stop1();"
55         onmouseout="lunbo();">
56         <img src="../images/01.jpg"/>
57         <img src="../images/02.jpg" class="hide"/>
58         <img src="../images/03.jpg" class="hide"/>
59         <img src="../images/04.jpg" class="hide"/>
60         <img src="../images/05.jpg" class="hide"/>
61         <img src="../images/06.jpg" class="hide"/>
62     </div>
63 </body>
64 </html>

查询节点:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     window.onload = function() {
 8         //1.根据ID查询一个节点
 9         //2.根据标签名查询一组节点
10         //3.根据NAME查询一组节点
11         var inputs = 
12             document.getElementsByName("sex");
13         console.log(inputs);
14         //4.根据层次查询节点
15         //查询某节点的亲属(父亲、孩子、兄弟)
16         //4.1查询节点的父亲
17         var gz = document.getElementById("gz");
18         var ul = gz.parentNode;
19         console.log(ul);
20         //4.2查询节点的孩子
21         //带空格
22         console.log(ul.childNodes);
23         //不带空格
24         console.log(ul.getElementsByTagName("li"));
25         //4.3查询节点的兄弟
26         //节点.parentNode.getElementsByTagName("")[i]
27         var li = 
28             gz.parentNode.getElementsByTagName("li")[4];
29         console.log(li);
30     }
31     
32     function f1() {
33         //1.创建节点li
34         var li = document.createElement("li");
35         li.innerHTML = "杭州";
36         //2.追加节点
37         var ul = document.getElementById("city");
38         ul.appendChild(li);
39     }
40     function f2() {
41         //1.创建节点
42         var li = document.createElement("li");
43         li.innerHTML = "苏州";
44         //2.插入节点
45         var ul = document.getElementById("city");
46         var gz = document.getElementById("gz");
47         ul.insertBefore(li,gz);
48     }
49     function f3() {
50         //获取要删除的节点的父亲
51         var ul = document.getElementById("city");
52         //获取要删除的节点
53         var gz = document.getElementById("gz");
54         //根据父亲删除孩子
55         ul.removeChild(gz);
56     }
57 </script>
58 </head>
59 <body>
60     <p>
61         <input type="radio" name="sex"/>62         <input type="radio" name="sex"/>63     </p>
64     <p>
65         <input type="button" value="追加"
66             onclick="f1();"/>
67         <input type="button" value="插入"
68             onclick="f2();"/>
69         <input type="button" value="删除"
70             onclick="f3();"/>
71     </p>
72     <ul id="city">
73         <li>北京</li>
74         <li>上海</li>
75         <li id="gz">广州</li>
76         <li>深圳</li>
77         <li>天津</li>
78     </ul>
79 </body>
80 </html>

案例二:省市联动

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     var cities;
 8     window.onload = function() {
 9         //模拟加载所有的城市
10         cities = [
11             ["石家庄","保定","廊坊"],
12             ["济南","青岛","威海"],
13             ["南京","苏州","无锡"]
14         ];
15     }
16     function chg() {
17         console.log(1);
18         //获取选择的省份(序号)
19         var s1 = document.getElementById("province");
20         var index = s1.value;
21         //获取该省份对应的城市
22         var pcities = cities[index];
23         //删除旧的城市
24         var s2 = document.getElementById("city");
25         //var options = 
26         //    s2.getElementsByTagName("option");
27         //for(var i=options.length-1;i>=1;i--) {
28         //    s2.removeChild(options[i]);
29         //}
30         s2.innerHTML = "<option>请选择</option>";
31         //追加新的城市
32         if(pcities) {
33             for(var i=0;i<pcities.length;i++) {
34                 var option = 
35                     document.createElement("option");
36                 option.innerHTML = pcities[i];
37                 s2.appendChild(option);
38             }
39         }
40     }
41 </script>
42 </head>
43 <body>
44     省:
45     <select onchange="chg();" id="province">
46         <option value="-1">请选择</option>
47         <option value="0">河北省</option>
48         <option value="1">山东省</option>
49         <option value="2">江苏省</option>
50     </select>
51     市:
52     <select id="city">
53         <option>请选择</option>
54     </select>
55 </body>
56 </html>

  3. 自定义对象

 

  1.创建的方式

    1.1直接量(JSON)

    • {"name":"zs","age":23}
    • {}代表一个对象,内含多组键值对
    • key一般是字符串,value可以是任意类型数据

    1.2构造器(new的函数/首字母大写)

      1.2.1内置构造器

      • 特殊: String(),Date(),RegExp(),Function()
      • 通用: Object()

      1.2.2自定义构造器

      • 声明函数,首字母大写
      • 声明参数,明确指示调用者传入哪些参数
      • 对象要记录这些参数

 案例1:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     //1.采用直接量的方式创建对象
 8     function f1() {
 9         var student = {
10             "name":"zhangsan",
11             "age":23,
12             "work":function(){
13                 alert("我学Java");
14             }
15         };
16         alert(student.name);
17         alert(student.age);
18         student.work();
19     }
20     //2.采用内置构造器创建对象
21     function f2() {
22         var teacher = new Object();
23         teacher.name = "苍老师";
24         teacher.age = 18;
25         teacher.work = function(){
26             alert("我教Java");
27         };
28         alert(teacher.name);
29         alert(teacher.age);
30         teacher.work();
31     }
32     //3.采用自定义构造器创建对象
33     function Coder(name,age,work) {
34         //需要在对象上记录传入的参数
35         this.name = name;
36         this.age = age;
37         this.job = work;
38     }
39     function f3() {
40         var coder = new Coder(
41             "Lisi",
42             28,
43             function(){
44                 alert("我写Java");
45             }
46         );
47         alert(coder.name);
48         alert(coder.age);
49         coder.job();
50     }
51 </script>
52 </head>
53 <body>
54     <input type="button" value="按钮1"
55         onclick="f1();"/>
56     <input type="button" value="按钮2"
57         onclick="f2();"/>
58     <input type="button" value="按钮3"
59         onclick="f3();"/>
60 </body>
61 </html>

 

   2.总结

 

      • 无论采用哪种方式,创建出来的对象本质上都是Object
      • 若对象需要给其他人复用,建议采用1.2.2
      • 若对象只是自己使用,采用1.1或1.2.1均可

 

 

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>Insert title here</title>
 6 <script>
 7     //1.采用直接量的方式创建对象
 8     function f1() {
 9         var student = {
10             "name":"zhangsan",
11             "age":23,
12             "work":function(){
13                 alert("我学Java");
14             }
15         };
16         alert(student.name);
17         alert(student.age);
18         student.work();
19     }
20     //2.采用内置构造器创建对象
21     function f2() {
22         var teacher = new Object();
23         teacher.name = "苍老师";
24         teacher.age = 18;
25         teacher.work = function(){
26             alert("我教Java");
27         };
28         alert(teacher.name);
29         alert(teacher.age);
30         teacher.work();
31     }
32     //3.采用自定义构造器创建对象
33     function Coder(name,age,work) {
34         //需要在对象上记录传入的参数
35         this.name = name;
36         this.age = age;
37         this.job = work;
38     }
39     function f3() {
40         var coder = new Coder(
41             "Lisi",
42             28,
43             function(){
44                 alert("我写Java");
45             }
46         );
47         alert(coder.name);
48         alert(coder.age);
49         coder.job();
50     }
51 </script>
52 </head>
53 <body>
54     <input type="button" value="按钮1"
55         onclick="f1();"/>
56     <input type="button" value="按钮2"
57         onclick="f2();"/>
58     <input type="button" value="按钮3"
59         onclick="f3();"/>
60 </body>
61 </html>

 

posted @ 2017-04-22 13:13  等你,在雨中  阅读(127)  评论(0)    收藏  举报