zoukankan      html  css  js  c++  java
  • HTML入门归纳JavaScript

      本人一直在从事.net的开发,界面都是采用的WPF,近期花了一个多月进行HTML前端的学习,在这里呢进行学习总结和归纳。

      本系列将主要分为4个模块:

        控件

        样式

        布局

        JavaScript

      根据多年WPF的开发经验,界面就是控件及样式与布局的组合,再加上代码来控制交互逻辑,本期先对JavaScript基本知识进行归纳。

      字符串

      

      数组

      对象

    名称:值对被称为属性

    var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};

    属性

    属性值

    firstName

    Bill

    lastName

    Gates

    age

    62

    eyeColor

    blue

    对象中也可添加方法,例如:

    var person = {
      firstName: "Bill",
      lastName : "Gates",
      id       : 678,
      fullName : function() {
        return this.firstName + " " + this.lastName;
      }
    };

    您能够以两种方式访问属性:

    objectName.propertyName

    或者

    objectName["propertyName"]

    通过以下方法来访问对象方法

    objectName.methodName()

      事件

    事件

    描述

    onchange

    HTML 元素已被改变

    onclick

    用户点击了 HTML 元素

    onmouseover

    用户把鼠标移动到 HTML 元素上

    onmouseout

    用户把鼠标移开 HTML 元素

    onkeydown

    用户按下键盘按键

    onload

    浏览器已经完成页面加载

    function functionName(parameters) {
       要执行的代码
    }
    function myFunction(a, b) {
         return a * b;
    }

    arguments 对象

    JavaScript 函数有一个名为 arguments 对象的内置对象。

    arguments 对象包含函数调用时使用的参数数组。

    这样,您就可以简单地使用函数来查找(例如)数字列表中的最高值:

    x = findMax(1, 123, 500, 115, 44, 88);
    
    function findMax() {
        var i;
        var max = -Infinity;
        for (i = 0; i < arguments.length; i++) {
            if (arguments[i] > max) {
                max = arguments[i];
            }
        }
        return max;
    }
    View Code

    通过 call(),您能够使用属于另一个对象的方法

    本例调用 person 的 fullName 方法,并用于 person1:

    var person = {
        fullName: function() {
            return this.firstName + " " + this.lastName;
        }
    }
    var person1 = {
        firstName:"Bill",
        lastName: "Gates",
    }
    var person2 = {
        firstName:"Steve",
        lastName: "Jobs",
    }
    person.fullName.call(person1);  // 将返回 "Bill Gates"
    View Code

      call() 和 apply() 之间的区别:call() 方法分别接受参数。apply() 方法接受数组形式的参数。

    如果要使用数组而不是参数列表,则 apply() 方法非常方便

    var person = {
      fullName: function(city, country) {
        return this.firstName + " " + this.lastName + "," + city + "," + country;
      }
    }
    var person1 = {
      firstName:"John",
      lastName: "Doe"
    }
    person.fullName.apply(person1, ["Oslo", "Norway"]);
    View Code

      DOM

    查找 HTML 元素

    方法

    描述

    document.getElementById(id)

    通过元素 id 来查找元素

    document.getElementsByTagName(name)

    通过标签名来查找元素

    document.getElementsByClassName(name)

    通过类名来查找元素

    改变 HTML 元素

    方法

    描述

    element.innerHTML = new html content

    改变元素的 inner HTML

    element.attribute = new value

    改变 HTML 元素的属性值

    element.setAttribute(attribute, value)

    改变 HTML 元素的属性值

    element.style.property = new style

    改变 HTML 元素的样式

    添加和删除元素

    方法

    描述

    document.createElement(element)

    创建 HTML 元素

    document.removeChild(element)

    删除 HTML 元素

    document.appendChild(element)

    添加 HTML 元素

    document.replaceChild(element)

    替换 HTML 元素

    document.write(text)

    写入 HTML 输出流

    添加事件处理程序

    方法

    描述

    document.getElementById(id).onclick = function(){code}

    向 onclick 事件添加事件处理程序

    常用方法:

      Ajax

    AJAX 是开发者的梦想,因为您能够:

    • 不刷新页面更新网页
    • 在页面加载后从服务器请求数据
    • 在页面加载后从服务器接收数据
    • 在后台向服务器发送数据

    XMLHttpRequest 对象方法

    方法

    描述

    new XMLHttpRequest()

    创建新的 XMLHttpRequest 对象

    abort()

    取消当前请求

    getAllResponseHeaders()

    返回头部信息

    getResponseHeader()

    返回特定的头部信息

    open(method, url, async, user, psw)

    规定请求

    • method:请求类型 GET 或 POST
    • url:文件位置
    • async:true(异步)或 false(同步)
    • user:可选的用户名称
    • psw:可选的密码

    send()

    将请求发送到服务器,用于 GET 请求

    send(string)

    将请求发送到服务器,用于 POST 请求

    setRequestHeader()

    向要发送的报头添加标签/值对

    XMLHttpRequest 对象属性

    属性

    描述

    onreadystatechange

    定义当 readyState 属性发生变化时被调用的函数

    readyState

    保存 XMLHttpRequest 的状态。

    • 0:请求未初始化
    • 1:服务器连接已建立
    • 2:请求已收到
    • 3:正在处理请求
    • 4:请求已完成且响应已就绪

    responseText

    以字符串返回响应数据

    responseXML

    以 XML 数据返回响应数据

    status

    返回请求的状态号

    • 200: "OK"
    • 403: "Forbidden"
    • 404: "Not Found"

    如需完整列表请访问 Http 消息参考手册

    statusText

    返回状态文本(比如 "OK" 或 "Not Found")

    function loadDoc() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
         document.getElementById("demo").innerHTML = this.responseText;
        }
      };
      xhttp.open("GET", "ajax_info.txt", true);
      xhttp.send();
    }

    GET 比 POST 更简单更快,可用于大多数情况下。

    不过,请在以下情况始终使用 POST:

    • 缓存文件不是选项(更新服务器上的文件或数据库)
    • 向服务器发送大量数据(POST 无大小限制)
    • 发送用户输入(可包含未知字符),POST 比 GET 更强大更安全

     

    • 如需异步发送请求,open() 方法的 async 参数必须设置为 true:
    • xhttp.open("GET", "ajax_test.asp", true);

      onreadystatechange 属性

    通过 XMLHttpRequest 对象,您可以定义当请求接收到应答时所执行的函数。

    这个函数是在 XMLHttpResponse 对象的 onreadystatechange 属性中定义的:

      同步请求

    如需执行同步的请求,请把 open() 方法中的第三个参数设置为 false:

    xhttp.open("GET", "ajax_info.txt", false);

    有时 async = false 用于快速测试。你也会在更老的 JavaScript 代码中看到同步请求。

    由于代码将等待服务器完成,所以不需要 onreadystatechange 函数:

    xhttp.open("GET", "ajax_info.txt", false);
    xhttp.send();
    document.getElementById("demo").innerHTML = xhttp.responseText;

      有关前端入门的归纳就到这里,至此我们已经入门了前端需要掌握的控件、布局、样式及JavaScript,后续如果有学到新东西再进行补充。

  • 相关阅读:
    Django REST framework+Vue 打造生鲜电商项目(笔记三)
    「数据结构与算法之链表(Python)」(四)
    微服务的注册中心
    git学习(十一) idea git pull 解决冲突
    git学习(十) idea git reset 操作
    git学习(九) idea git stash操作
    git学习(八) git stash操作
    git 学习笔记
    git学习(五) git diff操作
    git:Your branch and 'origin/master' have diverged
  • 原文地址:https://www.cnblogs.com/chenchaochao034/p/10991292.html
Copyright © 2011-2022 走看看