求助:javascript的prototype面向对象中的问题

最近再学js面向对象,学到原型的面向对象时发现了一个问题,使用一些函数名来做莫名会报错,代码如下:
function d(a,b){
this.a=a;
this.b=b;
}
d.prototype.obj=function(){
alert(this.a);
}
var obj=new d("1","2");
obj.obj();
上面的可以运行,但是把函数名换成do()就不行,谁知道为什么?难道do这个函数比较特殊?
function do(a,b){
this.a=a;
this.b=b;
}
do.prototype.obj=function(){
alert(this.a);
}
var obj=new do("1","2");
obj.obj();

function b 为函数声明 ,声明的名称不能是关键字。do 就是关键字 ,do while 循环。可以加个下划线做为区分可以写成 _do, 希望能帮助您。

js的关键字这些,不能用作标识符、方法名,去看一下js关键字吧,对你会有帮助的