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.有三个元素不需要找,直接获得:
(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指保存在内存中的对象中的属性
- JS基础知识补充和性能优化知识学习(CHROME小技巧)
- 四,Node.js基础知识(2)
- 网站开发进阶(十五)JS基础知识充电站
- 7个JS基础知识总结
- SQL Server 索引基础知识(8)--- 数据基本格式补充
- 前端JS基础知识
- js基础知识
- 小白入门angular-cli的第一次旅程(学习目标 学习目标 1. 路由基础知识)补充学习
- JavaSE复习之四 基础知识:集合 补充(1)
- js基础知识
- js基础知识总结篇
- vue.js 基础知识看点
- js中的107个基础知识
- js基础知识汇总
- JS基础知识2.0(二)原型
- Python零基础入门二十四之正则表达式知识补充
- 前端js基础理论知识(三循环语句,break和continue的区别,函数,参数)
- Js_基础知识学习_02
- (Ryan的Koa系列博客)1.说说Koa用到的JS基础知识
- 笔记14--js基础知识-数组