年少不知驼峰好 错把下划线当成宝

433 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第20天,点击查看活动详情

目录

今日题

  1. 题目
  2. 分析 昨日题
  3. 题目
  4. 答案
  5. 解析 结语

今日题

题目

将传入的字符串变为小驼峰形式 例:

get_element_by_id

转换为:

getElementById

分析

无论是在日常开发还是练习当中,我们肯定都离不开变量的命名,而无论是JavaScript还是其它编程语言,常用或者说常见的两种变量命名方式有驼峰命名法(getElementById)下划线命名法(get_element_by_id),这两种方式可以说是在命名规则中各领风骚,而今天我们就来看看如果将下划线命名形式的字符串转为驼峰命名形式的字符串。简单提示一下,我们可以使用toUpperCase方法可以将小写字母转变为大写字母

在驼峰命名法和下划线命名法当中, 我们并不强力推崇其中的某一种命名规则,因为在我看来,这个问题就像代码应不应该加分号一样,所以说命名规则没有应不应该,只有喜不喜欢

昨日题

题目

var person = {
        lookFar: {
            is: false
	},
	determined: function() {
            var {is} = this.lookFar
            is = !is
	},
	change: function() {
            this.lookFar.is = !this.lookFar.is
	},
	getLookFar: function() {
            console.log(this.lookFar.is)
	},
}
person.getLookFar()
person.determined() // 下定决心
person.getLookFar()
person.determined() // 下定决心
person.getLookFar()
person.determined() // 下定决心
person.getLookFar()
person.change() // 只需改变一次
person.getLookFar()

答案

false,false,false,false,true

解析

这道题我们直接开门见山,determined中的var {is} = this.lookFar是将this.lookFar中的is解构给变量is,注意这个变量是一个新的变量,因为解构赋值是值拷贝,所以修改is的值并不会反映到lookFar中,所以无论你下定多少次决心,都是没用的!而change就大有不同了,因为它是直接修改this.lookFar.is,所这个is的值也就理所当然的改变了,也就是说无论下定多少次决定,改变——只需要一次,奋力前行吧,各位!

结语

此文章已收录至《JavaScript每日一题》专栏,如果你对本专栏有任何建议,欢迎反馈。如果你对此文章中的题目还有不懂的地方,那么请在评论区留言与大家一起讨论吧。
创作不易,少年,就请留个赞再走吧!