一对象
1.js对象
1) 对象只是带有属性和方法的特殊数据类型。JavaScript中的所有事物都是对象:字符串、数值、数组、函数...
2)访问对象的属性
对象名.属性名
var message="HelloWorld!";
var x=message.length;
// string对象的length属性,获取字符串的长度 , x=12
3)访问对象的方法
对象名.方法()
varmessage="Hello world!";
var x=message.toUpperCase();var x=message.toUpperCase();
// string对象的toUpperCase()方法将文本转换为大写
2.String对象
属性 | 描述 |
constructor | 返回创建字符串属性的函数 |
length | 返回字符串的长度 |
prototype | 允许您向对象添加属性和方法(全局属性试用js所有对象) obj.prototype.name=value |
方法 | 描述 |
charAt( n) | 返回指定索引位置的字符 (n为位置从0开始) |
charCodeAt() | 返回指定索引位置字符的 Unicode 值 |
concat() | 连接两个或多个字符串,返回连接后的字符串 |
fromCharCode() | 将 Unicode 转换为字符串 |
indexOf(要查找的字符串,[查找位置]) | 返回字符串中检索指定字符第一次出现的位置,若没有找到则返回-1 |
lastIndexOf() | 返回字符串中检索指定字符最后一次出现的位置 |
localeCompare() | 用本地特定的顺序来比较两个字符串 |
match() | 找到一个或多个正则表达式的匹配 |
replace() | 替换与正则表达式匹配的子串 |
search() | 检索与正则表达式相匹配的值 |
slice(start,end) | 提取字符串的片断,并在新的字符串中返回被提取的部分 |
split([分割参考对象],[分割数组个数]) | 把字符串分割为子字符串数组 |
substr(start,length) | 从起始索引号提取字符串中指定数目的字符 |
substring(from,to) | 提取字符串中两个指定的索引号之间的字符(包头不包尾) |
toLocaleLowerCase() | 根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射 |
toLocaleUpperCase() | 根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射 |
toLowerCase() | 把字符串转换为小写 |
toString() | 返回字符串对象值 |
toUpperCase() | 把字符串转换为大写 |
trim() | 移除字符串首尾空白 |
valueOf() | 返回某个字符串对象的原始值 |
3.Date对象
new Date() | 获取系统当前日期 也可以在括号内输入(年,月,日,小时,分钟,秒)获取自定义时间 |
getFullYear() | 从Date对象以四位数返回年份 |
getDate() | 从Date对象返回月中某一天(1-31) |
getMonth() | 从date对象返回月份(0-11) //用时+1 |
getDay() | 获取当前日期的星期数(0-6) //用时+1 |
getHours() | 从Date对象返回小时(0-23) |
getMinutes() | 从Date对象返回分钟(0-59) |
getSeconds() | 从Date对象返回秒(0-59) |
getTime() | 返回1970年1月1日至今的毫秒数 |
eg. var m=newDate;
m.toLocaleString() 用固定格式输出当前系统日期
m.toLocaleTimeString()用固定格式输出当前系统时间
m.toLcaleDateString()用固定格式输出当前系统年/月/日
4.Number对象
1)js数字均为64位的浮点数类型,证书最多为15位,小数最多为17位
2)转换进制:obj.toString(16) 转换为16进制
obj.toString(8) 转换为8进制
obj.toString(2) 转换为2进制
var myNumber=128;
myNumber.toString(16); // returns 80
myNumber.toString(8); // returns 200
myNumber.toString(2); // returns 10000000
3)无穷大 : Infinity
4)NAN :非数值型的特殊值 (not a number)
var x = 1000 / "Apple";
isNaN(x); // returns true
var y = 100 / "1000";
isNaN(y); // returns false
5)数字方法:obj.toFixed() 保留小数点运算,n为保留的小数位数
5.Array对象
1)Array.length数组长度
2)数组调用方法:数组名[索引值] // 索引值从0开始,代表数组中第一个值
3) 定义方法:var arr=[“ ”]
4) 方法:
concat() | 连接两个或多个数组 |
pop() | 删除数组最后一个元素并返回删除元素 |
shift() | 删除第一个元素并返回 |
push() | 向数组末尾添加一个或多个元素 |
unshift() | 向数组开头添加一个或多个元素 |
splice(1,[2],[3]) | 添加、删除、修改数组 1: 开始的位置 2: 为0表示添加,如果数字大于0表示删除个数 若省略该参数表示从1的位置开始删完 (可选项) 3: 添加的元素(可选项) |
reverse() | 颠倒数组中元素的顺序 |
join() | 把数组中的元素转换为字符串 |
sort() | 对数组元素进行排序(针对字母) |
list() | 对数组元素进行排序(针对字母) list(a,b),return a-b // 升序排列 list(a,b),return b-a // 降序排列 |
6.Object{}
1)简单对象的调用方法:对象名.键值名
var info={name=”zhangsan”, sex=”男”}
alert ( info.name+info.sex)
2)复杂对象的调用:对象名[索引值].键值名
varobj=[{a=1,b=2},{c=3,d=4}]
var[0].a //返回1
7.Math对象
Math.PI | 返回圆周率π |
Math.round() | 四舍五入返回整数 |
Math.radom() | 产生随机数(0,1) |
Math.ceil() | 向上舍入 |
Math.floor() | 向下舍入 |
Math.max(x,y,z…) | 输出最大值 |
Math.min(x,y,z…) | 输出最小值 |
二 计时器事件(以毫秒为单位)
1.方法一 (循环执行计时器)
setInterval(对象,时间) // 开启计时器
clearInterval(对象,时间) // 停止计时器
2.方法二 (只执行一次计时器)
setTimeOut(对象,时间)// 设置计时器
clearTimeOut(对象,时间)//停止计时器
三 节点
nodeName | 节点名称 |
nodeValue | 节点值 |
nodeType | 节点类型 |
parentNode | 父节点 |
parentNode.parentNode | 祖先节点 |
childNodes | 子节点 (包含空节点) |
firstChild | 第一个子节点(包含空节点) |
lastChild | 最后一个子节点(包含空节点) |
children | 子节点(不包含空节点) |
firstElementChild | 第一个子节点(不包含空节点) |
lastElementChild | 最后一个子节点(不包含空节点) |
previousSibling | 上一个兄弟节点(包含空节点) |
nextsibling | 下一个兄弟节点(包含空节点) |
previousElementSibling | 上一个兄弟节点(不包含空节点) |
nextElementSibling | 下一个兄弟节点(不包含空节点) |
offsetParent | 第一个有定位属性的父节点 若无返回body |
document.creatTextNode | 创建文本节点 |
document.creatElement(“x”) | 创建元素节点 x为要添加的节点标签名 |
父节点.appendChild(新节点) | 添加子节点 |
insertBefore(添加的新节点,位置) | 在指定位置前插入节点 |
父节点.removeChild(删除的节点) | 删除子节点 |
oldnode.parentNode.replaceChild(newnode,oldnode) | 替换节点 oldnode.parentNode可以直接写成旧节点的父标签名 |
四 事件冒泡
1.事件冒泡 :内到外
2.事件捕获 :外到内
3. event.stopPropagation(); //阻止事件冒泡
4.event.preventDefault(); // 阻止默认事件 如超链接的href
5.<a href=”javascript:void(0)”></a> // 阻止超链接中的默认时间
6.return false; // 阻止默认事件和冒泡事件
五 监听事件
注:一个对象可以绑定多个监听事件
不同对象也可以绑定同一个监听事件
事件触发的三种方法:
1)标签内添加触发事件函数调用
<button onclick=”show()”></button>
functionshow() { …}
2)函数内添加事件
<button class=”btn”></button>
var btn=document.getElementsByClassName(“btn”)[0];
btn.onclick=function() {…}
3)绑定监听事件
Element.addEventListener(“事件”,function(){ } )
或将函数写在外面 调用函数名: Element.addEventListener(“事件”,show() )
function show(){…}
***第三个参数 true---事件捕获 / false---事件冒泡
注:1.<body οnlοad=”show( )”><body> //页面加载时调用show()函数
写法等同于: <script> Window.οnlοad=”show()”<script>
2. <form οnsubmit=”return show()”> </form>
3. <form novalidate> </form> // 禁止浏览器默认验证