javascript入门经典 第6版
javaScript基础
- HTML5中script标签不需要设置任何属性,(type是可选的),但在HTML4中需要使用type属性,有时看到使用language=“Javascript",这是很老版本得浏览器
- 层级树得顶层是window,他是页面得DOM表示中的一切对象得父对象
- window下面有(document,location,history,navigator)
- 获取DOM中的对象document.body,获取属性或方法document.body.title
- 与用户交互 window.alert,document.write(),
创建简单得脚本
- 在html中不区分大小写,所有onclick和onClick都是可以得
- this指向当前html元素本身
使用函数
- 函数参数少了会报错,参数多了会自动忽略
javaScript编程
- 与用户交互 : alert(),confirm()(返回真假),prompt()(返回输入串,默认值(第二个参数),null)
- 根据id选择元素:getElementById()
- innerHTML属性获取元素内部得html内容
- 浏览器得历史:location.forward(),location.backward()
- 使用location对象导航:location.href = “xx” 改用法可以back,location.replace(“xx”),该用法不能back
- 刷新页面:location.reload(),清楚缓存location.reload(true)
- 日期new Date()
- Math
数字和字段串
- 非数值 NAN 方法isNaN()
- parseFloat(),parseInt()
- 无穷大 Infinity
- 字符串toLowerCase(),toUpperCase()
- 0,null,undefied,NaN,空字符串,“”,会被当做false处理
数组
- 创建数组 var myArray = new Array(),var myArray = [1,2,3] ,var arr = [],arr[0]=1;
- arr.length
- 数组的常用方法 :join(‘-’),toString(),splice()
程序控制
- === 类型与值都相同
- setTimeout(‘func(var)’,1000),setInterval(‘func(var)’,1000),clearTimeOut(),clearInterval()
对象
- obj.func = function(){}
- obj.func = func表示把func函数赋给obj的func属性,而obj.func = func(),表示func函数执行后,把返回值给obj的func属性
- 在html内部使用this的时候,指向当前dom元素,在函数中使用时,指向函数的父对象(调用者)
- prototype 对类的属性和方法进行扩展
- 继承 Dog.prototype = new Pet()
- typeof number,string,boolean,object,null,undefied
遍历DOM
- childNodes 当前节点的所有直接子节点 nodeType == 1,元素节点,nodeType == 3 文本类型
- firstChild,lastChild,parentNode,nexSibling,previousSibling,nodeValue,nodeName,getElementsByTagName(“”),getElementsByClassName()
- getAttribute(“title”)
- 创建 document.createElement(“div”),document.createTextNode(“text”),node.cloneNode(fasle) 不复制子节点,node.cloneNode(true) 复制子节点
- appendCild(),insertBefore(v1,v2),relaceChild(new,old),removeChid(),setAttribute(“title”,“xx”)
- 对于document文档自身来说,nodeValue返回null。对于元素节点,nodeValue返回null。对于文本节点、注释和CDATA部分来说,noteValue返回其节点的内容。 对于节点属性来说,属性的值将会被返回
- quertySelector(‘选择器’)
quertySelector 可以查找类选择器也可以查找id选择器还可以查找元素选择器,参数可以是.box #nav li div等,根据不同的选择器查找到相应的元素(标签),但是返回的都是第一个元素对象
quertySelectorAll(‘选择器’)
quertySelectorAll 就可以返回所有元素对象
JSON
- JSON.parse() 将字符串转换为json对象,JSON.stringify() 序列化,将对象转为字符串,方便传输
- 数据类型:数值,字符串,布尔,数组,对象,null
- obj[“peoperty”]和obj.property等同
- json对象,json数组
HTML5与JavaScript
- XHTML是基于XML的HTML
- 本地存储:localStorage:存储数据,没有过期时间;sessionStorage:只在当前会话存储数据
-
localStorage.setItem("name","lisi") alert(localStorage.getItem("name"))
CSS和javascript
- node.style.width
JQuerty
- CDN: <script src=“https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js”>
- 选择器
- $(“#id”).html()
- $(“#id”).text()
- $(“#id”).attr()
- show(“fast”,func(){}),hide(), toggle()切换
- fadeout(),fadeIn()
AJAX
COOKIE
- document.cookie
javascript新功能
- 箭头函数
- var 定义的是全局变量或者函数变量,let定义块级作用域变量,const声明一个只读的常量,
- let x of arr
补充
- 什么是event Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态等等。 说的通俗一点就是,event是JS的一个系统内置对象。 平时无法使用,当DOM元素发生按键、鼠标等等各种事件时,系统会自动根据DOM元素触发的事件生成一个event对象。
- e.keyCode
- span标签