性能优化
1稳定 2扩展 3性能 分为网络性能和还行性能
网络性能
需要第三方工具,Chrome NetWork
FireFox YSLow (官网www.YSLow。org)
插件版: 必须安装Firebug 在YSLow下载火狐专属
解决方法 更多推荐搜索:雅虎军规
执行性能
1.尽量不使用全局变量
2.尽量少使用闭包
3.减少DOM操作
4.少使用定时器
5.尽量使用正则操作字符串
6.尽量不使用属性
7.尽量使用CSS3
字符串操作
$.trim() 去掉首尾空格
面向对象(oop) 不知道原理,但不影响使用
分为类:Class 泛指一类事物 和对象 :object 某一个具体的东西
对象
分为“属性“:变量和属性一样,属性是属于摸个对象的,变量是自由的 和“方法“ :函数和方法是一样的,方法属于摸个对象的,函数是自由的 属性死给结构的this加的 方法是给结构的原型加的
创造一个类
构造函数 因为是创造对象的 湖出现2个问题:1没有new 2 同一个类的方法不相等
加new默认:1 开头加new object 2 结尾加return this;
加方法:不能直接在结构里面写,要给结构的原型加 Person.prototype
this
不看定义 只看调用 方法是谁的this就是谁
最高:new object 定时器 : window 方法事件:对象本身 正常调用:window,undefind
低:只管一层,只看最后一次调用 只看最后一次
面向对象三大特性
封装:抽 继承:子继承父.父类有的,子类一定有。子类有的,父类不一定有。父类改变,子类跟着变。 多态:多种状态、多重继承
矫正this
fn.call(this指向谁,xxx,xxx。。。。);
fn.apply(this指向谁,【xxxx ,xxxx,xxxx】);
属性继承
function 子类(a,b){
父类.call(this,a,b);
或者
父类.apply(this,arguments);
}
方法继承
1).
子类.prototype = 父类.prototype;
问题:
子类的私有方法,父类也有。
原因:
引用。
2).
for(var key in 父类.prototype){
子类.prototype[key] = 父类.prototype[key];
}
问题:
子类的实例,不属于父类
3).
子类.prototpye = new 父类();
瑕疵:
子类实例.constructor 等于父类
完美).
子类.prototype = new 父类();
子类.prototype.constructor = 子类;
检测
万物皆对象 typeof:检测基本数据类型 instanceof :检测复合数据类型 constructor 检测构造函数
网友评论