js基础知识点补充(6)

ES5 Array的API
删除:
var arr = [1,2,3,4,5,6]
下标 0,1,2,3,4,5
var deletes = arr.splice(2,2);
以上例子代表从你所选择的下标开始,然后删除n(2)个元素,返回一个被删除元素的数组
添加:
在数组最前面添加一个元素
arr.unshift(“小王”);//在数组最前面添加了小王
在数组的末尾追加一个元素
arr.push(“老王”)或arr[arr.length] = "老王"都可行
判断
判断arr中每个元素是否都符合要求
arr.every();
只有每一个元素符合条件的时候,才返回true;只要有一个元素不符合条件,返回false类似&&
判断arr中是否包含符合要求的元素
arr.some():
只要有一个元素符合条件,就返回true;除非所有元素都不符合条件,才返回false,类似 ||
语法
var bool = arr.every(function(val,i,arr){
val自动获取当前元素值
i 自动获取当前元素的位置
arr 自动获得当前数组

			return 条件;
		})
遍历
	// arr.forEach():对原数组中每个元素执行相同的操作   直接操作的原数组
		// 语法:
			// arr.forEach(function(val,i,arr){执行的相同的操作 arr[i] = newValue})
	// arr.map():取出原数组中的值,加工后,放入新数组
		// 语法:
			/*var newArr = arr.map(function(val,i,arr){
				return newValue;
			})*/

	// 将数组中的数据都变成偶数
	/*arr1.forEach(function(val,i,arr){
		arr[i] *= 2;
	})*/

call用来改变this的指向
function test(){
console.log(‘test’)
}
test();
test.call();

	function Person(name,age){
		this.name  = name;
		this.age  = age;
	}
apply改变this的指向的对象的时候,可以和arguments一起使用
function Person(){
		this.name = arguments[0];
		this.age = arguments[1];
	}*/
	/*Person();
	Person.call();

让Person中所有this的预设指向,都改变成obj;并且可以在后续追加参数
Person.call(obj);

DOM是什么:专门操作HTML内容的API
DOM Tree(节点树)是什么:专门操作HTML内容的API
节点对象(Node)三大属性:1.nodeType number
专门区分节点的类型:
9 document
1 element
2 attribute
3 text
其中的值用来区分节点的类型,在需要区分节点类型的时候使用这个方法
2.nodeName 节点名 字符串
document #document
element 全大写的标签名
attribute 属性名
文本节点 #text
在进一步区分元素的名称时使用这种方法
3.nodeValue 节点值
document null
element null
attribute 属性值
text 文本的内容

查找DOM树,递归遍历DOM
1.有三个元素不需要找,直接获得:

document.documentElement document.head document.body 2.节点之间的关系: (1)父子关系 node.parentNode 获得node的父节点 node.childNodes 获得node的所有子节点 node.firstChild 获得node下的第一个子节点 node.lastChild 后的node下最后一个子节点 (2) 兄弟关系 node.preivousSibling: 返回当前节点的前一个兄弟节点 node.nextSibling:返回当前节点的下一个兄弟节点

(1)父子关系
elem.parentElement 返回一个父元素对象
elem.childen IE8支持 返回子元素对象集合
elem.firstElementChild 返回第一个子元素对象
elem.lastElementChild 返回最后一个子元素
(2)兄弟关系
返回当前节点的前一个兄弟元素elem.preivousElementSibling
返回当前节点的下一个兄弟元素
elem.nextElementSibling

核心DOM:可以操作一切结构文档的API,访问标准的HTML属性
获取属性值
aLink.getAttribute(“href”);
修改属性值
aLink.setAttribute(“href”,“siri.com”);
判断是否包含指定属性,一定是在html标签中有设置的属性
var b = aLink.hasAttribute(“target”);
移除属性,属性名和属性值一起移除
aLink.removeAttribute(“title”);

HTML DOM:对核心DOM中常用的API进行简化
一切HTML标准属性都被HTML DOM封装到元素对象中
获取属性值
aLink.href;
修改属性值
aLink.href=“siri.com”;
判断是否包含指定属性
var b = aLink.target=="";
移除属性,只移除属性
aLink.title="";

!!! class因为和ES中的class属性冲突,html中的class改名为className

特殊状态属性 disabled selected checked
不用核心DOM操作,用HTML DOM.操作
attribute和property属性的区别
attribute指出现在开始标签中的属性
property指保存在内存中的对象中的属性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值