1.对象
某一类事物的具体实例
2.类
对某一具体事物的抽象
3.构造函数
构造函数:构造一个类(对象)的函数
构造函数的特点:
1.首字母大写
2.函数内部使用this关键字,谁new(实例化)就指向谁
3.使用this关键字给对象添加属性
4.必须使用new关键字,去生成一个对象
4. 构造函数—数组类
<script>
/* Array 构造函数--数组类 */
/* 在数组的原型上定义了一个say,那么所有的实例都会拥有一个say */
Array.prototype.say = function(){
console.log("say")
}
var arr = new Array(1,2,3);
arr.push(5);
console.log(arr);
arr.say();
var res = [];
res.say();
/*
类
实例化的--对象
原型
*/
</script>
<script>
Array.prototype.push = function(){
console.log("失效了")
}
var arr = [];
arr.push(4);
console.log(arr)
/* remove(value) */
Array.prototype.remove= function(val){
var index = this.indexOf(val);
this.splice(index,1);
return this;
}
var arr = [5,6,7];
console.log(arr.remove(6));
/* sum */
Array.prototype.sum = function(){
var s= 0;
for(var i=0;i<this.length;i++){
s+=this[i];
}
return s;
}
var test = [1,2,3];
console.log(test.sum())
</script>
<script>
/* 学生类,name,age,skill
sayName
*/
/*
1、构造函数必须通过new关键字才可以调用
2、this指向实例化的对象
*/
function Student(name,age,skill){
this.name = name;
this.age = age;
this.skill = skill;
}
Student.prototype.sayName = function(){
console.log(this.name)
}
Student.prototype.saySkill = function(){
console.log(this.skill)
}
var p = new Student("李四",18,"编程");
console.log(p)
p.sayName();
p.saySkill()
/*
类
对象
原型
*/
</script>