发表于: 2018-05-11 23:16:32

1 651


今天完成的事情:

研究一下js方便使用gulp

明天计划的事情:

能初步做出js1的水平

遇到的问题:

递归算法一开始不是很懂

function fld(num){

if (num===0),return 0;

if( num === 1),return 1;

return fld(num-2)+ fld (num -1)

}

fid(6) ; 

输出的结果是8 就很不懂

最后发现这个递归会重复计算,我以为他会只计算一次if不符合的时候直接计算得出结果而不是反复计算

收获:

数字加法
true + true // 21 + true // 2
布尔值可以计算
运算子有一个字符就会算字符叠加
1 + 'a' // "1a"false + 'a' // "falsea"
加法运算符是在运行时决定,到底是执行相加,还是执行连接。也就是说,运算子的不同,导致了不同的语法行为,这种现象称为“重载”(overload)。由于加法运算符存在重载,可能执行两种运算,使用的时候必须很小心。
'3' + 4 + 5 // "345"3 + 4 + '5' // "75"
上面代码中,由于从左到右的运算次序,字符串的位置不同会导致不同的结果。
除了加法运算符,其他算术运算符(比如减法、除法和乘法)都不会发生重载。它们的规则是:所有运算子一律转为数值,再进行相应的数学运算。
1 - '2' // -11 * '2' // 21 / '2' // 0.5
上面代码中,减法、除法和乘法运算符,都是将字符串自动转为数值,然后再运算。




返回列表 返回列表
评论

    分享到