JavaScript基本知识

本文详细介绍了JavaScript的基本概念,包括其特点、组成、与HTML的结合方式、变量声明与数据类型、运算符、数组与字符串操作等核心内容。
关于:JavaScript:

一,JavaScript
    1,    简介:基于对象和事件驱动的语言,应用于客户端(浏览器)
        特点:交互性,安全性,跨平台性
        java和JavaScript的区别(雷锋和雷峰塔)
        JavaScript 的组成:
            1)ECMAScript:由ECMA组织制定语句,语法
            2)BOM:browser object model  浏览器对象模型
            3)DOM: document object model 文档对象模型
    2,js和html的结合方式:两种
        第一种:使用html中的标签<script type="text/javascript">js代码</script>
            <script type="text/javascript">
                alert("asd");
            </script>
        第二种:使用html的标签,引入外部js文件
            <script type="text/javascript" src="js文件路径"></script>
            使用第二种时要注意两点:
                1)使用第二种时,不要再在script标签里面写js代码了,写了也不执行
                2)使用第二种时,结束script标签为<script>,不能在标签内结束
                <script type="text/javascript" src="js文件路径">
                    //这里面是不能再写代码,写了也不执行
                </script>
    3,js的变量声明和数据类型
        1)声明变量都用一个关键字var
        2)js的原始类型
            第一种,string:字符串类型
            第二种,number:数字类型
            第三种,boolean:布尔类型 false true
            第四种,null: 表示对象引用为空
            第五种,undefined;声明不赋值
        3)typeof:查看当前变量的类型
    4,js的引用类型和类型转换
            引用对象:
                Object 对象:所有对象都由这个对象继承而来
                Boolean 对象;Boolean原始类型的引用类型
                Number 对象;Number 原始类型的引用类型
            类型转换
                转换成字符串
                转换成数字:parseInt()和parseFloat()
                强制类型转换
                Boolean(value) - 把给定的值转换成 Boolean 型;
                Number(value) - 把给定的值转换成数字(可以是整数或浮点数);
                String(value) - 把给定的值转换成字符串;
    5,js的语句
        1)if语句
        2)swith语句
        3)for循环语句
        4)while循环语句
        5)使用document.write()向页面输出内容
            可以向页面输出变量,也可以向页面输出html代码
                document.write(i);
                document.write("<hr/>");
    6,99乘法表
        经典案列;
        方法一:
            <script type="text/javascript">
                document.write("<table border='1' bordercolor='red' width='500'>");
                for(var i=1;i<=9;i++){
                    document.write("<tr>");
                    for(var j=1;j<=i;j++){
                        document.write("<td>");
                        document.write(j+"*"+i+"="+i*j);
                        document.write("</td>");
                    }
                    document.write("</tr>");
                }
                document.write("</table>");
            </script>
        方法二:
            <script type="text/javascript">
                var arr=new Array();
                arr.push("<table border='1' bordercolor='red' width='1000'>");
                var num=9;
                for(var i=9;i>=1;i--){
                    arr.push("<tr>");
                    for(var j=num;j>=1;j--){
                        arr.push("<th align='left'>");
                        arr.push(num+"*"+j+"="+num*j);
                        arr.push("</th>");
                    }
                    num--;
                    arr.push("</tr>");
                }
                arr.push("</table>");
                var aa=arr.join(" ");
                document.write(aa);
            </script>
    7,js的运算符
        和java里面的一样
        var b="10";
        document.write(b+1);//字符串的拼接
        document.write(b-1);//正真相减的运算
        
        var c="a";(不能相减)
        document.write(c-1);//NaN
        
        var a=true;
        document.write(a+1);//结果是2 true的时候当成1来运算
        var aa=false;
        document.wrtie();
        
        ==和===的区别
            ==比较的是值
            ===比较的是值和类型
            
    8,js的数组
            js数组定义方式:
            第一种: var arr1=[];
            第二种: var arr2=["asd",21,true];
            第三种: var arr3=new Array(3);
                    数组长度为3,还可以继续添加,没意义
            第四种; var arr4=new Array();
            第五种; var arr5=new Array(1,2,3);
                    里面有多个数字,就表示里面的值1 2 3
            for(var i=0;i<arr.length;i++){
                var a=arr[i];
                document.write(a);
            }
    9,js的string对象
            1)字符串对象
                var a="abc"
            2)属性 length字符串的长度
            3)方法
                bold()  使用粗体显示字符串
                fontcolor()        使用指定的颜色来显示字符串
                fontsize()        使用指定的尺寸来显示字符串
                link()         将字符串显示为链接
                charAt() 返回在指定位置的字符。 如果位置不存在字符,返回空字符串""
                concat() 连接字符串
                indexOf() 检索字符串,得到检索的字符的位置,如果没有找到返回-1
                split() 把字符串分割为字符串数组
                substr() 从起始索引号提取字符串中指定数目的字符。
                         第一个参数表示从哪个位置开始,第二个参数表示向后取几个位置的值
                substring() 提取字符串中两个指定的索引号之间的字符
                         第一个参数表示从哪个位置开始,第二个参数到哪个位置结束(不包含这个位置)
    10,js的Array对象
            1)属性
                length长度
            2)方法
                concat():连接数组
                join():把数组根据指定字符进行分割
                pop() 删除并返回数组的最后一个元素
                push() 向数组的末尾添加元素,并返回新的长度
    11,js的bom对象
        setInterval("执行的js代码",毫秒数) 在指定的时间内,重复执行js代码
            有两个参数
            第一个参数要执行的js代码(js的方法),第二个参数是时间(毫秒数)
            代码
        setInterval("alert('setinterval');",3000);

        setTimeout("执行的js代码",毫秒数) 在指定的时间之后,执行js代码,执行一次
            有两个参数
            第一个参数要执行js代码(js的方法),第二个参数是时间(毫秒数)
            代码
            setTimeout("alert('settimeout');",3000);

         clearInterval(id) 取消由 setInterval() 设置的 timeout。
        

         clearTimeout(id) 取消由setTimeout() 方法设置的 timeout。



内容概要:本文介绍了基于改进Retinex算法的视频图像增强技术研究,并提供了相应的Matlab代码实现。Retinex理论源于人类视觉系统对光照变化的适应性,通过分离图像的照度与反射分量,有效提升图像的亮度、对比度和色彩保真度。文中所提出的改进算法旨在克服传统Retinex方法中存在的光晕伪影、噪声放大和计算复杂等问题,可能引入了如多尺度分解、颜色校正或自适应滤波等优化策略,从而实现更自然、清晰的图像增强效果。该研究特别适用于低光照、雾霾、水下拍摄等恶劣成像条件下的视频与图像处理,提升后续视觉分析的准确性。; 适合人群:具备一定图像处理基础和Matlab编程经验的科研人员、研究生及工程技术人员,尤其是从事计算机视觉、视频监控、遥感影像、医学影像或无人机视觉导航等领域研究的专业人士。; 使用场景及目标:① 解决实际应用中因光照不足或环境干扰导致的图像质量下降问题;② 学习和掌握Retinex算法的核心思想及其改进方法;③ 获取可直接运行和调试的Matlab代码,作为相关课题研究或项目开发的技术参考。; 阅读建议:此资源以Matlab代码实现为核心,建议读者在阅读时结合代码逐行分析,理解算法的每一步实现细节。同时,应尝试使用不同的测试图像进行实验,调整算法参数,观察增强效果的变化,从而深入理解算法的性能特点和优化方向。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值