1、《JavaScript高级程序设计》
- 变量命名,由于js是弱语言,为了便于阅读,可在变量前加上类型。(个人感觉对于不经常用的人,还是不太好记)如:数组aValues,布尔bValue,整型iValue,对象oType
- 函数实际上是一个Function对象。但最好不要这样用,慢而且不直观。
function doAdd(iNum) { alert(iNum + 100); }
等价于
doAdd = new Function("iNum", "alert(iNum + 100)");
- 都有函数都必须是某个对象的方法,即Global对象,但是Global其实是一个不存在的对象,不能显示调用它。
- 可以给构造函数提供属性和方法。
function sayHi(){ alert("hi"); } sayHi.alternate = function(){ alert("hola"); }; sayHi(); sayHi.alternate();
- 定义和创建对象
1、工厂方式
function createCar(){ var oTempCar = new Object; oTempCar.doors = 4; ... oTempCar.run = function(){ ... } }
var car = createCar();
缺点是每次都会创建自己的函数版本
改进:
function run(){ } function createCar(){ var oTempCar = new Object; oTempCar.doors = 4; ... oTempCar.run = run; } var car = createCar();
2、构造函数方式
function Car(){ this.doors = 4; ... this.run = function(){ ... } } var car = new Car();
只是new的时候更像对象类,但是还是会重复创建函数
3、混合的构造函数/原型方式
function Car(){ this.doors = 4; ... } Car.prototype.run = function(){ ... } var car = new Car();
4、动态原型法
把方法像java一样写在Car类中。
function Car(){ this.doors = 4; ... if(typeof Car._initialized == "undefined"){ Car.prototype.run = function(){ ... }; Car._initialized = true; } }
时间: 2024-10-12 12:47:14