《Head First JavaScript》 学习笔记
<scipt type="text/javascript" src"cookie.js"> </script> //脚本署名方法
<body onload ="resizeRock(); greetUser();" onresize = "resizeRock();"> //重调浏览器触犯的事件
document.getElementById("rockImg").style.height = "100px";
var showTime = {"12:30", "2:45", "5:00", "7:15", "9:30"}; //数组创建
var seats = new Array(new Array(9),new Array(9), new Array(9), new Array(9));
var seats = [ [ , , ,], [ , , ,], [ , , ,], [ , , ,]];
var myShowStatus = showSeatStatus;
回调函数 脚本外部调用 onload ; 浏览器会调用它们
联结事件:联结回调函数与事件,引用函数;
函数名称后面没有括号,因为此时并非意图运行函数,只是想引用函数;
函数字面量 documen.getElementById("seat26").onclick = function(evt){
shouSeatStatus(26);
};
回调函数必须联结到onload事件处理器中;
name 可独一无二地识别表单中的域;
<input id="zipcode" name="zipcode" type="text" size = "5" />
onfocus onblur //onchange;
<input id="phone" name="phone" type="text" size="12" onblur = "validateNonEmpty(this,document.getElementById('phone_help'));"/>
<span id="phone_help" class="help"></span>
inputField.value.length
正则表达式 regular expression
/ . \d \w \s ^ $/
.任何字符 \d数字 \w字母或数字 \s空格 ^起始模式 $结束模式
regular expression / +expression +/
限定符:
* 0次以上 + 1次以上 ?0或1 {n} n次 {min,max} ()集合字母 (this|that)
集合中 [ ] 匹配可选符
document.getElementsByTagName("img")[3]
innerHTML
document.getElementById("story").innerHTML =
"you are <strong> not</strong> alone";
nodeValue nodeType childNodes firstChild lastChild
DOM改变节点文本三步骤
var node = document.getElementBtId("stroy");
while(node.firstChild)
node.removeChild(node.firstChild);//移除所有节点
node.appendChild(document.createTextNode("Ok, maybe you are alone."));//后续接上
鼠标的触发的两种事件 onmouseover / onmouseout
创建HTML元素
var decisionElem = document.creatElement("p");
deicisionElem.appendChild(document.createTextNode(" ");
date对象 setMonth(); getDate(); setYear(); getDay();
var date = new date();
var blogDate = new Date("04/17/2018")
排序方法 sort() 默认升序排列
比较函数 camparison function:
function capare(x,y){
return x-y;
} //<0 x排y前面 >0 y前
blog.sort{(function(blog1,blog2){return blog2.date - blog1.date;}} //比较函数提供只提供给sort()使用,不会出现在别的地方,所以可以省略函数名称
以string为对象
属性 length 方法indexOf(); //检索不到时 return -1;
charAt(); //检索单一字符 toLowerCase();toUpperCase();
MATH
PI =3.14 常量 round()四舍五入取整 ceil()向上取整 floor()上下取整 random()随机
方法存储在类里
类层用 prototype
blog.prototype.toHTML = function() {
}
类特性 blog.prototype.signature = " ..."; 使用时调用类特性 既实例特性吧 blog.signature 或者 this.signature;
AJAX: 可以用于请求任何数据,动态
XML :类似于HTML 可以用自己定义的标签标示数据 例如 <books> 只是一种文本格式
XMLHttpRequest : 内置于JavaScript的函数 用于发起请求和处理请求 ,复杂;
属性:readyState ;请求的状态代码 status;HTTP的请求状态代码 onreadystatechange; responseText; responseXML;
方法: abory(); open(); send();
Get 与 Post
get请求是从服务器上获取数据;
request.open("GET", "bolg.xml", true); // always asynchronous (true);
request.send( null); // get无数据可以发送 所以是null;
post请求是把数据发送给服务器;
request.open("POST", "addblogentry.php", true );
request.setRequestHeader("Content-Type", "application/x-www-form-ulencoded; charset = UTF - 8");
requese.send ("flkasdjflhffnaksljnfkdlsjnf.png");
AjaxRequest:
底层的XMLRequest对象储存在 request特性里面:
方法:getReadyStatus(); getStatus(); getResponseText(); getResponseXML(); send();
发起Ajax请求 :
var ajaxReq = new AjaxRequest();
AjaxReques.prototype.send = function(type, url, handeler, postDataType, postData) {
if(this.request != null){
//Kill the previous request
this.request.abor();
//Tack on a dummy parameter to override brower caching
url += "?dummy" + new Date().getTime();
try{
this.request.onreadystatechange = handler;
this.request.open(type, url, true);
if(tyoe.toLowerCase() == "get"){
//Send a GET request; no data invoived
this.request.send (null);
}else{
//Send a POST request; the last argument is data
this.request.setRequestHeader("Content - Type", postDataType);
this.request.send(postData);
}
}catch(e){
alert("Ajax error conmunicating with the seerver.\n" + "Details :" +e );
}
}
}
所以
var ajaxReq = new ajaxRequest();
ajaxReq.send (type, url, handler, postDataType, postData);
type:get 或者 post
url: 服务器的URL
handler: 处理响应的回调函数
postDataType: 被传送的数据类型 只用于post :charset = UTF-8 ;
function getText(element)
分开创建JS 文件
《Head First JavaScript》 学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
- seaJs学习笔记2 – seaJs组建库的使用
原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...
- CSS学习笔记
CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...
- HTML学习笔记
HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
- ucos实时操作系统学习笔记——任务间通信(消息)
ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...
随机推荐
- Ubuntu操作用户账户
Git Gerrit $是普通管员,#是系统管理员,在Ubuntu下,root用户默认是没有密码的,因此也就无法使用(据说是为了安全).想用root的话,得给root用户设置一个密码: sudo pa ...
- * CSS 视觉格式化(基本框、包含块、盒模型、水平格式化、垂直格式化、行布局、em框、内容区、行间距、行内框、行框)
前言 CSS视觉格式化这个词可能比较陌生,但说起盒模型可能就恍然大悟了.实际上,盒模型只是CSS视觉格式化的一部分.视觉格式化分为块级和行内两种处理方式.理解视觉格式化,可以确定得到的效果是应该显示的 ...
- 使用Maven插件构建Spring Boot应用程序镜像
使用Maven插件构建Spring Boot应用程序的Docker镜像. 环境准备 1.Linux系统 2.安装JDK,Maven 3.安装Docker 应用实践 1.在应用程序根目录下添加Docke ...
- SQL修改日期类型字段为字符串类型
select * from test1 --添加行 ) --将转换格式后的数据放到列中 ) --删除老的字段 alter table test1 drop column startdate --修改字 ...
- [物理学与PDEs]第3章第2节 磁流体力学方程组 2.3 磁流体力学方程组
1. 磁流体力学方程组 $$\beex \bea \cfrac{\p {\bf H}}{\p t} &-\rot({\bf u}\times{\bf H})=\cfrac{1}{\sigma ...
- ssm心得
dao层 mybatis mapper工厂spring接管后,直接拿到mapper接口就可以来实现方法 service层 注入dao层的mapper实现各种方法.. controller 层 注入se ...
- 关于Linux的随笔笔记
1.Ctrl+c.Ctrl+z和Ctrl+d的区别: Ctrl+c和Ctrl+z都是中断命令,但是他们的作用却不一样: Ctrl+c 是向当前进程发送SIGINT信号,用于终止进程: Ctrl+z 是 ...
- Android Camera MSM HAL
高通新的camera驱动架构设计发生了一些变化,借用互联网上常用的一种结构,大致的原理如此:将camera的所有功能划分为不同的模块,让模块自己来决定自己的事情(高内聚,低耦合),模块需要有统一的接口 ...
- java控台输入
import java.util.Scanner;//访问util包的Scanner(控台输入) public class HelloWorld {public static void main(St ...
- P2947 [USACO09MAR]向右看齐Look Up--单调栈
单调栈真的很好用呢! P2947 [USACO09MAR]向右看齐Look Up 题目描述 Farmer John's N (1 <= N <= 100,000) cows, conven ...