这样剖析JavaScript中的属性和方法,也许你就会更清楚

玩转JavaScript,你得有很扎实的基础,这些基础体现在哪里?其中一个最重要的点就是对JavaScript的属性和方法有足够的了解和认识。这里,我会带大家一起来彻底消灭这些盲点(对JavaScript属性和方法的分类还存在模糊的印象)。

首先来说一下属性:

在JavaScript中属性有四种类型:私有属性,原型属性,实例属性,类属性。

对于这四种属性的区别和使用,下面,我通过一个代码来讲一下。

073525_3066682339_1_219_155.jpg

上面这段代码中四个变量:x是私有属性,z是实例属性,y是类属性,m是原型属性。

接着来看一下属性的访问有何差别。

073525_3066682339_2_289_270.jpg

结果好理解,需要注意几点:1、私有变量只能在函数内使用。2、当实例属性和原型属性拥有相同变量时,先会访问实例属性,没有实例属性就会访问原型属性。3、如上面代码中变量y,只能类才能访问类属性,实例不能访问。

这么一搞,对属性多少就有了一个更完整的理解和印象了。接下来看一下方法就更好理解了。

来看一下方法:(静态方法,实例方法,内部方法)

一、静态方法(不能被实例对象调用)

073525_3066682339_3_369_176.jpg

上面f1就是定义了一个静态方法,实例无法访问。

二、实例方法(注意访问优先级)

在JavaScript中定义一个实例方法的方式有三种:构造函数中使用this,直接绑定在实例上,绑定在原型上。下面就通过一段代码来看一下。

073526_3066682339_4_351_381.jpg

上面这段代码展示了三种方式定义实例方法。执行顺序实例上绑定的优先级高于this上绑定的,this上绑定的高于原型上绑定的实例方法。

三、内部方法(只能内部调用)

073526_3066682339_5_416_362.jpg

上面这段代码定义了两个内部方法method1和method2。由运行结果可知,内部方法method1和method2只能在函数内部调用,外部通过实例对象无法找到该方法。

最后总结一下:

通过这篇文章,我们知道了属性的定义,属性分私有属性,原型属性,实例属性,类属性,这四种,它们各自是怎么定义,及访问原则。同时我们也知道了方法的定义,方法分静态方法,实例方法,内部方法三种,主要注意一下它们的调用,及实例方法的三种创建形式。

转载于:https://my.oschina.net/jack088/blog/1862552

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值