ES6和原生js笔记
2016-12-14 21:57
288 查看
ES6部分
1.块及作用域let:块级变量
const:常量,与var相对应。
结构赋值
2.数组:
map(),reduce()
3.generator:分步执行
function*
里面return无效。
4.优化回调函数
原生JS部分
原型链:js中每个函数都有一个指向某一对象的prototype属性,当改函数被new操作符调用时会创建并返回一个对象,该对象会有一个指向原型对象的秘密连接(__proto__),通过该属性我们可以在新建的对象中调用原型对象的方法和属性。__proto__属性IE不支持,需要使用prototype属性。
document.nodeType,返回节点类型。
document对象的documentElement属性返回根节点(html标签)。
document.documentElement.nodeName和document.documentElement.tagName返回标签名。
document.documentElement.hsaChildNodes();检查一个节点是否有子节点。
document.documentElement.ChildNodes.length;返回子节点长度。
document.documentElement.ChildNodes[0];返回第一个子节点。
object.hasAttribute(),检查元素中是否具有某属性。
object.getAttribute(),获取某属性的属性值。
object.attributes.length,返回属性的数量
访问DOM节点的方法:
老:getElementById,getElementsByName,getElementsByTagName
新:getElementsByClassName,querySelector,querySelectorAll
兄弟节点:nextSibling,previousSibling
子节点;firstChild,lastChild
添加节点:appendChild,insertBefore,replaceChild
移除节点:removeChild
函数对象的call和apply方法,让一个对象去借用另一个对象的方法为己所用,这样就能做到代码重用了。
func2.call(func1,prama1,prama2,prama3)
func2.call(func1,[prama1,prama2,prama3])
function Person(name,age)...{ //定义一个类,人类
this.name=name //名字
this.age=age //年龄
this.sayhello=function()...{alert("hello")}
}
function Print()...{ //显示类的属性
this.funcName="Print"
this.show=function()...{
var msg=[]
for(var key in this)...{
if (typeof(this[key])!="function") msg.push([key,":",this[key]].join(""))
}
alert(msg.join(" "))
}
}
function Student(name,age,grade,school)...{ //学生类
Person.apply(this,arguments)
Print.apply(this,arguments)
this.grade=grade //年级
this.school=school //学校
}
var p1=new Person("jake",10)
p1.sayhello()
var s1=new Student("tom",13,6,"清华小学")
s1.show()
s1.sayhello()
alert(s1.funcName)
构造器属性(constractor):该属性指向用于创建该对象的构造器函数的引用。
instanceof操作符:测试一个对象是不是由某个构造器函数创建的。
原型属性(prototype):可以给对象添加属性和方法。
obj.prototype.attr = value;
obj.prototype.func = function(){};
isPrototypeOf()方法:判断当前对象是否是另一个对象的原型。
__proto__:对象中存在的指向相关原型的链接。
原型链:原型对象本身包含了指向其原型的链接,多个指向连在一起就形成了原型链。
Object.create();原型继承
Object.create(proto [, propertiesObject ]) 是E5中提出的一种新的对象创建方式,第一个参数是要继承的原型,如果不是一个子函数,可以传一个null,第二个参数是对象的属性描述符,这个参数是可选的。
相关文章推荐
- AJAX学习笔记之原生JS使用方法
- 【原生js】js面向对象三大特征之封装笔记
- javascript学习笔记--js对html对象的原生操作
- 【笔记】js原生方法 在元素外部或内部实现添加元素功能(类似jq 的 insert 和 append)
- 关于原生js中ajax部分的学习笔记
- js原生JSON学习笔记
- 【奇舞js笔记】第0课——如何写好原生js代码
- 原生JS学习笔记3——数组
- JS原生-----学习笔记1
- JS 中 原生方法 (二) --- 数组 (修---添加ES6新增)
- 【原生js】js面向对象三大特征之继承笔记
- 学习笔记--原生JS
- 【es6】js原生的promise
- 原生JS学习笔记4——DOM操作
- es6继承 vs js原生继承(es5)
- AJAX学习笔记之XML对象原生JS使用方法
- JQuery的初学笔记——和原生JS的区别
- 原生js学习笔记——Ajax基础
- js原生ajax请求get post笔记
- 【笔记】检验checkbox是否被选中, js原生的最简单