玩转JavaScript,你得有很扎实的基础,这些基础体如今哪里?其中一个最重要的点就是对JavaScript的属性和方法有足够的了解和认识。这里,我会带你们一块儿来完全消灭这些盲点(对JavaScript属性和方法的分类还存在模糊的印象)。函数
首先来讲一下属性:this
在JavaScript中属性有四种类型:私有属性,原型属性,实例属性,类属性。3d
对于这四种属性的区别和使用,下面,我经过一个代码来说一下。对象
上面这段代码中四个变量:x是私有属性,z是实例属性,y是类属性,m是原型属性。blog
接着来看一下属性的访问有何差异。ip
结果好理解,须要注意几点:一、私有变量只能在函数内使用。二、当实例属性和原型属性拥有相同变量时,先会访问实例属性,没有实例属性就会访问原型属性。三、如上面代码中变量y,只能类才能访问类属性,实例不能访问。原型
这么一搞,对属性多少就有了一个更完整的理解和印象了。接下来看一下方法就更好理解了。基础
来看一下方法:(静态方法,实例方法,内部方法)变量
1、静态方法(不能被实例对象调用)构造函数
上面f1就是定义了一个静态方法,实例没法访问。
2、实例方法(注意访问优先级)
在JavaScript中定义一个实例方法的方式有三种:构造函数中使用this,直接绑定在实例上,绑定在原型上。下面就经过一段代码来看一下。
上面这段代码展现了三种方式定义实例方法。执行顺序实例上绑定的优先级高于this上绑定的,this上绑定的高于原型上绑定的实例方法。
3、内部方法(只能内部调用)
上面这段代码定义了两个内部方法method1和method2。由运行结果可知,内部方法method1和method2只能在函数内部调用,外部经过实例对象没法找到该方法。
最后总结一下:
经过这篇文章,咱们知道了属性的定义,属性分私有属性,原型属性,实例属性,类属性,这四种,它们各自是怎么定义,及访问原则。同时咱们也知道了方法的定义,方法分静态方法,实例方法,内部方法三种,主要注意一下它们的调用,及实例方法的三种建立形式。