• 笔记-JavaWeb学习之旅7


    JavaScript基础

    概念:一门客户端脚本语言,运行在客户端浏览器中,每一个浏览器都有JavaScript的解析引擎,是一个脚本语言,不需要编译,直接就可以被浏览器解析执行。

    JavaScript = ECMAScript+JavaScript自己特有的东西(BOM+DOM)

    ECMAScript:客户端脚本语言的标准

    ​ 基本语法:

    与html结合的方式有两种内部JS和外部JS

    注释:单行注释//,多行注释/**/

    数据类型:1.原始数据类型(number,string,boolean,null,undefined)2.引用数据类型:对象

    九九乘法表练习
    <!DOCTYPE html>
    <!--suppress JSAnnotator -->
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            td{
                border:1px solid;
            }
        </style>
        <script>
            document.write("<table align='center'>");
            for(var i= 1;i<=9;i++){
                document.write("<tr>");
                for(var j=1;j<=i;j++){
                    document.write("<td>");
                    var stri = i+"";
                    var strj = j+"";
                    var str = strj+"*"+stri+"=";
                  document.write(str+(i*j)+"&nbsp &nbsp &nbsp");
                    document.write("</td>");
                }
                document.write("</tr>");
            }
            document.write("</table>");
        </script>
    </head>
    <body>
    
    </body>
    </html>
    

    img

    JavaScript:Function对象

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            //创建Function对象的方式
            //第一种方式创建对象
            function fun1(a,b){
                document.write(a+b);
            }
            // 调用第一种方法
            //fun1(2,5);//7
            //第二种方式创建对象
            var fun2=function(a,b){
                document.write(a+b);
            }
            //调用第二种方法
            fun2(2,8);//10
            //Function的length属性,代表形参的个数
            document.write(fun2.length);//2
            //定义一个相同名称的方法,会覆盖之前的
            function fun1(a,b){
                document.write(a-b);
            }
            fun1(2,3)//-1
            //求任意个数的和
            //在啊方法的声明中有一个隐藏的内置对象(数组)
            //他会封装所有的实际参数
            function add(){
                var sum= 0;
                for(var i =0 ;i < arguments.length;i++){
                    sum+=arguments[i];
                }
                return sum;
            }
            var sum = add (1,2,3);
            alert(sum);
        </script>
    </head>
    <body>
    
    </body>
    </html>
    
    Array对象

    Array对象创建的三种方式

    var arr = new Array(元素列表);

    var arr = new Array(默认长度);

    var arr = [元素列表];

    Array对象的常用方法

    join(参数):将数组中的元素按照指定的元素进行拼接

    特点:js中,数组元素的类型是可变的,数组长度是可变的

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            //创建对象
            var arr1 = new Array(1,2,3,"hahhaha");//数组也可以存放不同的数据类型
            var arr2 = new Array(5);//只有一个元素时候代表的是数组的长度
            var arr3 = [1,2,3,4];
            //输出数组,将会直接打印数组的内容
            document.write(arr1+"<br>");//1,2,3,"hahhaha"
            document.write(arr2+"<br>");//,,,,
            document.write(arr3+"<br>");//1,2,3,4
            //调用Array的join方法,将会按照指定格式打印数组
            document.write(arr1.join("$"));
    
        </script>
    </head>
    <body>
    
    </body>
    </html>
    

    Date对象

    创建方式 :var date = new Date();

    常用方法:

    toLocaleString():返回当前date对象对应的本地字符串格式

    getTime():获取毫秒值,返回当前如期对象描述的时间到1970年1月一日0点的毫秒值差

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            var date = new Date();
            document.write(date+"<br>");//Wed Jun 05 2019 16:09:06 GMT+0800 (中国标准时间)
            document.write(date.toLocaleString()+"<br>");//2019/6/5 下午4:09:06
            document.write(date.getTime()+"<br>")//1559722146361
        </script>
    </head>
    <body>
    
    </body>
    </html>
    
    Math对象:

    不需要创建,直接可以调用方法

    常用方法:

    random()返回0~1之间的随机数,含0不包含1

    ceil(x):对数字进行向上舍入,

    floor(x);对数字进行向下舍入

    round(x),把数四舍五入

    去1~100之间多的随机整数

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            var number = Math.round(Math.random()*100)+1;
            document.write(number)
        </script>
    </head>
    <body>
    
    </body>
    </html>
    

    RegExp:正则表达式对象

    正则表达式:定义字符串的组成规则

    1.单个字符:[],比如[a],[ab],[a-zA-z0-9],特殊符号代表的单个字符,d:单个数字字符[0-9],w:单个单词字符[a-zA-z0-9_]

    2.量词符号:

    ?:代表出现0次或1次,

    *:表示出现0次或多次

    +:出现1次或多次

    {m,n}:表示 m<=数量 <=n

    {,n}:最多n次

    {m,}最少m次

    开始结束符号 :^表示开始,$表示结束

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            //验证字符串是否符合正则表达式
            var reg = /^w{6,12}$/;
            var name="zhangsan";
            var flag = reg.test(name);
            alert(flag);
        </script>
    </head>
    <body>
    
    </body>
    </html>
    
    Global对象

    特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用

    常用方法:

    encodeURI():url编码

    decodeURL():url解码

    encodeURIComponent():url编码,编码的字符更多

    decodeURIComponent();url解码

    parseInt:将字符串转为数字,会逐一判断每一个字符是否是数字,直到不是数字为止,会将前边数字部分转为number

    isNaN():判断一个值是否是NaN

    eval():将JavaScript字符串,并把它作为脚本代码来执行

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
           var str = "云想衣裳花想容";
           //编码
           var encode = encodeURI(str);
           document.write(encode+"<br>");
           var s = decodeURI(encode);//%E4%BA%91%E6%83%B3%E8%A1%A3%E8%A3%B3%E8%8A%B1%E6%83%B3%E5%AE%B9
           document.write(s+"<br>");
           //编码
            var encode1 = encodeURIComponent(str);
            document.write(encode1);
            //将字符串装换为数字
            var str1 = "123abc";
            var number = parseInt(str1);
            alert(number);//123
    		//如果是a123abc会变成NaN类型
    
        </script>
    </head>
    <body>
    
    </body>
    </html>
    

    DOM简单学习:控制HTML文档的内容

    绑定事件的两种方式

    1.直接在html标签上,指定事件的属性操作,属性值就是代码

    2.通过js获取元素对象,指定事件属性,设置一个函数

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <!--//onclick单击事件-->
        <!--//直接在html标签上,指定事件的属性,属性值就是代码-->
        <!--只要图片一接触到单击就会执行相应的代码-->
        <img src="img/off.gif" onclick="fun();">
        <img id="light2" src="img/on.gif">
    
        <script>
            function fun(){
               for(var i=0;i<100;i++){
                   alert("你还可以点我最后一次");
               }
            }
            function fun2(){
                alert("咋老点我?")
            }
            var ligth2 = document.getElementById("light2");//获取id为light2元素对象
            ligth2.onclick=  fun2;//操作元素对象
        </script>
    </body>
    </html>
    

    电灯开关案例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <!--导入图片-->
        <img src="img/off.gif" id="hight">
        <!--获取元素对象,改变属性-->
        <script>
            var hight = document.getElementById("hight");
            //绑定事件,添加要执行的代码
            var flag = false;
            hight.onclick=function(){
                //灯off代表状态为false
                if(flag){
                    hight.src="img/off.gif";
                    flag=false;
                }else{
                    //当单击的时候,灯如果状态为on,则单击后关闭灯
                    hight.src="img/on.gif";
                    flag=true;
                }
            }
        </script>
    </body>
    </html>
    
    BOM

    1.概念:Browser Object Model 浏览器对象模型

    将浏览器的各个组成部分封装成对象

    2.组成:

    window:窗口对象

    Navigator:浏览器对象

    Screen:显示器屏幕对象

    History:历史记录对象

    Location:地址栏对象

    window:窗口对象

    创建方式:无需创建,可以直接方法名调用

    常用方法:alert(),confirm(),prompt()

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <button id="CloseWindow">关闭窗口</button>
        <button id="NewWindow">打开窗口</button>
        <script>
            var newwindow;
            var nw = document.getElementById("NewWindow");
            nw.onclick=function(){
                //这个open方法返回的是window对象
               newwindow=open("https://www.baidu.com");
            }
            //document对象的方法getElementById会返回参数指定ID的对象
            var cw = document.getElementById("CloseWindow");
            function fun(){
              //关闭打开的新窗口
              newwindow.close();
          }
            //绑定元素对象
            cw.onclick=fun;
    
    
        </script>
    </body>
    </html>
    
  • 相关阅读:
    基于Onvif协议网络摄像头实现 互联网无插件直播解决方案EasyNVR如何在ffmpeg增加H264编解码模块?
    RTSP/Onvif安防网络摄像头无插件直播流媒体服务EasyNVR如何实现网络摄像机Onvif/RTSP接入直播与云台控制
    RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播方案EasyNVR之主要功能模块及相关技术特点与性能指标分析
    RTSP拉流流媒体服器软件EasyNVR如何通过按需直播降低企业服务带宽瓶颈-高性能稳定分发全终端无插件直播
    RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR证书配置页面按钮无法正常打开和关闭的问题解析
    如何从海康平台上拉流接入RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR?
    RTSP/Onvif拉流视频流媒体服方案EasyNVR如何通过按需直播降低企业服务带宽瓶颈/高性能稳定分发/全终端无插件直播
    RTSP网络摄像头/海康大华硬盘录像机网页无插件直播方案EasyNVR如何实现RTMP/FLV/HLS/RTSP直播流分发
    安防摄像头RTSP/Onvif协议网页无插件直播视频流媒体服务器EasyNVR之按需直播如何有效利用最大上行带宽
    RTSP安防网络摄像头/海康大华硬盘录像机网页无插件直播流媒体服务器EasyNVR授权方式之加密机如何成功授权
  • 原文地址:https://www.cnblogs.com/train99999/p/10982703.html
Copyright © 2020-2023  润新知