什么是JavaScript库
JavaScript库中主要包含一些常用的函数,我们都使用过JQuery等,它们虽然不是JavaScript语言的一部分,但是使用这些经过验证的可靠的函数会使你的代码更清晰,更易读,而且当别人需要调试或搞懂你的开发成果时更容易被人理解.
编写自己的JavaScript库时的注意事项
1,不要版本检测--使用能力检测
浏览器的版本很容易被淘汰而且种类繁多,我们不可能为了市面上每一款前途未卜的浏览器都花费实践去检测.
作为浏览器检测的方法的最佳实践是能力检测,指的是在代码执行之前检测某个脚本对象或方法是否存在,而不是依赖于你对哪个浏览器具有哪些特定的了解.如果方法或对象存在,那么浏览器能够使用它,且代码也可以按照预期执行.
方法:
2,使用命名空间
在设计类和类成员过程中,不可避免的类成员中的方法或者类的名称会出现相同的情况,这样就会使类的使用变得复杂,代码的混乱造成可读性降低,使用命名空间可以解决此类难题。而要避免这些问题的困扰,只需要记住两点:唯一性,不共享.
唯一性:为自己的命名空间挑选一个不会在别处被使用的名字.
不共享:1,闭包2,保证你的代码被包含在它自己的小空间中.
闭包:
闭包就是能够读取其他函数内部变量的函数。
由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”。
1,闭包外层是个函数.
2,闭包内部都有函数.
3,闭包会return内部函数.
4,闭包返回的函数内部不能有return.(因为这样就真的结束了)
5,执行闭包后,闭包内部变量会存在,而闭包内部函数的内部变量不会存在.
闭包博客链接:http://www.jb51.net/article/24101.htm
作用域链:
作用域链作用:
当Javascritp需要查询变量x的值时,它首先开始查询作用域链的第一个对象,如果该对象有名为x的属性,就采用这个值,如果没有,就查询作用域链上的第二个对象,以此类推。
作用域链的顺序:
根据执行环境来定,假设当前执行环境在两层嵌套的局部函数中,当前函数的调用对象处于作用域链第一位,外层函数调用对象在作用域链第二位,然后再外面的全局对象在第三位。
面向对象成员方法:
静态方法:指的是只能给某个特定的对象赋值,不能重用,即我们直接添加到了对象实例中。静态成员只存在于对象的一个具体实例而不存在于构造函数中。
公有方法:构造函数中this赋值也是一种。即能够使实例化的对象包含的方法称为公有方法,需要修改函数原型,即prototype属性。要添加公有方法只需要使用点操作符向它的原型添加方法即可
私有方法:就是在构造函数中定义的变量和函数。
特权方法:即this方法,可以访问私有成员
call()与apply()方法:
这两个方法可以指定函数的执行环境。即将一个方法强行绑定到一个对象上,返回执行结果
call()与apply()方法的区别为当执行的方法是有参数的,call是将每一个参数逐一列举出来,而apply()方法是将参数作为一个数组放在第二个参数(第一个参数为对象)的位置上。
DOM文件对象模型(Document Object Model,简称DOM)
支持对HTML和XML的操作.让我们可以通过JavaScript,以编程方式控制网页上的所以元素和属性。DOM的主要思想是HTML上每个元素分别对应于DOM中的一个节点。