JavaScriptES5新方法(1),看完直接怼产品经理

trim() 方法会从一个字符串的两端删除空白字符。trim() 方法并不影响原字符串本身,它返回的是一个新的字符串。

语法:

str.trim()

例如:现在有一个字符串,想要去掉其两端的空白字符,操作如下:

var str = ’ wh ';

console.log(str);

var str1 = str.trim();

console.log(str1);

打印结果为:

在这里插入图片描述

三、对象方法

=====================================================================

1、Object.keys()


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);

})

打印的结果为:

在这里插入图片描述

2、Object.defineProperty()


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前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。

记+真实项目实战+最新讲解视频】](https://bbs.csdn.net/topics/618166371)**

大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。

  • 27
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值