过年的时候阿里微信的红包大战打的火热,产品也准备蹭个热点,搞了一个活动页,仿阿里的咻一咻。
声音播放用的是jwplayer,有点杀鸡用牛刀的感觉,没办法,特殊原因必须需要支持Chrome/25.0.1364.172,<audio>
如此方便的标签只能看不能用,让我先哭会去。
过年的时候阿里微信的红包大战打的火热,产品也准备蹭个热点,搞了一个活动页,仿阿里的咻一咻。
声音播放用的是jwplayer,有点杀鸡用牛刀的感觉,没办法,特殊原因必须需要支持Chrome/25.0.1364.172,<audio>
如此方便的标签只能看不能用,让我先哭会去。
当我们进行 null == undefined 的判断时,发现返回的结果是true。
因为JS标准规范定义:
If x is null and y is undefined, return true。
所以可以通过 var a; if (a == null){} 判断对象是否为空。
网上看到的图片,千言万语都在其中。
不多说了,直接上图
Node.js的模块的载入及缓存机制如下:
1)载入内置模块(A Core Module)
2)载入文件模块(A File Module)
3)载入文件目录模块(A Folder Module)
4)载入node_modules里的模块
5)自动缓存已载入模块。
如果模块名不是路径,也不是内置模块,Node将试图去当前目录的node_modules文件夹里搜索。如果当前目录的node_modules里没有找到,Node会从父目录的node_modules里搜索,这样递归下去直到根目录。
可以在项目目录下使用 node 命令(已在路径C:\Users\xxx>
为例),然后输入 global.module.paths查看Node.js加载node_modules模块的顺序。
content mode 分为cell-based和view-based两种模式,他们之间有什么区别呢?
先上Demo
WWDC上的相关文档view_based_tableview,TableViewOverview
关于这两者的区别,cell-based是更早期的做法,简单高效,但是随着技术的发展,需要更多更炫的效果,就诞生了view-based.苹果是建议使用view-based模式的。下面是官方的说法:
对于Xcode中实现程序的本地化花了点时间做了简单地了解。
首先Xcode中实现本地化有两种机制:
前者是后来苹果改进后的做法,所以现在创建的默认程序都是用的Use Base Internationalization的方法,官网中老的demo则都是第二种方式。两者相结合使用,则会更灵活地实现需要的效果。
两则的区别是Use Base Internationalization后,会创建Base.lproj的文件夹,然后把相关的xib文件都放到里面。而翻译的内容则会放到对应语言的lproj文件夹中,如英语,则在en.lproj文件夹中又对应xib的strings文件,只要在这里面做对应的翻译即可。
而第二种方式,更直接,但是会更占空间,对应语言的文件夹(如en.lproj)中将会多出一份在Base.lproj文件夹中的xib的copy,所有的翻译都在xib上进行即可。(也可以重新调整界面)