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;
}

通过 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"

  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"]);

  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,后续如果有学到新东西再进行补充。

原文地址:https://www.cnblogs.com/chenchaochao034/p/10991292.html

时间: 2024-10-17 12:31:04

HTML入门归纳--JavaScript的相关文章

Type入门(JavaScript的超集)-译

你是否听过 TypeScript? TypeScript 是 JavaScript 的超集,TypeScript结合了类型检查和静态分析,显式接口.TypeScript是微软的开源项目,它是由C#之父Anders Hejlsberg发起的. 为什么会有 TypeScript? JavaScript 只是一个脚本语言,并非真正设计用于开发大型 Web 应用,JavaScript 没有提供类和模块等概念,对于一个真正的应用开发,TypeScript 扩展JavaScript 并实现了这些特性.Typ

创业笔记-Node.js入门之JavaScript与Node.js

JavaScript与Node.js JavaScript与你 抛开技术,我们先来聊聊你以及你和JavaScript的关系.本章的主要目的是想让你看看,对你而言是否有必要继续阅读后续章节的内容. 如果你和我一样,那么你很早就开始利用HTML进行“开发”,正因如此,你接触到了这个叫JavaScript有趣的东西,而对于JavaScript,你只会基本的操作——为web页面添加交互. 而你真正想要的是“干货”,你想要知道如何构建复杂的web站点 —— 于是,你学习了一种诸如PHP.Ruby.Java

HTML前端入门归纳——样式

本人一直在从事.net的开发,界面都是采用的WPF,近期花了一个多月进行HTML前端的学习,在这里呢进行学习总结和归纳. 本系列将主要分为4个模块: 控件 样式 布局 JavaScript 根据多年WPF的开发经验,界面就是控件及样式与布局的组合,再加上代码来控制交互逻辑,本期先对HTML常用的样式属性进行归纳. 选择器 选择器用于对HTML控件及css的样式进行匹配,常用的选择器有如下几种: id选择器 以下的样式规则应用于元素属性 id="para1": 1 #para1 2 {

HTML前端入门归纳——布局

本人一直在从事.net的开发,界面都是采用的WPF,近期花了一个多月进行HTML前端的学习,在这里呢进行学习总结和归纳. 本系列将主要分为4个模块: 控件 样式 布局 JavaScript 根据多年WPF的开发经验,界面就是控件及样式与布局的组合,再加上代码来控制交互逻辑,本期先对HTML常用布局方法进行归纳. 控件元素 块元素 块元素的显示通常会以新起一行的方式进行展示吗,比如<h><ul><p> 1 <body> 2 <h1>这里我演示是块元

常用的正则表达式归纳—JavaScript正则表达式

来源:http://www.ido321.com/856.html 1.正则优先级 首先看一下正则表达式的优先级,下表从最高优先级到最低优先级列出各种正则表达式操作符的优先权顺序: 2.常用的正则表达式: 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 匹配空白行的正则表达式:\n\s*\rps:可以用来删除空白行 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /

网站前端_JavaScript-基础入门.0016.JavaScript匿名闭包

匿名函数: 说明: 匿名函数就是没有名字的函数,闭包是可以访问一个函数作用域里变量的函数 // 普通函数 function userInfo(name){     return name } alert(userInfo('李满满')) // 匿名函数 var userInfo = function(name){     return name } alert(userInfo('李满满')) // 自我调用 (function(name){alert(name)})('李满满') // 闭包函

经常使用的正則表達式归纳—JavaScript正則表達式

来源:http://www.ido321.com/856.html 1.正则优先级 首先看一下正則表達式的优先级,下表从最高优先级到最低优先级列出各种正則表達式操作符的优先权顺序: 2.经常使用的正則表達式: 匹配中文字符的正則表達式: [\u4e00-\u9fa5] 匹配双字节字符(包含汉字在内):[^\x00-\xff] 匹配空白行的正則表達式:\n\s*\r ps:能够用来删除空白行 匹配HTML标记的正則表達式:<(\S*?)[^>]*>.*?</\1>|<.*

网站前端_JavaScript-基础入门.0009.JavaScript对象类型

对象简介: 说明: Object属于引用类型,引用类型是一种数据结构,用于将数据和功能组织在一起,如var newObj = new Object(),这行代码创建了Object引用类型的一个新实例,保存在newObject中,使用的构造函数是Object,它只为新对象定义了默认的属性和方法. 对象相关: 说明: Object实例虽然不具备多少功能但对于应用程序中的存储和传输数据而言,确实是非常理想的选择. /*  * 创建对象方式  */ // 支持构造参数 var newObj = new 

网站前端_JavaScript-基础入门.0015.JavaScript面向对象

简单介绍: 说明: Js中的对象似乎无序属性的集合,其属性可以包含基本值,对象,函数,严格的说也就是对象是一组没有特定顺序的键值对,每个对象都是基于一个引用类型创建 /*  * 创建对象,强烈推荐字面量式创建  */ var person = {     name: '李满满',     age: 25,     job: '运维开发工程师',     sayInfo: function(){         var info = '姓名 : '+this.name+'\n'+