Object类型
JS中定义类的两种方法
-
function 类名(形参){ }
-
类名= function(形参){ }
创建对象的方法
new 构造方法名(实参){
}
function sayHello() {
alert("Hello")
}
//当做方法
sayHello();
//当做对象
var sayHello1 = new sayHello();
js中的定义类和构造函数是放在一起来完成的
function User(a,b,c) {
this.sno = a;
this.sname = b;
this.sage = c;
}
//创建对象
var user1 = new User(2014,"lisi",24);
//访问对象属性
alert(user1.sno);
alert(user1.sname);
alert(user1.sage);
在js中访问属性还有一种方法如下
//创建第二个对象
var user2= new User(2015,"zhangsan",25);
alert(user2["sno"]);
alert(user2["sname"]);
alert(user2["sage"]);
prototype属性
可以通过这个属性给类动态的扩展属性以及函数,语法如下
function Product(pno,pname,price) {
this.pno = pno;
this.pname = pname;
this.price = price;
this.getPrice=function () {
return price;
}
}
var product = new Product(10001,"西瓜",5.0)
var pri = product.getPrice();
alert(pri);
Product.prototype.getPname = function () {
return this.pname;
}
//调用
var pname = product.getPname();
alert(pname)
所有Object类型的都可以扩展
例如string
String.prototype.suiyi = function () {
alert("这是给String类型扩展的一个函数叫做suiyi")
}
"abc".suiyi();//这是给String类型扩展的一个函数叫做suiyi