-
arr.reverse();实现数组的倒序
PS:原数组会修改的
查看全部 -
Array(n+1)长度为n+1,join在每一个数组元素之间插入“()”内的参数。
因为,repeatString(“a”,3)所以3+1-1=3,一共有三个a
查看全部 -
arr.join();将数组转换为字符串
查看全部 -
var arr2 =new Array(1);只是构造了一个长度为1 的数组,所以arr[0]里面是空的,因此0 in arr2就会返回false
//var arr =[,,] ,数组里面各个元素也是空的
PS: var arr1 =[undefined];虽然arr[0]=undefined,但是并不为空
查看全部 -
arr.unshift(val); 在头部添加一个值
arr.shift(); 删除头部元素
数组也是对象,它甚至可以用 arr.prop = val ; 来添加一个属性,在遍历这个数组时也可以遍历出这个prop。
for in 这种遍历方式顺序是不固定的
查看全部 -
JSON.stringify(obj);将对象序列化为字符串
序列化的值是undefined,将不会添加到字符串中;值为NaN,Infinity都会被转化为null;如果是时间,将会转化为utc格式(这什么格式?)
obj = JSON.parse(‘字符串’);将内容转化为对象
查看全部 -
Obj.isExtensible(obj); obj是否可拓展 返回bool
Obj.preventExtensions(obj) ;使obj不可拓展,不修改其中属性的属性标签
Obj.seal(obj); 使obj不可拓展,并修改configurable为false
Obj.isSealed(obj); 判断是否被seal 返回bool
Obj.freeze(obj); 使obj不可拓展,并将属性标签全部修改为false
Obj.isFrozen(obj); 判断是否被freeze 返回bool
以上方法不会影响原型链
查看全部 -
属性标签configurable
delete方法是否可用;getter/setter方法是否可修改;属性标签是否可修改(writable从true修改为false总是允许);
属性标签writable
是否可通过属性赋值;当congfigurable为true时,可通过obj.difineProperty来修改属性值
属性标签enumerable 属性标签value
当前属性是否可枚举 当前属性的值
obj.getOwnPropertyDescriptor( obj , 'prop' )
列举当前对象属性的属性标签状态
查看全部 -
删除尾部元素:arr.pop();
删除头部元素:arr.shift();
ps:delete arr[n]; 只是把下标为n的元素变为undefined,数组长度是没有变化
查看全部 -
arr.push(n)和arr[arr.length]= n;
是在数组的尾部添加元素n
在头部添加数组元素n:arr.unshift(n);
11 in arr ;是查找数组arr的下标为11的元素是否存在
查看全部 -
array构造器有new和没有new都是等价的
查看全部 -
toJSON是不可以变的,固定这么写,类似toString
//将 Date 对象转换为字符串,并格式化为 JSON 数据格式
JSON.stringify()
方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串查看全部 -
序列化:JSON.stringify();
坑:若属性中有undefined那就不会显示出来
查看全部 -
Object.isExtensible将对象变成可扩展
Object.preventExtensions将对象变成不可扩展 //虽然阻止了对象的扩展,但是writable和configurable还是为true
Object.seal(对象)封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。 //所以configurable的true变为false
Object.isSealed(对象)查看对象是否设置了Object.seal()
Object.freeze(对象) //使writable和configurable变为false
Object.isFrozen() //查看是否设置了freeze
ps:以上的方法只是针对对象,并不影响对应的原型链,修改可用prototype
查看全部 -
Object.prototype属性表示Object的原型对象
查看全部
举报