javaScript基础知识

1、javaScript

  • javaScript,一门编程语言,浏览器是其解释器,实现动态效果
  • DOM、BOM:
    • 相当于编程语言的内置模块。
    • 例如:Python中的re、random、time、json模块等
  • jQuery
    • 相当于编程语言的第三方模块,例如requests,openpyxl

2、js位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .menus{
            width: 200px;
            border: 1px solid red;
        }
        .menus .header{
            background-color: gold;
            padding: 20px 10px;
        }
    </style>
<!-- 可选择位置一、CSS标签下面-->
  <script type="text/javascript">
    // 编写js代码
  </script>
</head>
<body>

<div class="menus">
      <div class="header" onclick="myfunc()">大标题</div>
      <div class="item">内容</div>
</div>
<!--位置二-->
<script type="text/javascript">
    // function myfunc(){
    //     // 出现弹窗
    //     // alert("你好")
    //     confirm("是否要继续?")
    // }
</script>

</body>
</html>

3、变量

<script type="text/javascript">
    //定义变量
    var name= "ttg";
    // 在浏览器检查中的console模块查看输出结果
    console.log(name)
</script>

4、字符串类型

<script type="text/javascript">
    //字符串声明
     var name= "ttg";
     var name = String(ttg);
    // 常见功能
    // 获取字符串长度
    var v1 = name.length;
    var v2 = name[0];//通过索引获取字符
    name.charAt(3);//通过索引获取字符
    //去除空白
    var v3 = name.trim();
    //前取后不取
    var v4 = name.substring(0,2);
</script>
5、js案例——跑马灯
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .menus {
            width: 200px;
            border: 1px solid red;
        }

        .menus .header {
            background-color: gold;
            padding: 20px 10px;
        }
    </style>
</head>
<body>
<span id="txt">欢迎访问我的js</span>
<script type="text/javascript">
    function show() {
        //从html中找到某个标签并获取内容。需要使用DOM
        var tag = document.getElementById("txt");
        //获取内部文本,得到字符串
        var dataString = tag.innerText
        //动态展示,把文本的第一个字符获取,然后放在字符串最后
        var firstChar = dataString[0];
        var otherString = dataString.substring(1, dataString.length);
        var newText = otherString + firstChar;
        //在HTML中更新内容
        tag.innerText = newText;
        console.log(newText)
    }
    //js中的定时器,实现定时执行某个函数
    // 每1000ms执行一次show函数
    setInterval(show,1000);
</script>
</body>
</html>

6、数组

<script type="text/javascript">
    //定义数组,类似于python中的列表
    var v1 = [11,22,33,44]
    var v2 = Array([11,22,33,44])
    //对数组的操作
    var x = v1[0];//可以通过索引,获取值、改变值
    //增加值,在尾部进行追加,类似于python中的append
    v1.push(5)
    //在前面追加值
    v1.unshift(6)
    //在指定位置进行插入:v1.splice(1,0,元素),第一个位置为索引位置,第二个默认为0
    v1.splice(1,0,"你好")//[11,"你好",22,33,44]
    v1.pop();// 尾部删除元素
    v1.shift();//头部删除
    v1.splice(2,1);//把索引等于2的元素删除:[11,22,44]
    //循环操作
    for(var idx in v1){//循环v1中的索引,不是值!!!
        //idx=0/1/2/3 data = v1[idx]
    }
    for(var i = 0; i < v1.length;i++){//类似于c++中的循环
        
    }
    //支持continue;break
</script>

数组案例

<body>
    <ul id = "city">
<!--        <li>背景</li>-->
    </ul>
<script type="text/javascript">
    //发送网络请求,获取数据
    var citylist = ["北京","上海","深圳"];//动态生成
    for(var idx in citylist){
        var text = citylist[idx];
        //文本添加到标签中
        var tag = document.createElement("li");//创建一个li标签
        //在li标签中写入内容
        tag.innerText = text;
        //添加到id=city标签中
        var parenttag = document.getElementById("city");
        parenttag.appendChild(tag);
    }
</script>
</body>

7、对象(类似于python中的字典)

<script type="text/javascript">
    //字典定义值的两种方式
    info = {
        "name":"nnn"
        "age":18
    }
    info = {
        name:"nnn"
        age:18
    }
    info.age //获取年龄
    info.name="uuu"//修改数据
    info["name"] = "uuu"//修改数据
    delete info(age) //删除元素
    for(var key in info){ //遍历字典
        //key = name/age data = info[key]
    }
</script>

案例:动态表格

<body>
<table border="1">
    <thead>
    <tr>
        <th>ID</th>
        <th>姓名</th>
        <th>年龄</th>
    </tr>
    </thead>
    <tbody id="body">

    </tbody>
</table>
<script type="text/javascript">
    var datalist = [
        {id: 1, name: "ni", age: "19"},
        {id: 2, name: "ni", age: "19"},
        {id: 3, name: "ni", age: "19"},
    ];
    //循环动态添加数据到表格
    for (var idx in datalist) {
        var info = datalist[idx];
        var tr = document.createElement("tr");
        for (var key in info) {
            var text = info[key];
            //创建td标签
            var td = document.createElement("td");
            td.innerText = text;
            tr.appendChild(td);
        }
        var bodyTag = document.getElementById("body")
        bodyTag.appendChild(tr)
    }

</script>
</body>

8、条件语句

if(条件){
        
    }else{
        
    }

if(条件){

    }else if(){

    }else{
        
    }

9、函数

function func(){

}
func()//表示执行函数

10、DOM

  • DOM是一个模块,模块可以对HTML中的标签进行操作
  • 一般不手写,比较麻烦。一般会使用类库,如jquery
//根据ID获取标签
        var bodyTag = document.getElementById("body")
        //获取标签中的文本
        tag.innerText
        //修改标签中的文本
        tag.innerText="ahaha"
        //创建标签
        var td = document.createElement("div");
        tag.innerText("hahah");//将hahah内容写入标签
#案例一:DOM新建标签并添加数据
<body>
<ul id = "city">

</ul>
<script type="text/javascript">
    var tag = document.getElementById("city");
    var newTag = document.createElement("li");
    newTag.innerText = "北京";
    tag.appendChild(newTag);//将标签内容写入到html
</script>
</body>
# 案例:单击按钮添加数据
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<!--    点击就添加数据,ondbclick:双击-->
    <input type="button" value = "添加" onclick="addCityInfo()">
    <ul id = "city">    </ul>
<script type="text/javascript">
    function addCityInfo(){
        var newTag = document.createElement("li");
        newTag.innerText = "你好";
        var parentTag = document.getElementById("city");
        parentTag.appendChild(newTag);
    }
</script>
</body>
</html>
#案例:将用户输入内容添加到标签中
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<input type="text" placeholder="请输入内容" id="txtUser">
<!--    点击就添加数据,ondbclick:双击-->
<input type="button" value="添加" onclick="addCityInfo()">
<ul id="city"></ul>
<script type="text/javascript">
    function addCityInfo() {
        //找到输入标签
        var txtTag = document.getElementById("txtUser");
        //获取input框中用户输入的内容
        var newString = txtTag.value;
        //判断用户输入是否为空,只有不为空才能继续
        if (newString.length > 0) {
            //创建标签,li中间的文本信息会变成用户输入的内容
            var newTag = document.createElement("li");
            newTag.innerText = newString;
            //将标签添加到ul中
            var parentTag = document.getElementById("city");
            parentTag.appendChild(newTag);
            //将输入框清空
            txtTag.value = "";
        }else{
            //弹出提示信息
            alert("输入不能为空!")
        }

    }
</script>
</body>
</html>
posted @ 2023-01-01 21:21  风归去  阅读(9)  评论(0编辑  收藏  举报