JavaScript高级程序编程(四)
2017.7.12 北京 数伏第一天
本日总结:
1.线上服务器时常显示.woff文件丢失解决办法 (IIS服务器)
添加MIME类型 添加三条:
文件扩展名 MIME类型
.svg image/svg+xml
.woff application/x-font-woff
.woff2 application/x-font-woff
2.时间格式IOS系统无法解析 显示NaN,而安卓系统解析正常 大多出现于移动端
iPhone中的safari无法解释 YYYY-MM-DD HH:mm:ss 或者YYYY/MM/DD HH:mm:ss这样的时间格式,而谷歌火狐等浏览器对这样的格式做了扩展,
iPhone中的safari所支持的格式为 YYYY,MM, DD,HH,mm,ss,
废话不多说继续读书笔记,还有前几章过于详细了所以以后章节只记录我认为得重点:
操作符
1.一元操作符 - -s,s- -,++s,s++,主要区别在于计算时候得先后顺序,符号在前当然先计算,不过也要看上下运行环境,而单独得+,-操作符 会像number()函数一样先进行转换。
2.位操作符 ECMA 中所有数值都是按照64位格式储存 但操作符会先把64位换位32位操作结果再转换铖64位,所谓二进制指的是2得幂,详见P39,按位非,按位与,按位或,按位异或,左移,右移以及有符号移动,这里就不多做介绍了,目前暂时我还没用到过相关操作,但是已经看过几遍有大概印象
3.布尔操作符 逻辑非(!) 与其他类型转换规则相同判断之前会针对数据做转换 比如0,1 如果时null 或者undefined 逻辑非会返回true,而双谈号 !!效果与Boolean()效果相同模拟转型函数行为 返回true或者false
4.布尔操作符 逻辑与(&&)简单总结起来就是全真具真,一假具假,只要操作数有false值结果就返回false。
例子: var s = (NaN && Null && undefined); 看看结果。调换位置之后在看一下结果 并且 如果第一个参数是 对象的话在看一下结果,它会返回第一个参数的字符形式若是对象则返回这个对象,并且这里需要知道一点 在逻辑与的情况下第一个参数返回 false 第二个参数是不会被执行的,也就是不会拿去判断是否为 true! 这里无形之中就会规避很多问题所以要特殊处理一下。
5.布尔操作符 逻辑或(||)简单总结 有真则全真 ,全假则假 而规则基本与逻辑与相同,并且遵循了上述逻辑 若第一个参数执行结果为真,后面参数不会被再次执行。
6.乘性操作符 ECMA中定义了三个操作符:乘法 除法 和求模。 该操作符与JAVA C或者PERL中相对应操作符类似,每次计算之前若非数值情况下会先调用Number()方法转换一下,也就意味 空字符将被转换为0 而true将被转换为 1.
7.乘性操作符 乘法(*)计算乘机 语法类似C,说明一下一些特殊情况下的操作方式:
例如:① 乘机超过最大数值或者最小数值范围则返回infinity或者是-infinity
② 若其中一参数为NaN则结果为NaN
③ 正无穷与负无穷 与0相乘 结果为NaN 与非 0 相乘 结果为正无穷或者负无穷 取决于参数符号,正无穷与正无穷相乘结果为正无穷
④ 若其中一参数不为数值则调用Number()方法转换,转换结果遵循上述规则
8. 乘性操作符 除法(/) 与乘法规则基本相同 遵循上述规定 暂不做过多说明
9. 乘性操作符 求模(%) 起初对求模认识很浅 说白了就是两数值做除法的余数,一些特殊处理结果:、
① 求模法则略有不同 被除数为无穷大 而除数是有限大时结果为NaN,而除数是0时候结果依然NaN,而除数也是无穷大时候结果还是NaN
② 被除数是有限大而除数是无穷大 则结果是被除数,被除数是0的时候结果为0
10. 加性操作符 加法(+)