1.js中变量前的下划线
今天学习js时,突然看到了有些变量前带了下划线,书上也没有细写,我就做个笔记
下划线在变量前则代表“私有变量”,如果在函数前加则代表“私有函数”
例:var book{
_year:2004,
edition:1
};
“私有”加引号原因:这种写法并不是js规定,而是程序员们约定俗成的,只是为了更好的维护代码
2.数据属性和访问器属性
数据属性 | 访问器属性 |
[[Configurable]]:表示能否通过 delete 删除属性从而重新定义属性,能否修改属性的特 性,或者能否把属性修改为访问器属性。直接在对象上定义的属性,这个特性默认值为 true。 | [[Configurable]]:表示能否通过 delete 删除属性从而重新定义属性,能否修改属性的特 性,或者能否把属性修改为数据属性。对于直接在对象上定义的属性,这个特性的默认值为 true。 |
[[Enumerable]]:表示能否通过 for-in 循环返回属性。对于直接在对象上定 义的属性,这个特性默认值为 true | [[Enumerable]]:表示能否通过 for-in 循环返回属性。对于直接在对象上定义的属性,这个特性默认值为 true |
[[Writable]]:表示能否修改属性的值。对于直接在对象上定义的属性,这个特性默认值为 true。 | [[Get]]:在读取属性时调用的函数。默认值为 undefined。 |
[[Value]]:包含这个属性的数据值。读取属性值的时候,从这个位置读;写入属性值的时候, 把新值保存在这个位置。这个特性的默认值为 undefined。 | [[Set]]:在写入属性时调用的函数。默认值为 undefined。 |
3.js中“==”与“===”的区别
“==”:表示值相等,如果做比较则先转换数据类型再比较数值大小;
“===”:表示恒等,数据类型和值都要相等。