分享一些javaScript中的一些只读属性的数据 (持续更新中...)
- eg1 字符串用数组关联法获取的值是只读属性的,并不能修改里面的值,并且字符串的所有方法都不能改变原来的字符串
let a = 'string';
console.log(a[0]); //s
a[0] = 'q';//下面第二行输出还是原来那个数据,并没有改变
//只读属性,跟数组不一样
console.log(a);//string
console.log(a[0])//s
- eg2 字符对象中的charAt()是从一个字符串中返回一个指定的字符,如果赋值会报错
let a = 'string';
console.log(a.charAt(0)) //s
a.charAt(0) = 'q';
//Invalid left-hand side in assignment
//会报错,charAt()方法是从一个字符串中返回指定的字符
console.log(a)
- eg3
HTMLElement.offsetTop和HTMLElement.offsetLeft也是为只读属性,
offsetTop返回当前元素相对于其offsetParent元素的顶部内边距的距离,注意要是块级元素 - eg4
除了偏移量,获取页面的元素的宽高等属性,也是只读属性
offsetWidth、offsetHeight(包括边框)
clientWidth、clientHeight(不包括边框) - eg5 诸如类似时间对象方法里面的获取年份方法.getFullYear()一样以get开头的都是只读属性,一般也会有对应的set开头的方法来设置它,
设置只读属性的目的
只读属性的值一般都是基础数据类型,一般存在栈中,节省了在堆中开辟新空间。(个人理解,)