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,skillsayName*//*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>
