js每日一题(11)

js每日一题

**假设d是范围内的“空”对象:
var d = {};
使用下面代码完成了什么?
[‘zebra’,‘horse’].forEach(function(k){
d[k] = undefined;
});
a
**
"答案:上面显示的代码片段在对象d上设置了两个属性。理想情况下,对具有未设置键的javaScript对象执行的查找评估为未定义。但是运行这段代码会将这些属性标记为对象的“自己的属性”。

这是确保对象具有一组给定义属性的有用策略。将该对象传递给Object.keys将返回一个包含这些设置键的数组(即使它们的值未定义)。
"

一下代码将输出到控制台中。

console.log((function f(n){
return ((n>1)? n*f(n-1) : n )
})(10))

**
该代码将输出10阶乘的值(即10!或3,628,800)。
原因如下:
命名函数f()以递归方式调用自身,直到它调用f(1),它简单地返回1.因此,这就是它的作用:
f(1):returns n ,which is 1
f(2):returns 2f(1) ,which is 2
f(3):returns 3
f(2) ,which is 6
f(4):
.
.
.
**
每天进步一点点!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈毓辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值