Java前端note


title: Java前端note
toc: true
comments: true
tags: Java
abbrlink: b12c8e4b
date: 2021-08-01 15:52:04
categories:

这里记录的是对前端的学习 !

[TOC]

HTML-note

>. 学习资料
    1. W3School
    2. 菜鸟教程

>. HTML: Hyper Text Markup Language,超文本标记语言,解释性语言
    超:超链接
    文本:文字
    标记:标签
    语言:web前端语言

>. html文档:网页(web page)

>. html文档结构:
    1. 文档类型声明
    html5: <!DOCTYPE html>
    html4.01

    2. 文档主体
    <html>
        2.1 文档的头部
        <head>
            <meta charset="utf-8" />
            <title></title>
        </head>

        2.2 文档体
        <body>
            //可出现其他标签或文本

        </body>
    </html>

> html 语法:  
    1. 标签分类:
        1.1 方式1
            。双标签 <name></name>
            。单标签 <name />

        1.2 方式2
            。行内标签(内联元素):<font>
            。行级标签(块级元素):<p>

    2. 标签三要素:
        2.1 标签名
        2.2 标签属性: 
            <font color="red" size="20">hello</font>
            标准属性(全局属性):id、class、title、style、事件属性
        2.3 子元素(标签|文本)

>. 常用标签:
    1. 注释:  <!-- -->
    2. 头部:  <head></head>
    3. 主体:  <body></body>
    4. 段落:  <p></p>
    5. 水平线: <hr />
    6. 换行:  <br />
    7. 图片:  <img />
    8. 标题:  <hN></hN> (N: 1-7)
    9. 超链接: <a></a>

    10. 块:div(块元素) & span(内联元素)
    11. 列表:<ol></ol> <ul></ul>
    12. 表格:table、table布局
    13. 表单:form
    14. 框架:frameset、frame、iframe

CSS-note

》CSS初识:
    1. 概念:Cascading Style Sheet , 层叠样式表

    2.作用:
        渲染页面效果

    3. 相对于html标签在样式表现上的优势:
        a.功能更丰富,更强大
        b.可以将样式和内容(html)分离,页面外观的控制更灵活
        c.实现样式复用,使页面的更新和维护更方便

》CSS语法:
    选择器{
        style1:val1;
        style2:val2;
    }   

    ps: css对大小写不敏感

    *选择器:
        1.作用:选择(选中)html元素(一个或多个)
        2.分类:
        。基本选择器
            1.通配选择器:*
            2.元素(标签)选择器
            3.id选择器
            4.class类选择器
            5.属性选择器[property='value']

        。群组复合选择器
            1.群组选择器: selector1,selector2,...,selectorN
            2.复合选择器: 复合择器需要同时满足多个条件时使用,selector1[selector2]...[selectorN]

        。层级选择器
            1.后代选择器:ancestor descendant
            2.孩子选择器:parent > child 
            3.相邻兄弟(选择后面的相邻兄弟)选择器:prev + next 
            4.通用兄弟(选择后面的所有兄弟)选择器:prev ~ siblings

        。伪类选择器 E:val , E代表html
            1.动态伪类选择器
                E:link
                E:visited
                E:active

                E:hover
                E:focus
            2.结构伪类选择器
                F E:first-child
                F E:last-child
                F E:nth-child(n) 选中第n个子元素E
                F E:nth-child(odd|even) 选中奇数|偶数行元素

》CSS使用样式的3种方式:
    1.外部样式:<link rel="stylesheet" href="css/cssFile.css" />
    2.内部样式:<style></style>
    3.内联样式:<p style="color:red" >inner style</P>

    ps: 样式优先级

》常用样式
    1. 文本
        color:red;
        text-align: center;
        text-decoration: line-through;

    2. 字体
        font
        font-family: "隶书";  
        font-size: 20px;

    3. 背景
        background
        background-color: ghostwhite;
        background-image: url(img/yc.png);
        background-repeat:repeat-x;

    4. box模型:margin、border、padding
        /*1. 尺寸*/
        height: 50px;
        width: 50px;
        ps: 宽高只对行级元素或浮动元素(float)有效,内联元素是无法设置宽高的。

        /*2. 边框*/
        border:50px solid red;
        border-width: 50px;
        border-style:solid ;
        border-color: red;

        /*3. 内边距*/
        padding: 50px;

        /*4. 外边距*/
        margin: 50px;

        /*5. 轮廓:占据margin的位置 */
        outline: 20px solid yellow;

    5. 定位:
        5.1 position
            。static: 无定位
            。relative: 相对自己原有的位置定位,且自己原有的位置依然占有
            。absolute: 相对离自己最近的“已定位父元素”进行定位(如果没有已定位的父元素,则相对body进行定位),且自己原有的位置不再占有。
            。fixed: 相对于视口进行定位,且自己原有的位置不再占有。

        5.2 z-index
            设置 "同一父元素下" 的 "已定位子元素"的堆叠顺序;Z-index值越大,元素出现在越上面;

        5.3 float浮动 & clear清除浮动
            float
            float 属性指定一个元素是否应该浮动. 浮动元素不再占有原来的位置。
            float = left | right | none
            注意: 
                绝对定位的元素忽略float属性

            clear
            clear 属性规定元素的哪一侧不允许其他浮动元素。
            clear = left | right | both
            注意:
                clear = right无效:当执行到第二个div要清除右浮动的时候,第三个div并没有被加载,所以它的清除效果也就无效了,于是第三个div依然会紧跟着第二个div。

        5.4 可见性
            display = block(块级元素) | inline(内联元素) | none(隐藏元素+腾出自己原有的位置)
            visibility = visible(可见) | hidden(隐藏元素,自己原有的位置依然占有)

        5.5 overflow
            visible
            hidden
            scroll
            auto    

JS-note

js-ECMAScript-note

》JavaScript(简称js)

》js初识
    1. javascript & java
        a. 变量是弱类型的
        b. 每行结尾的分号可有可无,但建议保留

    2. js 的作用
        HTML: 组织内容
        CSS: 样式效果
        JavaScript: 动态行为
            a. 实现动态效果(操作html和css)
            b. 表单提交

    3. js组成
        a. ECMAScript:核心语法
        b. BOM: 浏览器对象模型
        c. DOM:文档对象模型

    4. html中引入js的方式
        a. 外部引入
        b. 内部引入
        c. 内联方式
        ps:
            内部引入中,JavaScript脚本必须位于 <script> 与 </script> 标签之间。且脚本数量任意,位置任意。

    5. js 输出
        console.log() 浏览器控制台输出
        window.alert() 窗口提示框输出
        document.write() DOM文档输出

    ps: js 大小写敏感

》ECMAScript 语法
    0. 注释:
        // 单行注释
        /* 多行注释 */

    1. 标识符: 字母、数字、下划线、$,数字不能打头。

    2. 常量、变量(作用域)
        常量:字符串常量可用单引号,也可用双引号
        变量:var a;
             作用域:仅有在方法中用var声明的变量才是局部变量

    3. 数据类型
        a. 基本类型(原始类型):按值访问。操作保存在变量中实际的值。
            String
            Number: 特殊值NaN,表示非数(Not a Number),不能用于计算,所以 NaN != NaN
            Boolean: true、false
            Undefined: 它只有一个专用值undefined,即它的字面量。当声明的变量未初始化时,该变量的默认值是 undefined。
            Null: 它只有一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。
            Symbol: 是 ES6 引入的一种新的原始数据类型,表示独一无二的值。

        b. 引用类型: 按址访问。实际上是在操作对象的引用而不是实际的对象。
            Object
            String、Number、Boolean、Date、Math、Array、Function

        自定义对象:
            1. 使用Object类型创建对象
            2. 字面量创建对象
            3. 使用函数(构造器)创建对象

            //1. 使用Object类型创建对象
            var person = new Object();
            //添加属性
            person.name = "zhangsan";
            //删除属性
            delete person.name;

            //2. 字面量创建对象
            var stu = {
                name: 'dufu',
                age:20,
                sex:'男'
            };

    4. 运算符
        。== 和 ===(绝对等:值和类型都相同)、!= 和 !==(不绝对等: 值或类型不同)

        。typeof 变量/常量
            string - 如果变量是 String 基本类型
            number - 如果变量是 Number 基本类型
            boolean - 如果变量是 Boolean 基本类型
            undefined - 如果变量是 Undefined 基本类型
            object - 如果变量是一种引用类型或 Null 基本类型
            function - 如果变量是Function函数类型
            ps: Null类型进行typeof操作符后,结果是object,原因在于,null被当做一个空对象引用。

        。instanceof
            判断 “对象实例” 所属的 “引用类型”

        eg:
            var s1 = 'a';
            var s2 = new String('a');

            typeof s1 == string
            typeof s2 == ojbect

            s1 instanceof String == false
            s2 instanceof String == true

    5. 流程控制语句
        >选择结构
            if
            switch

        >循环结构
            while
            do...while
            for
            for...in: 遍历对象的属性或数组中的元素的

            a. for...in 遍历数组
                var arr = new Array(3);
                arr[0] = 1;
                arr[1] = 3;
                arr[2] = 5;

                for(var i in arr){
                    document.write(arr[i]);
                }

            b.for...in 遍历对象
                var person = new Object();
                person.name = "zhangsan";
                person.age = 23;
                person.sex = 'm';

                for(var i in person){
                    document.write(i + "=" + person[i])
                }

    6. 函数
        function show(m,n){
            /*
             * 局部变量:仅在方法中用var声明的变量才是局部变量
             * 所以result是局部变量,如果去掉var声明,result则为全局变量。
             */
            var result = m + n;
            return result;
        }

    原型(链)
        1. __proto__:对象属性,指向当前对象的原型对象(可理解为父对象)
        2. construtor:对象属性,指向当前对象的构造函数。

        3. prototype:函数属性,指向这个函数所创建的实例的原型对象。
            对象.__proto__ === 函数.prototype === 对象.constructor.prototype
        ps:
            对于所有的对象,其原型对象默为 Object 实例。 

    闭包
        能够读取其他函数内部变量(局部变量)的函数。在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数”。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。

js-BOM-note

》BOM: Browser Object Model

》window
    属性:
    。location
    。history
    。navigator
    。screen
    。document(DOM)
    。innerWith/innerHeight

    方法:
    。alert / prompt / confirm
    。open / close
    。setTimeout / clearTimeout
    。setInterval / clearInterval

    PS: 
        1. window的属性和方法,我们可以通过window来调用(window.alert()),也可以直接调用(alert())
        2. 用户自定义的全局属性(变量)和方法,自动成为window的属性和方法。

js-DOM-note

》DOM:Document Object Model

核心:document
        。属性
        。方法

一、DOM元素操作:
    1、获取元素节点:
        。document.getElementById("id");
        。document.getElementsByName("name");
        。document.getElementsByTagName("tagName");
        。document.getElementsByClassName("className");

        。document.querySelector(css 选择器)    获取匹配到的第一个元素
        。document.querySelectorAll(css 选择器) 获取匹配到的所有元素

    2、增加节点
        创建节点:
            document.createElement("标签名")
        追加节点:
            parentNode.appendChild(childNode)
        插入节点:
            parentNode.insertBefore(newNode,refNode)    
        克隆节点
            node.cloneNode(true)

    3、删除节点:
        parentNode.removeChild(node)
        node.remove()   

二、DOM属性操作:
    1、获取:
        dom.id
        dom.className
        dom.style

        //方法
        dom.getAttribute("id");
        dom.getAttribute("class")
        dom.getAttribute("style")

    2、赋值:
        dom.id = "newId";
        dom.className = "newClass";
        dom.style.color = "red";
        dom.style.backgroundColor = "blue";

        //方法
        dom.setAttribute("id","newId");
        dom.setAttribute("class","newClass");
        dom.setAttribute("style","color:red;background-color:blue");

三、DOM 文本操作:
    1、获取:
        dom.innerHTML
        dom.innerText
    2、赋值:
        dom.innerHTML = "";
        dom.innerText = "";

四、DOM 事件处理:
    e.onEvent = function(){};
    e.addEventListener("event",function(){});

发表评论

电子邮件地址不会被公开。 必填项已用*标注