JavaScript学习总结

本文阅读 4 分钟
首页 代码,Java 正文

文章目录 文章目录 @TOC 学习总结: JavaScript引入方式: 内部脚本: 外部脚本: 案例: JavaScript基础语法: 书写语法: 输出语句: 变量: 数据类型 运算符: 流程控制语句: 函数: JavaScript常用对象: Array对象: String: 自定义对象: BOM: windows:浏览窗口对象 定时器案例: history:历史记录对象 location:地址栏对象 DOM: 获取Element对象 事件监听: 事件绑定: 常见事件: 正则表达式

JavaScript引入方式:

内部脚本:

img

外部脚本:

img

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
//内部脚本
<!--<script>
    //弹出警告框
    alert("hello JavaScript!");
</script>-->

//外部脚本
<script src="../js/test.js"></script>
</body>
</html>

test.jsp代码:
 //弹出警告框
   alert("hello JavaScript!");

运行结果: img

JavaScript基础语法:

书写语法:

img

输出语句:

img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    window.alert("马奎斯"); //window可以省略
    document.write("罗西"); //写入Html页面
    console.log("Hello console!");   //写入浏览器控制台
</script>

</body>
</html>

这个是写入浏览器控制台的运行截图: img

变量:

img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    /*var: 1.作用域,全局变量 2.变量可以重复定义*/

    /*{ var t=12; var t=34; } alert(t)*/

    /* let: 1.只在let关键字所在代码块内有效 2.不可以重复定义 */

    /*{ let t=12; //报错 let t=34; } alert(t) //运行错误*/

    /*const a=12; a=13; //报错*/
</script>

</body>
</html>

数据类型

img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //String
    var char='a';
    var name='小马哥';
    var users="马奎斯";
    alert(typeof char);
    alert(typeof name);
    alert(typeof users);

    //number
    var a=12;
    var b=12.12;
    alert(typeof a);
    alert(typeof b);

    //null
    var n=null;
    alert(typeof n);  //object

    //boolean
    var b1=true;
    var b2=false;
    alert(typeof b1);
    alert(typeof b2);

    //undefined
    var un;
    alert(typeof un);

</script>

</body>
</html>

运算符:

img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    /* ==: 先判断类型是否一致,不一致则进行类型转换,然后进行比较其值,一致直接进行比较其值。 var a=12; var b="12"; alert(a==b); //true */
    /* ===: 先判断类型是否一致,不一致返回false,一致返回true var a=12; var b="12"; alert(a===b); //flase */

    /* 类型转换: 1.其他类型转换为number //a.String:按照字符串的字面值,转换为数字,如果字面值不是数字返回NaN var str=+"10"; alert(str+1); //11 var str="9"; alert(parseInt(str)+1); //10 //b.boolean:true返回1,false返回0 var flag=+true; alert(flag) //1 var flag1=+false; alert(flag1) //0 */

    /* 其他类型转换为boolean 1.number:0和NaN转换为false,其他转换true 2.String:空字符串转换为false,其他转换为true 3.null:转换为false 4.undefined:转换为false */
    //var flag=0; //false
    //var flag=''; //false
    //var flag=null; //false
    var flag=undefined;    //false
    if (flag){ 
        alert("转换为true")
    }
    else { 
        alert("转换为false")
    }



</script>

</body>
</html>

流程控制语句:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //if
   /* var a=12; if (a==12){ alert(a); }*/

   //switch
    /*var num=1; switch (num) { case 1: alert("星期一"); break; case 2: alert("星期二"); break; case 3: alert("星期三"); break; case 4: alert("星期四"); break; case 5: alert("星期五"); break; case 6: alert("星期六"); break; case 7: alert("星期日"); break; default: alert("输入日期有误!") break; }*/

    //for
   /* var sum=0; for (let i = 0; i <=100 ; i++) { sum+=i; } alert(sum); //5050*/

   //while
    /*var sum=0; var i=0; while (i<=100){ sum+=i; i++; } alert(sum); //5050*/

    //do...while
    var sum=0;
    var i=0;
    do { 
        sum+=i;
        i++;
    }while (i<=100){ 
        alert(sum);  //5050
    }
    
</script>

</body>
</html>

函数:

img img

案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //方式1
   /* function add(a,b){ return a+b; } var result=add(10,40); alert(result); //50*/

    //方式2
    var add=function (a,b) { 
        return a*b;
    }
    //var result=add(10,10);
    var result=add(10,10,10,10);
    alert(result);  // 100


</script>

</body>
</html>

JavaScript常用对象:

Array对象:

img img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
  /* //方式一 var arr=new Array(1,2,3); alert(arr); //1,2,3 //方式二 var arr1=[1,2,3]; alert(arr1); ///1,2,3 //重新赋值 arr[0]=8; alert(arr); //8,2,3 //JavaScript数组相当于java中的集合 //特点: //1.变长 arr[6]=20; alert(arr[6]); //20 //alert(arr[5]); //undefined //2.变类型 arr[5]="Hello"; alert(arr[5]); //Hello alert(arr); //8,2,3,,,Hello,20*/

  //属性:length 数组中元素的个数
   /* var arr=[1,2,3,4,5]; for (let i = 0; i <arr.length ; i++) { alert(arr[i]); }*/
   //方法:push 添加方法
  var arr=[1,2,3,4,5];
  //arr.push(6);
  //alert(arr); //1,2,3,4,5,6
    //splice 删除方法
    arr.splice(0,3);
    alert(arr);  //45



</script>

</body>
</html>

String:

img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //定义
    //方式一
    var str=new String("abc");
    //方式二
    var str1="abc";
    var str2='abc';

    //属性
    //length字符串的长度
    alert(str.length); //3

    //方法
    //trim()取出字符串前后两段的空格
    var str3=" abc ";
    alert(0+str3+10);  //0 abc 10
    alert(0+str3.trim()+10); //0abc10
</script>

</body>
</html>

自定义对象:

img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var person={ 
        name:"小明",
        age:12,
        sleep:function () { 
            alert("睡觉!")
        }
    };
    alert(person.name);
    alert(person.age);
    person.sleep();
</script>

</body>
</html>

BOM:

img

windows:浏览窗口对象

img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>

    //alert
    window.alert("abc");
    alert("abc");

    //confirm 点击确定返回true,点击取消返回false
    let b = confirm("您确定要删除吗?");
    alert(b);

    if (b){ 
        //删除逻辑
    }

    //定时器
    //setInterval(function,毫秒值) 在一定时间间隔内执行一次function,循环执行
    //setTimeout(function,毫秒值) 在一定时间间隔内执行一次function,只执行一次

    setInterval(function () { 
        alert("间隔三秒循环执行")
    },3000)

    setTimeout(function () { 
        alert("间隔三秒执行一次")
    },3000)



</script>

</body>
</html>

定时器案例:

开灯和关灯循环切换:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="button" onclick="on()" value="开灯">
<img id="myImage" border="0" src="../images/off.gif" style="...">
<input type="button" onclick="off()" value="关灯">

<script>
    function on() { 
        document.getElementById('myImage').src='../images/on.gif';
    }
    function off() { 
        document.getElementById('myImage').src='../images/off.gif';
    }

    //定时器
    var x=0;
    setInterval(function () { 
        if (x%2==0){ 
            on();
        }else { 
            off();
        }
        x++;

    },1000)
</script>

</body>
</html>

运行将结果:开灯和关灯隔一秒循环切换。 img img

history:历史记录对象

img

location:地址栏对象

img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    alert("跳转到百度");
    location.href="https://www.baidu.com";
</script>

</body>
</html>

运行结果: img 点击确定后跳转: img

DOM:

img img

获取Element对象

img

事件监听:

img

事件绑定:

img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="button" value="点击" onclick="on()">
<br>
<input type="button" value="再次点击" id="ok">
<script>
    function on() { 
        alert("被点击了")
    }

    document.getElementById("ok").onclick=function () { 
        alert("再次被点击了")

    }
</script>

</body>
</html>

运行结果: img img

常见事件:

img

正则表达式

img img 案例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
            var reg=/^\w{ 3,6}$/;
            //var str="ab"; //false
            var str="abc";  //true
            let b = reg.test(str);
            alert(b);
</script>

</body>
</html>
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_43514330/article/details/125232534
-- 展开阅读全文 --
安全面试之XSS(跨站脚本攻击)
« 上一篇 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复