【前端】Java Script

java script(一) java script JavaScript是什么,能干什么? 一个网页的结构,是通过HTML决定的 脑袋,手脚,身体 CSS决定了这个网页的样式 是高是矮,是胖还是瘦,是黑还是白 这个网页的行为是通过JavaScript决定的 走路,跑步,眨眼睛 JavaScript的发展史 它最初由Netscape的Brendan Eich设计。JavaScript是甲骨文公司的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整 阅读详情

在被AI替代前的倔强:学习JavaScript

0. 前言

截止至本文攥写时,Chat GPT 又发布了重磅插件:Code Interpreter,进一步加剧了程序猿被AI取代的忧虑,毕竟,个人学习的速度,甚至一线开发团队整体学习的速度远远比不上 AI 的迭代速度。那怎么办呢,一来我们要拥抱变化,打不过就加入;二来可以在业余,通过补充技术的广度入手,通过技术的学习,脑子里留个印象,方便日后使用工具进行代码生成后,能看懂,会调试。

作为后端程序猿,后端语言的重要性不言而喻,短期内暂时不会被AI取代,但在前端,Java Script 作为应用极广的语言,我们有必要进行系统的学习。

在学习 Java Script 之前,我们首先要掌握 Html 与 CSS 的基础,以便更好地练习与理解。

学习目标
快速学习/复习 Java Script 基础。

参考教程
优快云-参考博文:https://blog.youkuaiyun.com/weixin_43779187/article/details/125831991

注意,本文篇幅较长,可以先收藏,再慢慢看。

1. Java Script

完整的 Java Script 由基本语法结合BOM 、DOM 的概念与操作组成。本小节先介绍 Java Script 相关语法。

1.1 Java Script 特性

  • 属于脚本语言,不需要编译,又浏览器解析执行
  • 支持面向对象
  • 弱类型语言,不太重视类型的匹配
  • 安全性强,交互性强
  • 跨平台,有强大的生态系统

1.2 Java Script 引入方式

与 CSS 类似,Java Script 引入方式分为内联、内部、外部。

1.2.1 内联

内联实际用得较少,通过属性添加,我们了一下即可:

<!-- 内联样式,直接在属性中添加 -->
<input type="button" value="按钮" onclick="alert('Hello JavaScript!')">

1.2.2 内部

内部样式通过<script>标签引入,是我们常用的引入方式:

<script>
    // 浏览器控制台输出
    console.log("Hello JavaScript!")
</script>

注意,<script>标签的位置建议:当我们要定义全局变量时,<script>标签建议写于<head>标签内;当我们要嵌入少量JS代码时,为了使代码在页面加载过程中执行,<script>标签建议写在<body>标签内:

<!DOCTYPE html>
<html>
<head>
  <script src="script.js"></script>  <!-- 引入外部的JavaScript文件 -->
  <script>
    // 在这里定义全局变量或者其他执行的代码
  </script>
</head>
<body>
  <!-- 页面内容 -->
  <script>
    // 在这里编写JavaScript代码
  </script>
</body>
</html>

1.2.3 外部

外部引入方式有利于代码结构化、文件级别代码复用。

但需注意:如果是外部引入的Java Script,<script>标签内就不能写其他内容了。

//外部.js文件的内容
console.log("Hello JavaScript");
    
<!--以下是引入方式-->
<script src="fileName.js"></script>

1.3 Java Script 基本语法

如果您有其他编程语言基础,那么 JS 的语法就可以快速掌握,大部分通用。

1.3.1 变量

JS 变量的声明 通常有 隐式声明(不由任何关键字声明)、var 关键字声明、 let 关键字声明、 const 关键字声明 这几种方式。

全局变量

当我们声明变量时不添加任何关键字时,默认为全局变量:

<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>Java s cript leanring</title>
    <script>
        // 定义全局变量
        x = 1;
    </script>
</head>

var
var 声明的变量比较灵活。当 var 声明的变量在方法内时,该变量的作用域仅为该方法内;当该变量的声明在方法外时,该变量可视为全局变量。 由于 var 过于灵活,不利于作细致的区分,我们现在也用得较少。

<script>
        var z = 0;
        function myFunction(){
            var y = 2;
            console.log(x);
            console.log(x+y);
            console.log(z);
        }
    
        function logz(){
            console.log(z+1);
        }
    
        myFunction();
        logz();
</script>

<script>
        function writeZ(){
            document.write(z);
        }
        writeZ();
</script>

let
用 let 声明的变量作用域在块内,超出该代码块则不可访问。用 let 声明的变量是局部变量。 但值得注意的是,如果我们非要将let声明在代码块外,依然可以视为全局变量,但我们一般不这么用。

<script>
        let a = "hello";
        function fun(){
            let b = "world";
            console.log(b);
        }
        console.log(a);
        fun();
</script>

const
const 关键字声明的是常量,必须在声明时就赋值。常量不可修改。它的作用域特性与let一样,拥有块级作用域。

<script>
        function example(){
            const c = "name";
            console.log(c);
            // 报错,常量不可修改
            // c = "1";
        }

        example();
</script>

1.3.2 数据类型

JS 只有对象类型,没有基本类型。

对象类型

  • String 字符串,可以由双引号或单引号修饰
  • Number 数字,包括整型和浮点数
  • Boolean 布尔类型

特殊类型

  • undefined 未定义,声明了但未赋值
  • null, 空

类型相关常用方法

  • typeof
  • toString :转换为 字符串
  • parse :转换为相应数字类型

综合举例:

<script>
    var a = "hello script";
    let b = 5;
    let c = 1.7;
    let d = true;
	let aString = "这是一个字符串";

    //将以上数据的类型看作文档,写在页面中
    document.write(typeof a);
    document.write(typeof b);
    document.write(typeof c);
    document.write(typeof d);
	document.write(isNaN(aString));
	
	let aNum = "16";
    document.write(typeof aNum);
    let changeNum = parseInt(aNum);
    document.write(typeof changeNum);
    let bNum = "17.3";
    let changeNumb = parseFloat(bNum);
    console.log(typeof changeNumb);
</script>

1.3.3 运算符、控制流程与函数

(1) JavaScript运算符

运算符的 加、减、乘、除、三目、赋值等与JAVA等高级语言相同。

逻辑运算符:只支持短路与、短路或、非,即:&&、|| 、!

比较:
== 双等号:先统一类型,再比较值;
=== 三连等:先比较类型,类型相同后再比较值;

以上与高级语言不同的部分举个例子:

<script>
    let a = true;
    let b = false;
    let c = 15;
    let d = "15";

    //只能使用短路与、或
    document.write(a&&b);

    //比较:===
    console.log(c===d);

    //比较:==
    console.log(c==d);

</script>
(2) JavaScript控制流程

JS的控制流程和JAVA、C等语言基本一致,都有if-else、switch分支、for、while、do-while循环等控制流程。
因为语法基本一致,单词关键词也几乎没有区别,此处不赘述。具体的例子在下面的知识点的例子中体现。

(3) JavaScript方法(函数)

函数是本段落的重点,因为函数的定义方式与调用方式与高级语言略有不同。

函数的声明:
1)使用大写开头的Function:
最不常用,这种方式了解一下即可:

  let f = new Function ("name","age","console.log(name+age)");
  f("Sharry","20");

2)声明方式二:
这种也不算太常用。直接用一个变量接收方法(函数)。

  let f = function (hello,action){
    console.log(hello+action);
  }
  f("您好","请上车");

3)声明方式三:
这是常用的声明方式;

  function f4(x,y){
    return x*y;
  }
  let result = f4(3,4);
  console.log(result)

小总结一下:以上方法的声明,常用的是:

function 方法名(参数){
    方法体;
    //根据业务需要是否要返回值
    return xxx;
}

调用方法:类似于高级语言的方法调用方式。

结合控制流程,举个综合小例子:

<input type="text" id = "i1">
<input type="button" value="平方" onclick="f()">
<div>
    结果:<span></span>
</div>
<script>
    function f(){
        /*获取元素*/
        let i = document.querySelector("#i1");
        let result = document.querySelector("div>span");
        if(isNaN==(i.value)){
            s.innerText = "输入错误!";
            return;
        }
        result.innerText = i.value * i.value;
    }
</script>

1.3.4 异常处理

JavaScript的异常处理通常采用try-catch-finally结构。

直接举个例子体现:

    <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS异常处理</title>
</head>
<body>

<script>
    function f1(){
      document.write("这是一个普通方法f1<br>");
    }
    /*此时如果执行一个没有被定义的语句,例如输出一个未被定义的变量,就会出错
    * 出错不处理的话,之后的代码浏览器都不会执行,因此需要使用try-catch-finally解决
    * */
    try{
      f1();
      //未被获取或者定义的变量,此处querySelector获取的id并不存在
      let c = document.querySelector("#undefinded");
      document.write(c.value);
    }catch (e){
      console.log(e.message);
      document.write("执行了catch里的语句<br>");
    }finally{
      document.write("和JAVA语言一样,finally里的代码无论前面异常是否catch到,必执行<br>");
    }

    document.write("最后执行的代码");
</script>

</body>
</html>

1.3.5 对象

前面提到过,JS支持面向对象,在JS中,没有基本数据类型,所有数据类型都是对象类型。同时JS是弱类型语言,在一些情况下不需要进行特意的数据类型转换,举个例子:

    <!--JS弱类型例子-->
    <script>
        //先把a定义成字符串
        let a = "string";
        //再将a赋值成数字,直接转换成number类型
        a = 123;
        document.write(typeof a);
    </script>

    <!--JS对象例子-->
    <script>
        //类似于JAVA的new对象
        let b = new Number(123);
        document.write("<br>"+b.toString());
        document.write("<br>");
        document.write(typeof b);
    </script>

接下来介绍JS常见对象及常用方法。

(1) 数字Number

Number对象是数字对象。

创建Number:

    let b = new Number(123);

常见方法

  • isNaN():是否未非数字,是的话未true,否的话未false
  • toFixed():返回小数表达
  • toExponential():返回科学计数法表达
  • valueof():返回数字类型

一起举个例子:

    <!--数字常用方法例子-->
    <script>
        let c = new Number(123);
        //是否未数字
        document.write("<br>"+isNaN(c));
        document.write("<br>");
        //小数表达
        document.write(c.toFixed());
        document.write("<br>");
        //科学计数
        document.write(c.toExponential());
        document.write("<br>");
        //数字类型
        let d = c.valueOf();
        document.write(typeof d);
    </script>
(2) 字符串String

JS的字符串与JAVA的字符串很像,这里介绍一些常见方法:

常见方法

  • concat:字符串拼接
  • indexOf:字符出现的位置
  • replace:替换字符
  • localeCompare:比较字符串是否相同
  • split:将字符串转换成数组

这些方法与JAVA中的String相关方法类似,这里直接举一个例子体现一下:

    <script>
    let s = new String("AString");
    //返回指定位置字符
    document.write(s.charAt(0));
    document.write("<br>");

    //拼接
    let target = "Yp!";
    s = s.concat(target);
    document.write(s);
    document.write("<br>");

    //比较是否相同
    let isTheSame = "AStringYp!";
    //0:相等
    document.write(s.localeCompare(isTheSame));
    document.write("<br>");
    //1:字母顺序靠前
    document.write(target.localeCompare(isTheSame));
    document.write("<br>");
    //-1:字母顺序靠后
    document.write(isTheSame.localeCompare(target));
    document.write("<br>");

    //替换掉字符,此方法可以一个也可以是多个
    let replace = s.replace("t","T");
    document.write(replace);
    document.write("<br>");

    //分割成数组
    let a = "It is a String";
    let b = a.split(" ");
    document.write(b);

</script>
(3) 数组Array

JS的数组的长度可以随时发生变化,与JAVA略有不同。

创建数组:

 <script>
    //创建新数组,没有赋值的情况下元素都是undefined
    let arr1 = new Array(3);
    //返回长度
    console.log(arr1.length);
    //循环遍历、赋值
    for (let i = 0; i < arr1.length; i++) {
        arr1[i] = i;
        console.log(arr1[i]);
    }
    //直接赋予长度与初值的创建方法
    let arr2 = new Array(5,7,84,2);
    for (let j = 0 ; j < arr2.length ; j++){
        document.write(arr2[j]);
    }
</script>

数组常用方法:

  • reverse():反转数组
  • sort():排序
  • concat():连接数组
  • splice():删除和插入元素

例子:

    <script>
    let arrOne = new Array(1,2,3);
    let arrTwo = new Array(55,6,89,32,3);
    //连接两个数组
    let arrResult = arrOne.concat(arrTwo);
    document.write(arrResult);
    document.write("<br>");

    //排序
    document.write(arrResult.sort());
    document.write("<br>");

    //反转
    document.write(arrOne.reverse());
    document.write("<br>");

    //删除、插入
    let arrThree = new Array(9,8,7,6,5,4,3,2,1,0);

    //删除 起始位置,删除个数
    arrThree.splice(0,2);
    document.write(arrThree);
    document.write("<br>");

    //插入 起始位置,删除个数,插入元素
    arrThree.splice(4,3,23,44,55);
    document.write(arrThree);
    document.write("<br>");

    //只插入试试
    arrOne.splice(0,0,-2,-1);
    document.write(arrOne);
</script>
    
(4) 日期Date

JS也带有表示日期的对象。
常用方法:get、set方法,这里的方法比较简单,直接上例子体现一下:

    <script>

    //创建日期对象
    let d = new Date();

    //用自定义的输出方法输出当前日期
    print(d);

    //get方法,分别对用年月日,注意,因为这个方法默认一月的返回值是0,所以正确显示要加1
    print(d.getFullYear());
    print(d.getMonth()+1);
    print(d.getDate());

    //同理有时分秒
    print(d.getHours());
    print(d.getMinutes());
    print(d.getSeconds());

    //set方法,设置时间,能get到的时间元素都能通过set设置
    d.setFullYear(2021);
    d.setHours(23);

    print(d);

    function print(element){
        document.write(element);
        document.write("<br>");
    }

</script>
(5) 自定义对象

既然JS支持面向对象,那么肯定支持自定义对象。
JS自定义对象:通过new Object的方式创建对象,再给对象设置属性、方法,举个例子

  <!--new Object 创建自定义对象-->
  <script>
    //创建怪兽对象
    let monster = new Object();
    //定义属性同时赋值
    monster.name = "青眼白龙";
    //定义方法同时写方法体
    monster.skill = function (){
      console.log("青眼白龙没有效果");
    }
    monster.skill();
  </script>

第二种创建方式通过对像名大括号{}的形式创建,举个例子:

//键值对的方式定义属性和方法
  let fruit = {
      name:"orange" ,
      color:"orange" ,

      eat : function (){
          console.log("吃起来是酸甜的");
      }
  }
  fruit.eat();

第三种创建方式,直接通过function创建

<!--直接通过function 创建自定义对象-->
  <script>
     //function
     function blackMagic(name,attack){
       this.attack = attack;
       this.name = name;
       this.skill = function (){
         console.log("黑魔术师没有效果");
       }
     }

     let b =  new blackMagic("黑魔术师",2500);
     b.skill();
  </script>

实际开发中,我们将第二种创建方式的对象封装成数组的情况比较多,举个例子:

  //对象数组
  let arr = [{width:500, height:30, read:"足球场规格"},
      {width:500, height:30, read:"篮球场规格"},
      {width:500, height:30, read:"家里宽高"}];

2. BOM 和 DOM

2.1 BOM

BOM : Browser Object Model ,浏览器对象模型,包括和浏览器相关的内容。

因此本章节部分例子是在浏览器自带工具的控制台输出的代码

2.1.1 窗口Window

一旦创建页面,默认自动创建window对象。这个对象里面的属性和方法是全局的属性和方法,访问时可以省略掉window.

    //弹出确认框
    confirm("xxx")
    //弹出提示输入框
    prompt("xxx")
    //弹出提示框
    window.alert("xxx")

BOM还能进行定时器设置,也是window中的常见方法,举个例子:

    <script>
  //开启定时器,每隔一秒调用一次
  //方法作为参数传递时,不写括号()
  let count = 0;

  setInterval(f,1000);

  function f(){
      count ++ ;
      let h = document.querySelector("h1");
      h.innerText = count;
  }

  //匿名方法开启定时器
  let num = 0;
  let timer =  setInterval(function (){
    num++;
    let h = document.querySelector("h2");
    h.innerText = num;

    if(num == 100){
      clearInterval(timer);
    }
  },100);

  //开始只执行一次的定时器
  setTimeout(function (){
    alert("时间到!")
  }, 3000);

</script>

2.1.2 浏览器Navigator

BOM包含浏览器对象,提供浏览器相关信息,通过navigator.访问这些信息。

    //以下代码可以直接在浏览器自带的工具测试输出,输出结果分别对应方法名所显示的信息
    navigator.appName
    //'Netscape'
    navigator.appCodeName 
    //'Mozilla'
    navigator.appVersion
    //'5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0...
    navigator.cookieEnabled
    //true

2.1.3 客户端屏幕Screen

与Navigator类似,Screen包含的是客户端屏幕的相关信息,此处直接举例子:

screen.width
//1920
screen.height
//1080

2.1.4 访问历史History

history:当前浏览器的历史
history.length 历史长度
history.back()后退
history.forward() 前进
history.go(n) 1 下个页面 -1 上一页面 0刷新 ,其他参数:前/后若干个网站的记录

<script>
function goBack(){
    console.log(history.length);
     history.back();
  }
</script>
 
<button onclick="goBack()">返回</button>

2.1.5 浏览器地址Location

location表示浏览器中的地址栏里的地址,我们通过location可以跳转到指定网页
当然,location也包含了很多其他属性,例如协议、主机名、端口号等。感兴趣的同学可自行查阅测试。

    //跳转到指定网址,url填写地址名
    location.herf = "url"
    
    //刷新网页
    location.reload()

2.2 DOM

Document Object Model ,文档对象模型,包括和页面标签相关的内容。

DOM是将html里面的元素看作一个个节点,将数据当作对象进行相关操作。
最大的节点是整个HTML文档,各种元素是节点,如div、body等标签,元素的属性、内容也算节点。

但在实际开发中,由于目前主流框架一定程度上已经舍弃了DOM,所以实际用得极少,本章节作为了解供读者参考。

举个例子:

    <body>
  <div id = "d1">Hello DOM</div>
  <script>
    /*在JS中测试一下节点*/
    //接收元素
    let dPoint = document.querySelector("#d1");

    function testPoint(e){
      console.log(e);
    }
    //输出文档节点
    testPoint(document);

    //输出元素节点
    testPoint(dPoint);

    //输出属性节点
    testPoint(dPoint.attributes);

    //输出内容节点
    testPoint(dPoint.childNodes);
  </script>
</body>

2.2.1 DOM创建节点

创建节点:document.createElement(节点名);
将节点插入页面:document.body.append(节点名);
举两个例子:

    <script>
    //创建标签
    let d = document.createElement("div");
    //给div设置显示文本
    d.innerText = "这是div";
    //把div添加到body里面
    document.body.appendChild(d);
    //添加多个标签
    let h1 = document.createElement("h1");
    let h2 = document.createElement("h2");
    h1.innerText = "这是h1";
    h2.innerText = "这是h2";
    document.body.append(h1,h2);

    //创建图片并添加
    let i = document.createElement("img");
    //给元素设置属性
    i.src = "../orange.png";
    //添加到页面中
    document.body.append(i);
    
</script>

图片添加小练习:

<!--读者在参考该小练习的时候要注意图片名、路径按照自己的图片实际路径来测试-->
    <body>
     <input type="text" id = "d1">
     <input type="button" value="添加orange" onclick="add(1)">
     <input type="button" value="添加apple" onclick="add(2)">

     <script>
       function add(type){
          //获取输入框元素并判断是否为非数字
         let num = document.querySelector("#d1");
         if(isNaN(num.value)){
           let wrongResult = document.createElement("div");
           wrongResult.innerText = "输入错误,请输入正确的数字";
           document.body.appendChild(wrongResult);
           location.reload();
           return;
         }
         switch (type){
           case 1:
             for (let i = 0; i < num.value; i++) {
               let orange = document.createElement("img");
               orange.src = "../orange.png";
               document.body.appendChild(orange);
             }
             break;
           case 2:
             for (let i = 0; i < num.value; i++) {
               let apple = document.createElement("img");
               apple.src = "../apple.png";
               document.body.appendChild(apple);
             }
             break;
             default:
               return;
         }
       }
     </script>

2.2.2 DOM获取节点

获取节点可以通过上面例子常用的document.querySelector(“选择器”)
也可以通过document.getElement方法获取,具体方法:

getElementById():通过id获取元素节点,返回一个元素;
getElementsByTagName():通过标签名获取元素节点,返回一个数组;
getElementsByClassName():通过class属性获取节点,返回一个数组;
getElementsByName():通过name属性获取节点,返回一个数组;

上栗子:

    <body>
<h1 id = "d1"></h1>

<div class = "c1">div1</div>
<div class = "c1">div2</div>
<div class = "c1">div3</div>

<span>span1</span>
<span>span2</span>
<span>span3</span>

输入框1<input type="text" name="in1">
输入框2<input type="text" name="in1">

<script>
  let l1 = document.getElementById("c1");
  console.log(typeof l1);

  let l2 = document.getElementsByClassName("c1");
  logElements(l2);

  let l3 = document.getElementsByTagName("span");
  logElements(l3);

  let l4 = document.getElementsByName("in1");
  logElements(l4);

  function logElements(e) {
    for (let i = 0; i < e.length; i++) {
        console.log(e[i]);
    }
  }
</script>

2.2.3 删除节点

上面提到过创建节点createElement和插入节点append,这里再介绍一下删除节点removeChild


<div id="d1"></div>
<button onclick="removeDiv()">删除节点</button>

<script>
function removeDiv(){
  let removeObject = document.getElementById("d1");
  document.body.removeChild(removeObject);
}

</script>

3. 总结与补充

本文介绍了JAVAScript的基本语法、BOM和DOM的相关概念。
但在实际开发中,由于DOM操作存在效率问题,因此目前市面上常用基于MVVM设计模式的VUE前端框架、大厂目前流行VUE同时期产物React。这些框架不需要我们直接操作DOM,可以认为,这些框架是为我们免除了DOM。

Java Script基础语法 目录引言一、JavaScript 的书写形式1.1行内式1.2 内嵌式1.3 外部式二、输入输出2.1 输入: prompt2.2 输出: alert2.3 输出: console.log三、语法概览3.1 变量的使用3.2 基本数据类型四、运算符4.1相等运算符4.2 逻辑运算符五、数组5.1 创建数组5.2 获取数组元素5.3 获取数组长度5.4 使用 push 进行追加元素5.5 删除数组中的元素.六、函数6.1 语法格式6.2 函数表达式6.3 关于参数个数6.4 作用域七、对象7.1 使用 字面量 阅读详情

相关推荐

Java JDK与Script中文帮助文档详细指南

本文还有配套的精品资源,点击获取 简介:Java JDK和Script的中文帮助文档是开发者的宝贵资源,详尽指导Java开发和脚本语言使用。文档涵盖Java编译器、运行时环境、调试工具,以及JavaScript和Python等Script语言的核心概念和实际应用。中文版帮助文档本地化技术信息,让中国开发者更有效地理解和运用这些技术。 1. Java JDK概览及主...

weixin_35414484的博客 1379

Java Script-入门知识点

JavaScript中声明变量很简单,使用一个"var" 即可,好处在于可以给这个变量重新赋予不同类型的值,并不是固定类型的但是JavaScript 中还是有数据类型,只是声明时统一使用无类型的"var" 关键字而已作用和 Java 中的方法一样,都是为了实现代码的复用将脚本编写为函数,避免页面载入时就执行该脚本。写在函数里面的 js 代码,只需要定义一次,就可以多次调用,提高代码的复用性。// Java 中方法的定义 /*

qq_51122783的博客 2732

Java_script脚本常用代码(全)

javascript常用方法 开发必备

Java Script入门最全笔记(附带具体案例)

JS介绍 ECMAScript DOM基本操作 BOM理解

PIKapikaaaa的博客 1万+

用FPGA在HDMI上显示自定义字符:从COE文件到OSD叠加的保姆级教程

本文详细介绍了如何在FPGA上实现HDMI视频流的OSD字符叠加技术,从COE文件生成到动态区域控制的完整流程。通过Verilog代码示例和实战技巧,帮助开发者掌握字符ROM设计、像素坐标追踪和动态混合等核心技术,适用于视频监控、系统状态显示等应用场景。

weixin_28720767的博客 231

SAP WM模块事务码(TCODE)大全

OL07 Data transfer stor.bins LDK34->RLPLA 仓储位LDK34 ->RLPLA

matinal 當冬夜漸暖 。公众号:matinal 5848

前端学习之java script基础

前端javascript基础知识总结

qq_38652677的博客 1507

永磁同步电机解耦控制实战:从电流反馈到内模解耦的算法演进与选型指南

本文深入探讨了永磁同步电机高性能驱动中的核心挑战——交叉耦合问题,并对比分析了电流反馈解耦和内模解耦两大主流算法的原理、性能与适用场景。文章指出,电流反馈解耦动态响应快但对参数敏感,内模解耦鲁棒性更强但略有滞后,为工程师在不同应用需求下的算法选型提供了清晰的实战指南。

weixin_29039773的博客 265

前端Java Script基础(一)

JavaScript简介 1. 起源 • JavaScript诞生于1995年,它的出现主要是用于处理网页中的前端验证。 • 所谓的前端验证,就是指检查用户输入的内容是否符合一定的规则。 • 比如:用户名的长度,密码的长度,邮箱的格式等。 2. 实现 一个完整的JavaScript实现应该由以下三个部分构成: (1)ECMAScript (2)DOM (3)BOM 3. 特点 (1)解释型语言 • JavaScript是一门解释型语言,所谓解释型值语言不需要被编译为机器码在执行,而是直接执行。 • 由于少了

m0_47800094的博客 737

点云从入门到精通技术详解100篇-点云的特征检测(续)

对每个维度的序列分别计算 DTW 距离,最后。权重将距离限制在较小的范围内,对于时间跨度大的数据集,过度限制了点对点的路径,同的,因此不能用欧氏距离来计算两个多元时间序列之间的距离,本文选用的是动态时。到的股票数据是未知分类的,因此该数据的相似性分析缺少有效的评价方式,通常需要。时间序列,简而言之,就是与时间相关的数据的集合,应用在生活工作中的方方面。时间序列的分段线性化表示的难点在于如何找出分段点,目前,对于分段点的研究。经过分段线性化之后,每个多元时间序列的维度是相同的,但是每一维的长度是不。

getusushu的博客 334

【nvidia-B200】实际生产报错NVRM: nvAssertFailedNoLog: Assertion failed: pIOVAS != NULL @ io_vaspace.c:601

升级 NVIDIA 驱动到 R545/R550 数据中心版本(解决 IOVA bug,这是性能差的根本原因);重启服务器(清理驱动残留资源,消除日志中的 NVRM 错误);验证 NVLink/PCIe 链路(确保 8 卡互联使用高速链路,而非单卡 PCIe 共享带宽)。完成这 3 步后,ncccl-test的all_reduce带宽应能提升至100GB/s 以上(取决于服务器的 NVLink/NVSwitch 配置),恢复正常性能。

jundao1997的专栏 652

web前端基础--Java script

基础语法(一) 什么是Java script Java script的组成和编写 输出语句和注释 常量和变量 进制转换 1.什么是Java script Java script简称JS,是一种跨平台的脚本语言。 跨平台:即不依赖于操作系统,也不依赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。 脚本语言:脚本语言又被称为扩建的语言,或者动态语言,是一种编程语言,用来控...

qq_47406941的博客 1762

Vue3 + 高德地图实现车辆电子围栏监控与报警

通过本文的实现,我们完成了一个通用的车辆电子围栏监控功能:支持多种围栏类型。支持进入/离开/双向报警。使用缓存机制避免重复告警。可与Vue3 + 高德地图无缝集成。在实际项目中,可以结合WebSocket 实时定位,实现车辆的实时监控 + 围栏告警系统🚀。

专注于前端开发与实战技巧,记录从零到一的学习与项目经验。分享 Vue3 / JavaScript / TypeScript / Flutter /Uniapp等前端技术,以及 性能优化、工程化、最佳实践。 1035

前端(Java Script学习)

目录 前言 一、初始Java Script 二、Java Script 的组成 1. Java Script格式 2.方法 3.变量 4.运算符 5.流程控制语句 总结 前言 初步学习JavaScript,以下是关于自己的笔记的整理。 一、初始Java Script Java Script 是脚本编程语言,简称JS。用于网页交互效果。 1.语言核心:变量,表达式,运算符,函数,if语句等。 2.DOM,...

Tiamo445869568的博客 1062

飞腾平台(FT2000/4 D2000/8)配置GPIO引脚

飞腾平台配置CPU的引脚为GPIO工作模式的方式有永久型和暂时型: - 永久型是通过UEFI中的MmioWrite32函数来实现的,该方法可以在UEFI阶段就对复用引脚的工作模式配置为GPIO,并且在进入操作系统后仍然不会发生便会; - 临时型是通过rw工具,在系统下手动修改复用引脚的工作模式,该方法在系统重启后会失效,所以是暂时型的。

qq_30135687的博客 5617

华为OD机试 - 开源项目热度榜单(Java 2025 C卷 100分)

H = Wwatch X#watch + Wstar X#star +Wfork X#fork +Wissue X#issue +Wmr X#mr H表示热度值,Wwatch、Wstar、Wfork、Wissue、Wmr分别表示5个统计维度的权重,#watch、#star、#fork、#issue、#mr分别表示5个统计维度的统计值。

学Java,找哪吒 1756

java Script 基础笔记【前端入门】

本文总结了JavaScript基础知识和Web API的核心内容。基础部分包括:变量声明(let/const)、数据类型、数组操作、函数定义与作用域、对象创建与遍历等语法要点。Web API部分重点介绍了DOM操作(元素获取、内容修改、属性操作、事件监听、事件流)、BOM操作以及定时器使用。特别强调了事件委托、阻止冒泡等进阶技巧,以及通过classList操作样式的现代方法。全文采用简洁的代码示例说明关键概念,适合快速回顾JavaScript基础与DOM编程要点。

stfoi的博客 321

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

前端之Java Script(3)

  1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScri...

weixin_30852419的博客 161

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

前端Java Script基础(四)

流程控制语句 1.语句 • 语句是一个程序的基本单位,JS的程序就是由一条一条语句构成的,每一条语句使用;结尾。 • JS中的语句默认是由上至下顺序执行的,但是我们也可以通过一些流程控制语句来控制语句的执行顺序。 比如:console.log("a = "+a); 2.代码块 代码块是在大括号 {} 中所写的语句,以此将多条语句的集合视为一条语句来使用。 我们一般使用代码块将需要一起执行的语句进行分组,需要注意的是,代码块结尾不需要加分号。 在JS中可以使用{}来为语句进行分组,同一个{}中的语句我们称为

m0_47800094的博客 246

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

前端Java Script基础(二)

** 数据类型** 1. 数据类型 数据类型决定了一个数据的特征,比如:1234和”1234”,直观上看这两个数据都是123,但实际上前者是一个数字,而后者是一个字符串。不同的数据类型在操作时会有很大的不同。 JavaScript中一共有5种基本数据类型: (1)字符串型(String) (2)数值型(Number) (3)布尔型(Boolean) (4)null型(Null) (5)undefined型(Undefined) 未定义 一种引用数据类型(Object) 补充 在字符串中我们可以使用\作为转义

m0_47800094的博客 239

前端基础 —— C / Java Script 基础语法

定义:解释型脚本语言,最初用于表单验证,现为通用编程语言。- 运行环境:浏览器(前端) + Node.js(后端)。- 与 HTML/CSS 的关系:- HTML:结构(骨)- CSS:表现(皮)- JavaScript:行为(魂)

我会等 439

前端Java Script基础(三)

运算符 1. 进制 在js中,如果需要表示16进制的数字,则需要以0x开头 如果需要表示8进制的数字,则需要以0开头 如果要要表示2进制的数字,则需要以0b开头,但是不是所有的浏览器都支持 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript">

m0_47800094的博客 205

前端Java Script基础(五)

练习 自加自减练习 <script type="text/javascript"> var n1=10; var n2=20; var n = n1++; //n1 = 11 n1++ = 10 console.log('n='+n); // 10 console.log('n1='+n1); //11 n = ++n1 //n1 = 12 ++n1 =12 console.log('n='+n);

m0_47800094的博客 472

前端入门之~html,css,java script,浏览器工作原理

目录前端学习1、html是什么?2、css是什么?3、css文件怎么影响html?4、MDN是什么?5、nodejs是什么?5.1、广义定义5.2、狭义定义一种脚本语言6 浏览器的工作原理6.1 浏览器的主要功能6.2 浏览器的高层结构7 参考 前端学习 最近打算学习下前后端的东西,跟着cto学院的前后端课程,发现对前端有些基础知识还不够了解,特地查资料梳理了前端的相关知识,主要分为:html,css,javascript,同时也需要了解浏览器的工作原理。 1、html是什么? 超文本标记语言(HTML,H

sinat_26566137的博客 960

【前端】java script经典案例 (起点闭关计划)

1、通过下拉框的转换实现基本的文本的转换 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="作业4样式.css"/> </head> <body> <script t..

weixin_48680173的博客 786

2025年寒假一个月学习前端之HTML\CSS\Java Script

学前端之HTML、CSS。从焦急的状态,到脚踏实地重新学习。

A3063582614的博客 1万+
上一篇: 【前端】HTML
下一篇: 【Java】Socket
CoderSharry
博客等级 码龄4年 515粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值