JS-学习

3 篇文章 0 订阅

一、为什么学习JS?

- 页面内容处理

- 数据的校验

- 页面动画的处理

- 通过代码控制浏览器的一些DOM行为

二、JS的特点

- 运行在浏览器上的脚本语言

- 脚本语言, 比较简单的程序, 不需要编译就可以运行

- 基于对象的语言, 没有“继承”的特点

- 事件驱动

- 简单性

- 不能访问本地硬板, 不能将数据存储到服务器

- JS本身依赖于浏览器, 跨平台性比较强

JS和Python的区别:

- 基于对象和面向对象

- 运行位置不同, Python运行于服务器端, JS运行于客户端的小规模语言

HTML:骨架

CSS:衣服

JS:可以互动

三、JS的引入方式

一、内嵌式引入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // 内嵌式引入
        // 定义一个方法
        function fun(){
            alert("你好");
        }
        // 
    </script>
</head>
<body>
    <input type="button" value="点我呀" onclick="fun()">
</body>
</html>

二、外链式引入

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 链接式引入
        1. 提高代码利用率
        2. 降低代码维护难度

        - 一个页面可以引入多个不同js文件
        - 一个页面上可以有多对script标签, 位置也并不是一定要放在header标签里面
        - script标签如果用于引用外部文件就不能再在里面嵌入js代码
    -->
    <script src="./JS/myjs1.js"></script>
    <script src="./JS/myjs2.js"></script>
    <!-- <script src="URL网络路径"></script> -->
    <script>
        function fun3(){
            alert("内嵌式")
        }
    </script>
</head>
<body>
    <input type="button" value="点我呀" onclick="fun1()">
    <input type="button" value="点我呀" onclick="fun2()">
    <input type="button" value="内嵌式" onclick="fun3()">
</body>
</html>

外链式引入可以分为两个, 一个是引入本地文件, 另一个是引入网络文件, 引入本地文件的时候一定要注意路径问题。

四、JS中的流程控制

- 顺序结构

- 分支结构if  switch for

- 循环结构while  do_while  for

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 

     -->
     <script>
        // var i = 10;
        //  if(i == 12 || i == 1 || i == 2){
        //     alert("大约在冬季!");
        //  }else if(i >= 3 && i <= 5){
        //     alert("春季");
        //  }else if(i >= 6 && i <= 8){
        //     alert("夏天到了")
        //  }else if(i >= 9 && i <= 11){
        //     alert("秋天到了")
        //  }else{
        //      alert("月份有误!")
        //  }
        var i = 7;
        if(i == 1 || i ==12 || i == 2){
            alert("冬天!");
        }else if(i >= 3 && i <= 5){
            alert("春季");
        }else if(i >= 6 && i <= 8){
            alert("夏季")
        }else if(i >= 9 && i <= 11){
            alert("秋季!")
        }else{
            alert("月份有误!")
        }
        switch(i){
            case 3:
            case 4:
            case 5:
                alert("春天");
                break;
            case 6:
            case 7:
            case 8:
                alert("夏天");
                break;
            case 9:
            case 10:
            case 11:
                alert("秋天");
                break;
            case 12:
            case 1:
            case 2:
                alert("冬天");
                break;
            default:
                alert("您输入的月份有误!");
        }
     </script>
</head>
<body>
</body>
</html>

注意:

在使用switch--case的时候一定要加上break

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var i = 1;
        while(i <= 10){
            alert(i);
            i++;
        }

        var sum = 0;
        var j = 0;
        do{
            sum += j
            j++;
        }while(j <= 10);
        alert(sum)

        var sum2 = 0;
        for(var z = 1; z <= 10; z++){
            sum2 += z;
        }
        alert(sum2);
    </script>
</head>
<body>
    
</body>
</html>

流程控制语句小练习

打印九九乘法表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        for(var i = 1; i <= 9; i++){
            for(var j = 1; j <= i; j++){
                document.write(i + "*" + j + "=" + i*j)
                document.write("\t&nbsp;&nbsp;&nbsp;");
            }
            document.write("<br/>");
        }
    </script>
</head>
<body>
    
</body>
</html>

五、 JS中函数的声明

定义函数的三种方法:

第一种方法:

function 函数名(){

}

第二种方法:

var 函数名  = function(){

}

第三种方法:

var 函数名 = new  Function("js代码!");

注:

第三种方法并不常用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        function func1(){
            alert("Hello World!");
        }
        var func2 = function(){
            alert("你好!");
        }
        var func3 = new Function("alert('你非常好!');");

        func1();
        func2();
        func3();
    </script>
</head>
<body>
    
</body>
</html>

函数的参数

传入的实参和形参数量可以不同。多传参数相当于没有传。

方法本身可以作为参数,但是这种方法并不常见。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        function func1(a, b, c){
            alert("a:"+a);
            alert("b:"+b);
            alert("c:"+c);
        }
        func1(10, '20', false);
        func1(1, 2);
        func1(1, 2, 3, 4, 5);

        function func2(a, b){
            return a * b;
        }
        alert(func2(1, 2))

        function func3(a, b){
            return a + b;
        }
        function func4(a){
            return a(1, 2);
        }
        alert(func4(func3));
    </script>
</head>
<body>
    
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值