通过原型扩展已有类型
我们不难发现,JavaScript原型定义成员的方法和我们平时使用Java、C#、VB等语法结构不同。大部分语言是要将成员定义写在类型定义域内部的,而JavaScript是写在外部的。
function worker(name,age){
//some code here
} //类型定义结束
worker.prototype.startWork = function(){
//some code here
};
这种特殊的语法结构允许我们可以扩展和修改已有的类型,比如String,Date等。
比如,根据浏览器不同,不是所有JavaScript中的String都支持startWith这样的方法,那么我们可以自己实现一个
String.prototype.startWith = function(str){
return this.indexOf(str) == 0;
};
var str = "Hello World!";
document.write(str.startWith("Hello")); //true
试试看再给String扩展一个endWith的方法。