大家好,我是小雅!
学习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 条评论) |