js基础
数组
1 | //创建数组,下标0开始 |
遍历数组
1 | //for循环遍历略,js提供了for-each,IE8以上使用 |
对象
js的对象声明
1 | var obj =new Object(); |
要添加对象属性的时候直接赋值就行,对象的属性也可以是个函数,即方法
1 | obj.name=""; |
调用对象
1 | obj.name; |
删除对象属性
1 | delete obj.name; |
更常见的操作是以[]
来操作
1 | var a=1; |
检查obj是否有某属性
1 | a in obj; |
js的对象是地址传递,对象存储在堆空间种;其他数据类型是值传递,存储在栈中
计较两个基本数据类型的时候比较的是值,引用对象是比较地址
tyorof
可以显示数据类型
枚举对象for in 语句
1 | for(var n in obj){ |
回收对象(设为空即可,浏览器会自动回收垃圾)
1 | obj=null; |
在js中有三种对象,原生对象(js自带),宿主对象(浏览器环境),自定义对象(自建)
DOM
Document Obiect Model文档对象模型,JS通过DOM来对HTML文档进行操作
节点
DocumentType:doctype标签(比如<!DOCTYPE html>
)。
Element:网页的各种HTML标签(比如<body>、<a>
等)。
Attribute:网页元素的属性(比如class="right"
)。
Text:标签之间或标签包含的文本。
Comment:注释。
DocumentFragment:文档的片段。
方法 | 说明 |
---|---|
document.getElementById() | 通过id获取元素 |
document.getElementsByTagName() | 通过标签名获取元素 |
document.getElementsByClassName() | 通过class获取元素 |
document.getElementsByName() | 通过name获取元素 |
document.querySelector() | 通过选择器获取元素,只获取第1个 |
document.querySelectorAll() | 通过选择器获取元素,获取所有 |
document.createElement() | 创建元素节点 |
document.createTextNode() | 创建文本节点 |
document.write() | 输出内容 |
document.writeln() | 输出内容并换行 |
详见DOM模型
函数
函数声明
1 | function a (){} |
break
跳出当前循环
return
结束当前函数并返回值
内部函数
1 | (function a (){})() |
表示第一个括号内的函数是个整体,然后他本身作为一个函数名立即调用
构造函数
1 | function Person(name,age){ |
this函数的上下文,谁调用this指向谁,在构造函数中,指向实例
call函数和apply函数可以改变this作为实例对象
call(obj,a)
方法可以传递实参
apply(obj,[])
方法需要将实参封装到数组中传递
1 | //使用instanceof检查某个对象是不构造函数的实例 |
参数列表,所有传递的实参都会在arguments
中保存