学习记录
(1)for 循环语句优化
原:for(i=0;i<elemets.children,length;i++)后:for(i=0,len=elemets.children.length;i<len;i++)
(2)判断类样式中是否包含指定样式
if( div.className.indexOf ('XX') !=-1)//找到对应字符串,没有找到返回-1
(3)功能相同
onmouseover,onmouseup触发事件冒泡
onmouseenter,onmouseleave不触发事件冒泡。
(4)对一个节点新增自定义索引
link.Attribute('index',i);//新建一个index属性,值为i
(5)elemets.click
与onClick相同都是点击后发生,不同的是.click是浏览器自动模拟成人行为触发。
可以应用于轮播图的左右键点击时下方索引形式也同时改变
(5)变量top
在BOM中top是其中一个属性,如果采用top命名有可能出现错误,所以尽量不使用来做变量名
(6)轮播图
在轮播图中图片和下面节点采用动态生成的方式
(7)面向对象
在js中创建对象模板是构造函数,用this指向对象成员
function News(name){
this.name=name;}
var news=new News('xiaomin');
工厂函数,适合重复创建相似对象,但不能判断他里面类型
function nesw(name){
var a=new object();
a.name=name;
return a;}
面向自变量,适合单个不一样对象
var a={
name:'xiaomin’;}
原始用法
var a=new Object();空对象
a.name='xiaomin';
(8)函数类型判断
简单类型;typeof a;
复杂类型:a instanceof array(类型名称);
(9)获取函数基本类型
无法用typeof判断对象的具体类型,只会返回object
改用对象.constructor来实现
例:News.constructor===News
判断是否属于News函数,是回true,不是回false
但是不建议使用,因为constructor值可以被改变
推荐用instanceof 判断对象是否属于某个构造函数的实例/对象
(10)静态成员和实例成员
静态成员是直接用对象来调用
实例成员是构造函数中的成员就是实例成员

浙公网安备 33010602011771号