《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 ...
随机推荐
- 《11招玩转网络安全》之第一招:Docker For Docker
玩转黑客那些工具,缺少了虚拟机怎么行,除了用虚拟机虚拟整个系统,Docker也不能缺少,读者只需要知道,Docker只虚拟Linux系统中的某个程序就可以了.本节就来介绍Linux下安装设置Docke ...
- luogu P5300 [GXOI/GZOI2019]与或和
传送门 题目涉及按位与以及按位或运算,所以可以拆位考虑,枚举某个二进制位,然后某个位置如果那个数的第\(i\)位是\(0\)就放\(0\),否则放\(1\),这一位的贡献就是位运算后值为\(1\)的子 ...
- git切换到新的远程地址
查看仓库链接 git remote -v 修改url链接 git remote set-url origin URL
- ch03 课下作业——缓冲区溢出漏洞实验
一.实验简介: 缓冲区溢出是指程序试图向缓冲区写入超出预分配固定长度数据的情况.这一漏洞可以被恶意用户利用来改变程序的流控制,甚至执行代码的任意片段.这一漏洞的出现是由于数据缓冲器和返回地址的暂时关闭 ...
- WPF 窗口去除顶部边框(正宗无边框)
最近在做一个大屏展示视频图片的项目,功能并不复杂,半天的工作量吧,一开始同事采用的Unity3D进行开发,但是里面要播放4K视频,Unity 的短板就是视频的播放了,今晚就要交付了,我一早就来公司,决 ...
- .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
原因是缺少了启动文件,startup_xxx.s,只需要把该文件添加到项目下即可,该文件如果找不到则重新建立工程,每个新的工程建立后系统都会询问是否添加启动文件,选择添加启动文件即可. 注意选择对应容 ...
- [HAOI2015]树上操作-树链剖分
#include<bits/stdc++.h> using namespace std; const int maxn = 1e6+5; #define mid ((l+r)>> ...
- Hadoop cloudera版和Apache(原生态)的区别
---------------------------------------------------------------------------------------------------- ...
- 论http弥补技术ajax、comet、SPADY、websocket
为什么要弥补http?http有什么缺陷? 查询资料中
- java 获取用户ip
JSP里,获取客户端的IP地址的方法是: request.getRemoteAddr() 这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实I ...