javascript - 请问this._point = point;是什么意思,谢谢!
PHP中文网
PHP中文网 2017-04-10 18:06:05
[JavaScript讨论组]

function ComplexCustomOverlay(point, text, mouseoverText){
this._point = point;
this._text = text;
this._overText = mouseoverText;
}
一般构造函数是this.point = point;,为什么要写成this._point = point呢?

PHP中文网
PHP中文网

认证0级讲师

全部回复(5)
PHPz
this.point = point;

把形参(函数的参数)point赋值给函数的属性point

this._point = point;

把形参(函数的参数)point赋值给函数的属性 _point

两种方式只是属性名字不一样而已,属性名字前面加上下划线_,个人认为只是代码的语法规范,方便自己和别人辨识

阿神

很多人有这个习惯将私有成员变量用underscore(_)前缀来定义。

PHP中文网

变量名,想怎么定就怎么定的哦

可能作者按照某种规范,比如 作为 对象属性值以 '_'+属性名 的方式来命名罢了

PHPz

私有属性一般就这样命名,符合规范

天蓬老师

这就是个名字不同而已。。

this.point=point;

这两个point不是一回事。。this.point是构造函数本身设置的属性,=point是传进来的参数point
有时候为了防止搞混,就把属性名称加个"_",变成this._point
还有如果属性名称是保留字,比如class、都可以变成this._class

你调用的时候,永远是调用this.属性名,这个属性名随便你取什么

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号