JavaScript基础笔记

1.严格检查模式

前提:IDEA需要设置支持ES6 语法    'use strict';    代表严格检查模式,避免因为JavaScript的随意性而产生的一些问题
必须写在<script></script>第一行
局部变量一般采用let来进行定义

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>严格检查模式</title>
        <script>
            'use strict';
            //let指定局部变量
            let i;
            //啥都不加,只有 i = 10; 这个i就是全局变量
            i = 10;

        </script>
    </head>
    <body>

    </body>
</html>

2.函数

在JavaScript中函数也有属性和方法,所以函数也是对象。

  • arguments代表传递进来的所有参数,是一个数组
  • rest 可以获取除了已经定义的参数以外的参数
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>函数</title>
        <script>
            'use strict';

            <!--养成规范:所有的变量定义都放在最开头,便于代码的维护-->
            function abs(x, ...rest) {//rest参数只能写在最后边,用...标识
                // 可以手动抛出异常
                if (typeof x !== "number") {
                    throw "not a number";
                }
                //arguments代表传递进来的所有参数,是一个数组
                for (var tmp of arguments) {
                    console.log(tmp);
                }
                //rest 可以获取除了已经定义的参数以外的参数
                console.log(rest);
                if (x > 0) {
                    return x;
                } else {
                    return -x;
                }
            }
            //JavaScript中可以传递任意个参数,也可以不传递参数
        </script>
    </head>
    <body>

    </body>
</html>

 3.class

constructor方法是一个特殊的方法,这种方法用于创建和初始化一个由class创建的对象。一个类只能拥有一个名为 “constructor”的特殊方法。如果类包含多个constructor的方法,则将抛出 一个SyntaxError 。

一个构造函数可以使用 super 关键字来调用一个父类的构造函数。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Class</title>
        <script>
            class person {//原型对象
                constructor(name) {
                    this.name = name;
                }

                say() {
                    alert("我是person");
                }
            }

            class student extends person {
                constructor(name, grade) {
                    super(name);
                    this.grade = grade;
                }

                say_stu() {
                    alert("我是student");
                }
            }
        </script>
    </head>
    <body>

    </body>
</html>

4.JSON

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
 

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>JSON</title>
        <!--在JavaScript中一切皆为对象,任何js的类型都可以用json-->
        <!--
        格式:
        对象都用 {}
        数组都用 []
        所有的键值对都用 key:values
        -->
        <script>
            'use strict';
            var person = {
                name: 'xiaoming',
                age: 13
            }
            console.log(person);
            //对象转化为json字符串
            var jsonperson = JSON.stringify(person);
            console.log(jsonperson);
            //json字符串转化为对象
            var student = JSON.parse('{"name":"xiaozhang","age":23}')
            console.log(student);
        </script>
    </head>
    <body>

    </body>
</html>

5.DOM

浏览器网页就是一个DOM树形结构
更新:更新DOM节点
遍历DOM节点:得到每个DOM节点
删除:删除一个DOM节点
添加:加上一个新的节点

要操作一个DOM节点,就必须要先得到这个DOM节点
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>DOM</title>
    </head>
    <body>
        <div id="father">
            <h1>H1标签</h1>
            <p id="p1">p1标签</p>
            <p id="p3">p3标签</p>
            <p id="p4">p4标签</p>
            <p id="p5">p5标签</p>
            <h2 id = "h2">h2标签</h2>


            <p class="p2">p2标签</p>
        </div>
    </body>
    <script>
        'use strict';
        //对应 CSS 中的选择器
        var f = document.getElementById("father");
        var h1 = document.getElementsByTagName("h1");
        var p1 = document.getElementById("p1");
        var p2 = document.getElementsByClassName("p2");

        var childs = f.children;
        console.log(f.firstElementChild);
        console.log(f.lastChild);
        //操作文本
        p1.innerText = "这是text文本";
        console.log(p1);
        p1.innerHTML = "<h2>这是html超文本</h2>";
        //!!!只有document.getElementById("")的对象才有innerText()和innerHTML()方法
        //操作js
        p1.style.color = 'red';

        //删除节点
        //先获取父节点,然后再通过父节点来删除节点
        var father = p1.parentElement;
        father.removeChild(p1);
        //!!! 注意这个删除是动态的过程,所以父节点的孩子节点是变化的
        father.removeChild(father.children[0]);
        father.removeChild(father.children[1]);

        //追加
        //已经存在的节点
        var temp = document.getElementById("h2");
        father.appendChild(temp);
        //通过js,创建新的节点
        var newid = document.createElement('p');
        newid.id = "newid";
        newid.innerText = "这是新创建的节点";
        father.appendChild(newid);


    </script>
</html>

6.表单验证

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>表单验证</title>
    </head>
    <body>
        <form action="post" onsubmit="checked()">
            <p>
                <span>姓名:</span><input type="text" id="username" required>
            </p>
            <p>
                <span>密码:</span><input type="password" id="password" required>
            </p>
            <p>
                <span>性别:</span>
                <input type="radio" name="sex" value="man" id="boy">男
                <input type="radio" name="sex" value="woman" id="girl">女
            </p>
            <!--绑定事件 onclick 被点击 -->
            <p>
                <button type="button" onclick="checked()">提交</button>
            </p>
        </form>
        <script>
            var username = document.getElementById("username");
            var boy = document.getElementById("boy");
            var girl = document.getElementById("girl");
            //得到输入框中的值
            console.log(username.value);
            //修改输入框中的值
            username.value = "12138";

            //对于单选框、多选框等固定的值,boy.value得到的值只能是当前的值
            console.log(boy.checked);//如果为true就是选中了,如果是false就是没有被选中

            function checked() {
                var username = document.getElementById("username");
                var password = document.getElementById("password");
                //MD5算法
                console.log(username.value);
                console.log(password.value);
            }
        </script>
    </body>
</html>

7.jQuery

jQuery就是javascript的一个库,把我们常用的一些功能进行了封装,方便我们来调用,提高我们的开发效率。极大地简化了 JavaScript 编程。

jQuery能做的javascipt都能做到,而javascript能做的事情,jQuery不一定能做到。

jQuery的功能:

1、jQuery的查询功能
2、jQuery 对DOM结构的改变
3、改变元素的属性和样式
4、读取和改变元素的内容
5、jQuery动画

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>jQuery</title>
        <!--记住要引入jQuery-->
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    </head>
    <body>
        <!-- 公式: $(selector).action -->
        <a href="" id="lable">点击链接</a>
        <script>
            //记住公式
            $('#lable').click(
                function () {
                    alert("hello jQuery");
                }
            )

            //选择器:就是CSS中的选择器,CSS中的所有选择器,全部都能用
            //标签选择器
            $('h1').click();
            //id选择器
            $('#id').click();
            //类选择器
            $('.class').click();
        </script>
    </body>
</html>

jQuery事件

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>jQuery事件</title>
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
        <style>
            #divMouse {
                width: 500px;
                height: 500px;
                border: 2px solid darkred;
            }
        </style>
    </head>
    <body>
        mouse:<span id="moveMouse"></span>
        <div id="divMouse">
            鼠标在这里移动
        </div>
        <script>
            //当前网页加载完毕后,响应事件
            $(function () {
                $('#divMouse').mousemove(function (e) {
                    $('#moveMouse').text('x:' + e.pageX + '     y:' + e.pageY)
                })
            });
        </script>
    </body>

</html>

jQuery操作DOM

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>jQuery操作DOM</title>
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
    </head>
    <body>
        <ul id="father">
            <li id="lable1">标签一</li>
            <li id="lable2">标签二</li>
        </ul>
        <script>
            var str1 = $('#father li[id = lable1]').text();//里边没有值就是查看
            var str2 = $('#father li[id = lable1]').text("修改标签1");//里边有值就是修改
            console.log(str2);
            $('#father').html();
            $('#father li[id = lable2]').html("<h2>你好</h2>");

            //修改style
            $('#father li[id = lable2]').css({"fontSize":"30px" ,"backgroundColor":"#ccc"});
        </script>
    </body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值