trim()
方法会从一个字符串的两端删除空白字符。trim()
方法并不影响原字符串本身,它返回的是一个新的字符串。
语法:
str.trim()
例如:现在有一个字符串,想要去掉其两端的空白字符,操作如下:
var str = ’ wh ';
console.log(str);
var str1 = str.trim();
console.log(str1);
打印结果为:
=====================================================================
Object.keys()
用于获取对象自身所有的属性。效果类似 for…in
,返回一个由属性名组成的数组。
语法:
Object.keys(obj)
例如现在有一个对象,我们想要获取它里面的属性名,我们就可以这么操作:
var obj = {
id: 1,
name: ‘王欢’,
sex:‘女’,
age: 18
}
console.log(obj);
var obj1 = Object.keys(obj);
console.log(obj1);
打印的结果为:
如果我们想使用上面得到的数组obj1
中的内容,就可以通过forEach
来遍历获取。
代码为:
obj1.forEach(function(value){
console.log(value);
})
打印的结果为:
Object.defineProperty()
定义对象中新属性或修改原有的属性。
语法:
Object.defineProperty(obj, prop, descriptor)
-
obj:必需。目标对象
-
prop:必需。需定义或修改的属性的名字
-
descriptor:必需。目标属性所拥有的特性
这里我们需要注意的是:descriptor这个值有几个限定,首先它必须以对象的形式写入。
其次,它可以写的值有:
| 值 | 意义 |
| — | — |
| value | 设置属性的值 默认为undefined |
| writeable | 值是否可以重写。true /false 默认为false |
| enumberable | 目标属性是否可以被枚举。true /false 默认为 false |
| configurable | 目标属性是否可以被删除或是否可以再次修改特性 true / false 默认为false |
例如:
当我们要修改上例中的对象的name
属性时,我们可以操作为:
var obj = {
id: 1,
name: ‘王欢’,
sex:‘女’,
age: 18
}
console.log(obj);
Object.defineProperty(obj,‘name’,{
value:‘小熊’
})
console.log(obj);
打印结果为:
如果我们要将sex
属性设置为不可修改时,可以操作为:
Object.defineProperty(obj,‘sex’,{
writable:false
})
obj.sex = ‘男’
console.log(obj);
当我们修改属性后,在打印这个对象,得到的结果为:
当我们将sex
设置为:writable:true
,在打印试试:
修改成功。
如果我们想要让上述中的age
在遍历的时候被隐藏掉2,我们可以做如下操作:
Object.defineProperty(obj,‘age’,{
enumerable:false
})
console.log(Object.keys(obj));
打印的结果为:
可以看到age
这个属性遍历时并不会显示。
需要注意的是,通过Object.defineProperty()
添加的属性,其enumerable
值也默认为false
,所以在遍历的时候也不显示,如果想要显示,直接将其手动改为true
.
如果我们不想删除某个属性,并且禁止其被删除,应该怎么操作呢,这里就要要用到configurable
这个值。
以上述为例,如果不允许id
属性被删除,应该操作为:
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。
记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**
大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。