JavaScript学习

一、 Web端哪些时候需要用到?

  行为交互:例如:返回顶部

  数据交互:例如:筛选关键词

  逻辑交互:例如:单选选男选女

二、JavaScript组成

  ECMAScript:JavaScript语法和基本对象

  DOM:文档对象模型,js代码去操作HTML标签

document.getElementById("content")

  BOM:浏览器对象模型,浏览器内置功能

alert("点击了");

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input type="text" placeholder="请输入内容" id="content" />
    <input type="button" value="点击" onclick="clickMe();"/>
    <h1>显示内容</h1>
    <div id="txt"></div>

    <script>
        function clickMe(){
//            alert("点击了");
//            1、获取用户输入的内容
            var tag = document.getElementById("content");
            var userInputData = tag.value;

//            2、找到div,并将内容赋值
            var tagTxt = document.getElementById("txt");
            tagTxt.innerText = userInputData;
        }
    </script>
</body>
</html>

三、JavaScript建议放到body部分的最下部位:

1)单个文件使用一个script

2)多个文件使用一个script,要创建一个js文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <input type="text" placeholder="请输入内容" id="content" />
    <input type="button" value="点击" onclick="clickMe();"/>
    <h1>显示内容</h1>
    <div id="txt"></div>

    <script src="v1.js"></script>
</body>
</html>

v1.js文件

function clickMe(){
//            alert("点击了");
//            1、获取用户输入的内容
            var tag = document.getElementById("content");
            var userInputData = tag.value;

//            2、找到div,并将内容赋值
            var tagTxt = document.getElementById("txt");
            tagTxt.innerText = userInputData;
        }

 四、注释

1)HTML注释

   单行&多行注释: <!--HTML注释标记-->

2)CSS注释,必须在style的代码块中。

<style>
    /* 这是CSS注释*/
</style>

3)JavaScript注释,必须在script的代码块中。

<script>
    //JavaScript单行注释
    /*JavaScript多行注释*/
</script>

五、JavaScript变量

变量名标准的规范:

var userName = “liusijiang”;

1)局部变量:函数中变量。

2)全局变量:代码块顶格。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script>
        //全局变量
        NAME = "liusijaing";

        function userName() {
            //局部变量
            var age = 19;
        }
        alert(NAME);
    </script>
</body>
</html>

六、JavaScript的数据类型

<body>
<script>
var age = 19; //数字类型
var name = "liusijiang"; // 字符串
var data = true; //bool类型:true&false
var dataList = [11,22,33]; //数组 python列表
var info = {name:"liusijiang",age:19} //对象 python字典
var info = {"name":"liusijiang","age":19} //对象 python字典
</script>
</body>

七、JavaScript语句

1)、判断语句

    var age = 19;
    if(age < 19){
        ...
    }else{
        ...
    }
    var age = 19;
    if(age < 18){
        ...
    }else if(age == 19){
        ...
    }else{
        ...
    }

2)循环语句

    var dataList = [11,22,33];
    for (var i = 0;i < dataList.length;i++){
        console.log(i);  //print
    }
    // 上面for语句可以换成如下
    for (var idx in dataList){
        var data = dataList[idx];
        console.log(idx,data);
    }

八、函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    function du(a1,a2) {
        var a3 = a1 + a2;
        return a3;
    }
    var res = du(11,22);
    console.log(res);  //33
</script>
</body>
</html>

运行结果使用F12》console(控制台)》查看

 匿名函数(函数没有名字),作用:因在开发过程中名字过多导致重名

function (arg) {

  console.log(12345678);
}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    function func(){
        console.log(12345678);
    }
    setInterval(func, 1000);  //定时调用函数
</script>
</body>
</html>

匿名函数的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    function func(){
        console.log(12345678);
    }
    setInterval(func, 1000);  //定时调用函数
// 匿名函数的使用如下:
    setInterval(function (){
        console.log(123);
    }, 1000);  //定时调用函数

</script>
</body>
</html>

自执行函数,自动执行(闭包)

    function f(a1,a2) {
        console.log(a1,a2);
    }
    f("xxxxx","123");
// 上面代码转换成如下
    (function f(a1,a2) {
        console.log(a1,a2);
    })("yyyy","4321")

运行结果如下:

 九、JSON序列化

JSON.stringify(对象),js中的对象转换成JSON字符串

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    var info = {name:"liusijiang",age:19}

    var infoStr = JSON.stringify(info);

    console.log(infoStr);  //执行结果:{"name":"liusijiang","age":19}
</script>
</body>
</html>

运行结果如下:

JSON.parse(字符串),JSON字符串转换成js对象

//JSON.parse(字符串),JSON字符串转换成js对象
    var dataString = '{"name":"liusijiang","age":19}';
    var info = JSON.parse(dataString);
    console.log(info);  // 执行结果:{name:"liusijiang",age:19}

运行结果如下:

 十、ES5

现阶段ES6(很多前后端分离的项目),ES6编译转换成ES5

JavaScript基础语法

JavaScript应该放在什么位置?

1、行间JS

  优势

  劣势

2、内部JS

  优势

  劣势

3、外部JS

  优势

  劣势

 

posted @ 2022-06-01 00:40  思江  阅读(28)  评论(0编辑  收藏  举报