1.反射:利用字符串动态生成代码
var f = new function("x","y","return x*y"); //这里用的是字符串生成函数
等价于
function f(x,y){return x*y};
2.委托:利用函数变量实现委托的方法
function add(a,b)
{
return a+b;
}
function cal(f, a, b)
{
return f(a,b); //这里f相当于函数指针
}
调用 cal(add,5,6);
3.数姐
var marks = new array();
var marks = new array(size);这个不是说数组有多大,而是说一开始有多大
var marks = new array(d1,d2,d3....);
var marks = [d1,d2,d3,d4...];
4.对象
var o = new object();
o.x = 0;
o.y = 0;
等于
var ciclr = {x:0,y:0,radius:2};
删除属性
o.x = null;设为null即删除
或
delect o.x;
5.构造方法 构造对象
function rect(w,h){
this.a = w;//注意用的是this
this.b = h;
this.c = function(){return this.a * this.b};
}
用时
var a = new rect(5,10); //this表示new的那个对象
6.原型对象
function rect(){
rect.prototype.a = w;
rect.prototype.b = h;
rect.prototype.c = function(){return this.a * this.b};
}
var a = new rect();//这时可以使用a增加属性,b也会同进增加,只有在a进行赋值操作才有独立对象,否则为共享
var b = new rect();
var f = new function("x","y","return x*y"); //这里用的是字符串生成函数
等价于
function f(x,y){return x*y};
2.委托:利用函数变量实现委托的方法
function add(a,b)
{
return a+b;
}
function cal(f, a, b)
{
return f(a,b); //这里f相当于函数指针
}
调用 cal(add,5,6);
3.数姐
var marks = new array();
var marks = new array(size);这个不是说数组有多大,而是说一开始有多大
var marks = new array(d1,d2,d3....);
var marks = [d1,d2,d3,d4...];
4.对象
var o = new object();
o.x = 0;
o.y = 0;
等于
var ciclr = {x:0,y:0,radius:2};
删除属性
o.x = null;设为null即删除
或
delect o.x;
5.构造方法 构造对象
function rect(w,h){
this.a = w;//注意用的是this
this.b = h;
this.c = function(){return this.a * this.b};
}
用时
var a = new rect(5,10); //this表示new的那个对象
6.原型对象
function rect(){
rect.prototype.a = w;
rect.prototype.b = h;
rect.prototype.c = function(){return this.a * this.b};
}
var a = new rect();//这时可以使用a增加属性,b也会同进增加,只有在a进行赋值操作才有独立对象,否则为共享
var b = new rect();