您的位置:首页 > Web前端 > JavaScript

js基础知识点补充(6)

2019-08-17 15:31 288 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/ygj0727/article/details/99692772

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指保存在内存中的对象中的属性

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: