Javascript开学第一节课

本文介绍了JavaScript作为HTML文档中的脚本语言,及其在表单验证、页面动态效果及局部刷新方面的应用。通过三个具体例子,展示了如何使用JavaScript实现简易计算器功能,并与HTML交互。文章还对比了JavaScript与Java的不同,突出了JavaScript的简洁性和易学性。

   JavaScript是一门嵌套在HTML文档中的脚本语言,当然,他也是一门面向对象的编程语言。他的所有代码都写在<script></script>这对标签中,可以写在HTML文档的<head>中,也可写在<body>中。虽然JavaScript名字看起来好像与Java有关,但事实是,他俩没有一点联系。Javascript的主要作用是实现表单的验证和页面的动态效果,实现网页的局部刷新。

    相比较java而言,Javascript是一门比较简单的编程语言。他没有了Java中的各种数据类型,所有变量的定义都用var关键字,同样,所有自定义的函数都是用function来定义。Javascript用document.write()进行数据的输出。没有了复杂的数据类型,javascript比Java更加容易学习。

    简单的理论上的东西多说无益,下面看一个具体的例子。

例1:简易计算器

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>简易计算器.html</title>
    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
    <script type="text/javascript">              //在<script>标签对中写Javascript代码,其中type="text/javascript"是说明所写文档的类型,为text类型的,用Javascript语言编写的,在<script>标签中还有一个language属性,说明所用的编程语言,一般情况为language="javascript" ,这是为javascript以后的发展所考虑的,可以省略不写
       
        function add()//定义了一个函数 add();
        {
            var num1=parseFloat(document.getElementById("num1").value) ;

//document指的是当前这篇文档;getElementById("num1")意为通过id号得到名为"num1"的对象;value是指对象那个的值,是一个字符串类型的;parseFloat(“字符串”),此函数意为将参数值转换为Float型。用var定义了一个变量num1,不管num1是什么类型,包括数组,都用var来定义,变量num1的值为后面语句的返回值

//这句代码的作用是:在这篇文档中找到id号为"num1"对象的值,并把它转换成Float型,赋值给变量num1

            var num2=parseFloat(document.getElementById("num2").value) ;//同上
           var result=0;//定义了一个result的变量并赋值为0;
            result=num1+num2;//两数相加赋值给result
            document.getElementById("result").value=result.toString();//toString()的作用是将result的值转换成String型

//得到id号为"result"的对象的值,将其赋为result的值

        }
        function del()
        {
            var num1=parseFloat(document.getElementById("num1").value) ;
            var num2=parseFloat(document.getElementById("num2").value) ;
            var result=0;
            result=num1-num2;
            document.getElementById("result").value=result.toString();
        }
        function cheng()
        {
            var num1=parseFloat(document.getElementById("num1").value) ;
            var num2=parseFloat(document.getElementById("num2").value) ;
            var result=0;
            result=num1*num2;
            document.getElementById("result").value=result.toString();
        }
        function chu()
        {
            var num1=parseFloat(document.getElementById("num1").value) ;
            var num2=parseFloat(document.getElementById("num2").value) ;
            var result=0;
            if(num2==0)
            {
                alert("输入除数不能为零");//
            }
            result=num1/num2;
            document.getElementById("result").value=result.toString();
        }
    </script>
  </head>
 
  <body>
  <center>
    <h1>简易计算器</h1>
    <form name="myform" action="" method="get">

<!-- 在HTML中,使用Javascript必须要有<form>标签,它是用来实现用户与计算机之间的交互,换而言之,Javascript通过<form>标签实现对HTML标签的操作,即Javascript所操作的标签都要出现在<form>标签对中。-->
    <table width="453" height="190">
        <tr>
            <td>第一个数</td>
            <td><input type="text" id="num1"></td>
        </tr>
        <tr>
            <td>第二个数</td>
            <td><input type="text" id="num2" onchange="val()"></td>
        </tr>
        <tr colspan="2">
            <td><input type="button" value="   +   " onclick="add()">

<!--onclick是button标签的一个单击事件,通过鼠标单击此按钮就可触发此事件,onclick后面的值表示触发此事件是要执行的操作, onclick="add()"为单击按钮后执行add()函数,注:事件的值是一个字符串,必须要用引号引起来。-->

                <input type="button" value="   -   " onclick="del()">
                <input type="button" value="   *   " onclick="cheng()">
                <input type="button" value="   /   " onclick="chu()">
            </td>
        </tr>
        <tr>
            <td>计算结果</td>
            <td><input type="text" id="result"></td>
        </tr>
    </table>
    </form>
  </center>
  </body>
</html>


例2:简易计算器1

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>简易计算器1.html</title>
    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <script type="text/javascript">
        function calculate(op)//定义了一个带参的函数
        {
            var num1=parseFloat(document.getElementById("num1").value);
            var num2=parseFloat(document.getElementById("num2").value);
            var result=0;
            if(op=="+")//下面的代码语法编写形式与Java一样
            {
                result=num1+num2;
            }
            if(op=="-")
            {
                result=num1-num2;
            }
            if(op=="*")
            {
                result=num1*num2;
            }
            if(op=="/")
            {
                if(num2==0)
                {
                alert("除数不能为零!!!");
                }
                result=num1/num2;
            }
            document.getElementById("result").value=result.toString();
        }
    </script>

  </head>
 
  <body>
    <center>
    <h1>简易计算器</h1>
    <form name="myform" action="" method="get">
    <table width="453" height="190">
        <tr>
            <td>第一个数</td>
            <td><input type="text" id="num1"></td>
        </tr>
        <tr>
            <td>第二个数</td>
            <td><input type="text" id="num2"></td>
        </tr>
        <tr colspan="2">
            <td><input type="button" value="   +   " onclick="calculate('+')">

<!-- 向函数中传递参数“+” -->

                <input type="button" value="   -   " onclick="calculate('-')">
                <input type="button" value="   *   " onclick="calculate('*')">
                <input type="button" value="   /   " onclick="calculate('/')">
            </td>
        </tr>
        <tr>
            <td>计算结果</td>
            <td><input type="text" id="result"></td>
        </tr>
    </table>
    </form>
  </center>
  </body>
</html>



例3:简易计算器2

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>简易计算器2.html</title>

        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="this is my page">
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">

        <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
        <script type="text/javascript">
var one = '1';//定义常量
var two = '2';
var three = '3';
var four = '4';
var five = '5';
var six = '6';
var seven = '7';
var eight = '8';
var nine = '9';
var zero = '0';
var plus = '+';
var minus = '-';
var multiply = '*';
var divide = '/';
var decimal = '.';
function enter(obj, string) {
//定义一个带参的函数,参数为obj和string,因为所有的变量都用var来定义,因此在定义函数的参数类型时可以不写var
    obj.expr.value += string;
//在文本框中添加按钮的值
}

function compute(obj) {
//计算文本框中的值
    obj.expr.value = eval(obj.expr.value);
  
 //eval是Javascript有用的内部函数,该函数可以对以字符串形式表示的任意有效的Jscript代码求值。
    //了解这个后,去掉eval,是不是和等号左边一样了呢。所以这个片段的意思就是求obj.expr.value值后再赋值给obj.expr.value

}
function clear(obj)
//清空函数,清空文本框中的数据
{
    obj.expr.value = "";
}
</script>
    </head>

    <body>
        <center>
            <h1>
                简易计算器2
            </h1>
            <form name="calc">
                <table border="1" align="center">
                    <tr>
                        <td colspan="4">
                            <input type="text" name="expr" size="30"
                                action="compute(this.form)" />

<!--  action是扩展出来的一个事件,相当于onclick,this.form为传递的参数,this是指当前对象,form是表单,即意为当前对象所在的表单 -->

                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input type="button" value="  7  "
                                onclick="enter(this.form, seven)" />

<!--  向函数enter()中传递两个参数 -->

                        </td>
                        <td>
                            <input type="button" value="  8  "
                                onclick="enter(this.form, eight)" />
                        </td>
                        <td>
                            <input type="button" value="  9  "
                                onclick="enter(this.form, nine)" />
                        </td>
                        <td>
                            <input type="button" value="  /  "
                                onclick="enter(this.form, divide)" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input type="button" value="  4  "
                                onclick="enter(this.form, four)" />
                        </td>
                        <td>
                            <input type="button" value="  5  "
                                onclick="enter(this.form, five)" />
                        </td>
                        <td>
                            <input type="button" value="  6  "
                                onclick="enter(this.form, six)" />
                        </td>
                        <td>
                            <input type="button" value="  *  "
                                onclick="enter(this.form, multiply)" />
                        </td>
                    </tr>
                    <tr>
                        <td>
                            <input type="button" value="  1  "
                                onclick="enter(this.form, one)" />
                        </td>
                        <td>
                            <input type="button" value="  2  "
                                onclick="enter(this.form, two)" />
                        </td>
                        <td>
                            <input type="button" value="  3  "
                                onclick="enter(this.form, three)" />
                        </td>
                        <td>
                            <input type="button" value="  -  "
                                onclick="enter(this.form, minus)" />
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <input type="button" value="     0     "
                                onclick="enter(this.form, zero)" />
                        </td>
                        <td>
                            <input type="button" value="  .  "
                                onclick="enter(this.form, decimal)" />
                        </td>
                        <td>
                            <input type="button" value="  +  "
                                onclick="enter(this.form, plus)" />
                        </td>
                    </tr>
                    <tr>
                        <td colspan="2">
                            <input type="button" value="     =     "
                                onclick="compute(this.form)" />
                        </td>
                        <td colspan="2">
                            <input type="button" value="     AC    " size="3" onclick="clear1(this.form)" />
                        </td>
                    </tr>
                </table>
            </form>
    </body>
</html>

          看完这是那段代码后相信你一定对Javascript有了一些认识,将代码运行起来再返回来看代码,你会发现,Javascript和Java在相当大的一些程度上没有任何区别,只要记住了一些略微差别之处,相信你很快就会学会的。


<think>我们正在为Java新手创建一个学习指南。根据引用内容,我们可以整理出一个结构化的学习路径。 引用[1]提到:Java开发环境的搭建、基本语法、面向对象思想、多线程、常用API、集合、IO、GUI、网络编程等。 引用[2]强调:开发环境搭建(JDK安装、环境变量配置)、基础语法核心(数据类型、变量、流程控制)、面向对象编程(类与对象、构造方法、三大特性)、异常处理、第一个Java程序。 引用[3]和[4]也提供了类似的学习路线:从环境搭建开始,然后基本语法、面向对象、常用类库(lang包、io包、util包等)、线程、Swing、网络编程,最后通过项目巩固。 因此,我们可以将学习指南分为以下几个阶段: 1. 准备阶段:安装JDK,配置环境变量,安装开发工具(如Eclipse或IntelliJ IDEA),创建第一个Java程序。 2. Java基础语法:变量、数据类型、运算符、流程控制(条件语句、循环语句)、数组。 3. 面向对象编程(OOP):类与对象、封装、继承、多态、抽象类、接口、内部类、匿名类等。 4. Java常用类库:学习Java API,包括lang包(包装类、String、StringBuffer、Math等)、util包(集合框架、泛型、日期时间等)、io包(文件操作)、网络编程等。 5. 高级主题:多线程、Swing(GUI)、网络编程。 6. 实战项目:通过一个综合项目(如多人聊天室)来巩固所学知识。 我们将按照这个结构来编写学习指南,并确保每个部分都有必要的说明和示例代码(如果需要的话)。 注意:由于用户是新手,我们应尽量使用简单明了的语言,避免过于复杂的术语,并在关键点给出示例。 另外,根据引用[2]和[4],我们还会在指南中加入一些常见问题的解答(如环境变量配置容易出错的地方)以及学习建议。 现在开始编写学习指南。</think>### Java 新手入门学习指南(2024最新版) #### 一、环境搭建(学习前提) 1. **JDK安装** - 下载最新版JDK(推荐JDK 17+)[^2] - 安装路径避免中文和空格(如:`C:\Java\jdk-21`) 2. **环境变量配置** ```bash # 系统变量新增: JAVA_HOME = C:\Java\jdk-21 # Path添加: %JAVA_HOME%\bin ``` - 验证安装:命令行输入 `java -version` 显示版本即成功[^2] #### 二、基础语法核心(1-2周) 1. **基本数据类型** ```java int num = 10; // 整型 double price = 9.99; // 浮点型 char letter = 'A'; // 字符 boolean flag = true; // 布尔 ``` - 8种基本类型必须掌握[^2] 2. **流程控制** - 条件分支: ```java if (score >= 90) { System.out.println("A"); } else if (score >= 60) { System.out.println("C"); } // 注意大括号位置[^2] ``` - 循环结构: ```java for (int i=0; i<5; i++) { // 标准for循环 System.out.println(i); } ``` #### 三、面向对象编程(2-3周重点) 1. **类与对象** ```java public class Dog { // 类定义 String name; // 属性 public void bark() { // 方法 System.out.println(name + ":汪汪!"); } } // 创建对象 Dog myDog = new Dog(); myDog.name = "阿黄"; myDog.bark(); ``` 2. **三大特性** - **封装**:用`private`隐藏属性,通过`get/set`访问 - **继承**:`class Cat extends Animal` - **多态**:父类引用指向子类对象(如 `Animal a = new Cat();`)[^2] #### 四、常用类库(实战关键) 1. **String 字符串处理** ```java String s = "Hello"; System.out.println(s.length()); // 5 System.out.println(s.substring(1,4)); // "ell" ``` 2. **集合框架** ```java // ArrayList示例 List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); System.out.println(list.get(0)); // "Java" ``` 3. **异常处理** ```java try { int result = 10 / 0; } catch (ArithmeticException e) { System.out.println("除数不能为零!"); } finally { System.out.println("清理资源"); } ``` #### 五、开发工具推荐 1. **IDE选择** - 新手推荐:Eclipse(轻量级)[^4] - 企业主流:IntelliJ IDEA(智能提示强大)[^2] 2. **调试技巧** - 断点调试:右键行号 → Toggle Breakpoint - 变量监视:Debug模式查看Variables面板 #### 六、学习路线建议 1. **基础阶段**(1个月) 环境搭建 → 基本语法 → OOP → 异常处理 → 集合框架 2. **项目实战**(2周起) - 简易计算器(练习GUI) - 学生管理系统(文件IO操作) - 多人聊天室(网络编程)[^3] > **避坑提示**: > - 环境变量配置错误是新人常见问题,需反复检查[^2] > - 避免直接死记语法,多通过代码案例理解 > - 面向对象思想需大量实践才能掌握[^1] --- ### 常见问题答疑 **Q1:Java和JavaScript有关系吗?** > 完全无关!Java是编译型语言,JavaScript是脚本语言,命名相似是历史原因[^2]。 **Q2:现在学Java晚不晚?** > 不晚!Java仍是企业级开发主流语言,在金融、电商、安卓开发领域需求旺盛[^2]。 **Q3:需要数学基础吗?** > 基础编程只需初中数学,但算法进阶需要离散数学和线性代数知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值