论坛首页 入门技术论坛

对js运算符“||”和“&&”的总结

浏览 18579 次
该帖已经被评为新手帖
作者 正文
   发表时间:2009-09-07  
02221021 写道
lemonweirui 写道
表达式语言的好处相当明显。

最近在看周爱明的那本JavaScript精髓。非常不错



同感,一本好书,国内的js书中最好的了.虽然宣传比较少..

有电子版的吗?可以发一份给我吗?万分感谢
0 请登录后投票
   发表时间:2009-09-07  
fightforjava 写道
02221021 写道
lemonweirui 写道
表达式语言的好处相当明显。

最近在看周爱明的那本JavaScript精髓。非常不错



同感,一本好书,国内的js书中最好的了.虽然宣传比较少..

有电子版的吗?可以发一份给我吗?万分感谢



别想了暂时没有,买本当收藏吧.
0 请登录后投票
   发表时间:2009-09-07   最后修改:2009-09-07

学习了。确实很不错。。。

0 请登录后投票
   发表时间:2009-09-07  
02221021 写道
lemonweirui 写道
表达式语言的好处相当明显。

最近在看周爱明的那本JavaScript精髓。非常不错



同感,一本好书,国内的js书中最好的了.虽然宣传比较少..


为什么好呢?
0 请登录后投票
   发表时间:2009-09-07   最后修改:2009-09-07
俺是一新手,楼主的东东很值得学习,以前不知道还可以这样写。学习了,收获很多!感谢楼主!
0 请登录后投票
   发表时间:2009-09-08  
Hooopo 写道
简洁可读性强的if版本:

def get_level(add_step)
  return 1 if add_step == 5
  return 2 if add_step == 10
  return 3 if add_step == 12
  return 4 if add_step == 15
  0
end


case when版本:
def get_level(add_step)
  case add_step
  when 5 then 1
  when 10 then 2
  when 12 then 3
  when 15 then 4
  else
    0
  end
end


hash版本:
h = {5=>1, 12=>3, 15=>4, 10=>2}
h.default = 0

更强大的hash版本:
h = Hash.new{|h,k| h[k] = 0 if k < 0}.merge(5=>1, 12=>3, 15=>4, 10=>2)


晦涩难懂的短路版本...:
add_level = (add_step>12 && 4) || (add_step>10 && 3) || (add_step>5 && 2) || (add_step>0 && 1) || 0



体现了ruby从本质上的强大。hash是ruby特色之一。rails用来实现dsl的强大武器!
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics