再讲JS原型对象,有些还是值得一提的

大家好,我是小雅!

学习JS,很多朋友都问过我怎么学习,我给出两种方法:

1、学一门后端语言,然后再回过头来学习JS

2、不要用面向对象的思维学习JS

JS“对象”简述:

对象的过程

JS中创建对象有几种方式,并且对象的类型也分两种,一种是函数对象,一种是普通对象,除了函数对象,其它都是普通对象。

函数对象:凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象。

var o2 =new Object();
var o3 = new f1();
function f1(){};
var f3 = new Function('str','console.log(str)');

上面的代码就很容易理解了,f3就是函数对象,其它都是普通对象。

原型对象(函数)

在 JavaScript 中,每当定义一个对象(函数也是对象)时候,对象中都会包含一些预定义的属性。其中每个函数对象都有一个prototype 属性,这个属性指向函数的原型对象。记住,只有函数对象才有prototype属性,其它是__proto__属性。

那么函数对象的原型对象是什么?上面说到关于函数对象都会有prototype属性,那么Fuc.prototype就是原型对象,可以理解成函数原型对象。接着说一下,所有的原型对象都会有一个constructor属性,这个属性指向了prototype属性所在的函数。

原型对象的作用

原型对象用来干什么?

其主要是用来实现继承,看下面的代码:

 var Person = function(name){
this.name = name;
};
Person.prototype.getName = function(){
return this.name;
}
var person1 = new Person('XiaoYa');
person1.getName(); //XiaoYa

S此时,所有Person的实例都会继承getName方法。关于this指向问题,后续会有专门一章写出来。这里的this指向的是该实例对象所在的函数。

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();