2020.07-Study_update.5

week 7.27-8.2

-Study-update
-MonJs,数据类型
-Tue函数,apply,原型
-Weslocation,dom
-Thu操作表单
-FriStudy-update
-SatVue
-SunAxios

7.27 Monday

严格检查模式
避免javaScript的随意性产生问题

'use strict';//必须写在第一行

字符串

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    'use strict';
    console.log('a');
    console.log("a");
    console.log("a\'");//转义字符
    //多行字符串
    let msg = `
    1 nihao
    2 hello
    `
    console.log(msg);
    // 模板字符串
    let name = "xiaoliu";
    let age = 12;
    let msg1 = `你好,${name},${age}`;
    console.log(msg1);
</script>
</body>
</html>

数组

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    'use strict';
    console.log('a');
    console.log("a");
    console.log("a\'");//转义字符
    //多行字符串
    let msg = `
    1 nihao
    2 hello
    `;
    console.log(msg);
    // 模板字符串
    let name = "xiaoliu";
    let age = 12;
    let msg1 = `你好,${name},${age}`;
    console.log(msg1);

    //数组
    let nums=[1,2,3,4,5];
    console.log(nums);
    //slice() 截取数组的一部分 返回一个新数组 类似于String中的subString
    //push 在后面添加元素 增加长度
    //pop弹出尾部的元素

    //unshift 往头部压入元素
    //shift 往头部弹出元素
    //concat 拼接 返回了新数组
    //连接符join 
</script>
</body>
</html>

js中的对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    'use strict';
    //对象是若干个键值对
    var user = {
        name: 'xiaoliu',
        age: 12
    };
    //可以通过delete动态删除属性
    delete user.age;
    //增加
    user.age = 1;
    //判断属性是否在对象中
    console.log('name' in user);
    //判断这个对象自身是否拥有该属性
    console.log(user.hasOwnProperty('name'));

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

7.28 Tuesday

函数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //定义函数
    function abs(x) {
        if (x >= 0) {
            return x;
        } else {
            return -x;
        }
    }

    //定义函数二
    var abs2 = function (x) {
        //手动判断异常
        if (typeof x != 'number') {
            throw 'Not a number';
        }
        if (x >= 0) {
            return x;
        } else {
            return -x;
        }
    }

    //arguments 代表所有的参数
    function arg(x) {
        console.log('x>=' + x);
        for (var i = 0; i < arguments.length; i++) {
            console.log(arguments[i]);
        }
    }

    //rest 去除所需参数 留下多余参数
    function r(a, b, ...rest) {
        console.log(rest);
    }
</script>
</body>
</html>

apply
可以控制this指向。
原型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    'use strict';
    var student = {
        name: 'xiaoming',
        age: 12,
        run: function () {
            console.log(this.name + ' run...')
        }
    };
    var xiaocheng = {
        name: 'xiaocheng',
    };
    //student是xiaocheng的原型
    xiaocheng.__proto__ = student;
</script>
</body>
</html>

面向对象class继承

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    'use strict';

    //定义一个类 属性 方法
    class Student {
        constructor(name) {
            this.name = name;
        }

        hello() {
            alert("hi");
        }
    }

    var xiaoming = new Student("小明");
    var xiaocheng = new Student('小城');

    class child extends Student {
        constructor(name, age) {
            super(name);
            this.age = age;
        }

        myage() {
            alert("我一年级了");
        }
    }

    var xiaohong = new child('xiaohong', 12);
</script>
</body>
</html>

7.29 Wednesday

location
location页面代表当前页面的url信息

常用方法
location.reload() 刷新页面
设置新的地址
location.assign(www.baidu.con)
histroy
history.back()后退网页
history.forward()前进网页

dom

浏览器网页就是一个dom树形结构。

  • 更新 更新dom节点
  • 遍历 遍历得到dom节点
  • 删除 删除一个dom节点
  • 增加 增加一个dom节点
    要操作一个dom节点,必须先获取到这个节点。

获得dom

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="div1">
    <h1>hi</h1>
    <p id="p1">1</p>
    <p class="p2">1</p>
</div>


<script>
    //dom
    'use strict';
    var e1 = document.getElementsByTagName('h1');
    var e2 = document.getElementById('p1');
    var e3 = document.getElementsByClassName('p2');
    var father = document.getElementById('div1');

    console.log(e1);
    console.log(e2);
    console.log(e3);
    //找到父类下的节点
    var children = father.children;

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

修改dom

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="d1">

</div>
<script>
    //修改text
    var e = document.getElementById('d1');
    e.innerText = 'hello world!';
    //转义
    e.innerHTML = '<strong>修改e2节点的值,转义</strong>';
    //操作css
    e.style.color = 'red';
</script>
</body>
</html>

插入节点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <p id="js">javaScript</p>
    <div id="list">
        <p id="se">javaSe</p>
        <p id="ee">javaEe</p>
        <p id="me">javaMe</p>
    </div>
    <script>
        var js = document.getElementById('js');
        var list = document.getElementById('list');

        //把js追加到list 作为子节点
        // list.appendChild(js);

        //增加一个新节点
        // var newp=document.createElement('p');
        // newp.id='newp';
        // list.append(newp);
        // newp.innerText='hello';

        //用setAttribute()
        var newp=document.createElement('p');
        newp.setAttribute('id','newp');
        list.append(newp);
        newp.innerText='hello';

        //创建一个style标签
        var mystyle=document.createElement('style');
        mystyle.setAttribute('type','text/css');
        //设置标签内容
        document.getElementsByTagName('head')[0].appendChild(mystyle);
        //添加到head
        document.getElementsByTagName('head')[0].appendChild(mystyle);

        </script>

</body>
</html>

7.30 thuesday

操作表单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="" method="post">
    <span>用户名</span>
    <input type="text" id="username">
    <span>性别</span>
    <input type="radio" name="gender" value="male" id="boy"><input type="radio" name="gender" value="female" id="women"></form>
<script>
    //获取输入框的值
    var input_username = document.getElementById('username');
    //单选框
    var boy = document.getElementById('boy');
    var women = document.getElementById('women');
    boy.checked;//是否被选中
</script>
</body>
</html>

提交表单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<form action="1" method="post">
    <span>名字</span>
    <input type="text" id="username" name="username">
    <button type="submit" onclick="a()">提交</button>
</form>
<script>
    'use strict';

    function a() {
        var username = document.getElementById('username');
        //MD5加密
        username.value = md5(username.value);
        alert(username.value);
    }
</script>
</body>
</html>

jquery
选择器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
<a href="" id="text-jquery">点我</a>

<script>
    //公式 $(selector).action
    //# id选择器

    $('#text-jquery').click(function () {
        alert("hi");
    });

    //标签选择器
    $('p').click();
    //id选择器
    $('#id').click();
    //类选择器
    $('.class').click();
</script>
</body>
</html>

事件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    <style>
        #zone {
            width: 500px;
            height: 500px;
            border: 1px solid red;
        }
    </style>
</head>
<body>
<button id="btn1">???</button>

mouse:<span id="mouseLocation"></span>
<div id="zone">移动鼠标</div>

<script>
    $('#btn1').mouseenter(function () {
        alert("看啥呢兄弟");
    });
    //当网页加载完毕 响应事件 获取鼠标位置
    $(function () {
        $('#zone').mousemove(function (e) {
            $('#mouseLocation').text('X:' + e.pageX + 'Y:' + e.pageY)
        })
    })
</script>
</body>
</html>

8.1 Saturday

控制是否显示元素

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>控制是否显示元素</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app-3">
<!--    if else-->
    <p v-if="seen==='A'">现在你看到我了</p>
    <p v-else-if="seen==='B'">B</p>
    <p v-else>状况之外</p>

</div>

<script>
    var app3 = new Vue({
        el: '#app-3',
        data: {
            seen: 'A'
        }
    })
</script>
</body>
</html>

循环

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>循环</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>
<body>
    <div id="app">
        <ul v-for="todo in todos">
            <li>{{todo.text}}</li>
        </ul>
    </div>

    <script>
        var app= new Vue({
            el: '#app',
            data: {
                todos: [
                    {text: '学习javaScript'},
                    {text: '学习Vue'},
                    {text: '做个大项目'}
                ]
            }
        })
    </script>
</body>
</html>

处理用户输入

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<div id="app">
    <p>{{message}}</p>
    <button v-on:click="reverseMessage">反转消息</button>
</div>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            message: 'hello world!'
        },
        methods: {
            reverseMessage: function () {
                this.message = '憨憨浩然'
            }
        }
    })
</script>
</body>
</html>

下拉框双向绑定

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>
<body>
<div id="select-user">
    <select name="user" v-model="selected">
        <option value="" disabled>请选择</option>
        <option value="小刘" >小刘</option>
        <option value="阿然" >阿然</option>
        <option value="阿猪" >阿猪</option>
    </select>
    <h1>{{selected}}</h1>
</div>


<script>
    var app = new Vue({
        el: '#select-user',
        data: {
            selected: ''
        }
    })
</script>
</body>
</html>

组件化应用构建

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
    <mytag></mytag>
</div>
<div id="app2">
    {{message}}
    <mytag></mytag>
</div>


<script>
    //定义一个vue组件
    Vue.component('mytag', {
        template: '<h1>21</hi>'
    });
    var app = new Vue({
        el: '#app',
        data: {
            items: ['java', 'mybatis', 'linux']
        }
    });
    var app2 = new Vue({
        el: '#app2',
        data: {
            message: 'Halo'
        }
    })
</script>


</body>
</html>

组件化应用构建2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

</head>
<body>

<div id="app">
    <ol>
        <component1 v-for="item in groceryList" v-bind:todo="item" v-bind:key="item.id"></component1>
    </ol>

</div>

<script>
    Vue.component('component1', {
        props: ['todo'],
        template: '<li>{{todo.text}}</li>'
    });

    var app = new Vue({
        el: '#app',
        data: {
            groceryList: [
                {id: 0, text: '蔬菜'},
                {id: 1, text: '菠萝'},
                {id: 2, text: '香蕉'},
            ]
        }
    })
</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值