标签:JavaScript
共 34 篇文章
Event Loop 也叫事件循环,是 JavaScript 中的基础概念,听起来蛮唬人,查了一些资料,斗胆用大白话来说说这个东西。PS:仅限浏览器的讨论。
这一切还要从 JavaScript 的诞生说起,因为造它的用途简单,就是来浏览器“谈谈心”。谈心嘛,套路什么的不用太深,给你一个单线程的脑子就够了。于是乎,这“一根筋”的 JavaScript 就来到了人间,虽然这个呆头呆脑的家伙后来上了一件叫 “Worker” 的装备,也开始学会了城里人的套路,但它总归是村里出来的(web worker本身限制诸多,有空再叨),再多的套路也没变了它“一根筋”的本质。
继续阅读最近要使用LeanCloud的数据,导出来是一个JSON格式的文件,妹子根本没办法打开处理,于是使用 Node 将这个JSON文件转换成CSV格式的文件,让她能在EXCEL中打开使用。
用到了2个库,一个是 zemirco/json2csv,另外一个就是系统自带的 fs 模块了。json2csv 这个库非常强大,可以在命令行及Javascript module方式使用,具体使用参考github地址即可。
开发时候经常会打印很多log,开始的时候还好,可后来就会打印一堆log出来,有时候调试为了找自己的log就会使用如下的句式:
console.log('=============================>', a)
有没有办法让log更显眼一点?有。官方文档中说可以设置一个 %c 来指定输出样式。
前段时间看到苹果官方将对PWA提供支持,之前看到沪江也已经开始了PWA的尝试,于是尝试自学了一把,写点心得。
Your First Progressive Web App
继续阅读继续学习《JavaScript高级程序设计》,体会原生 JavaScript 之美。今天记录2个有用的属性。
HTML5 对DOM操作 class 做了优化,增加了 classList 属性,从此再也不用对 className 做字符串操作了。它有4个方法
add // 增加一条属性(已经存在就不添加)
contains // 判断属性是否存在
remove // 删除属性
toggle // 如果存在就删除,不存在就添加。这个好玩~
继续阅读
《JavaScript高级程序设计》(第三版)中发现了一个问题,在P254中有这么一句
html === document.childNodes[0]
作者当时写书的时候,document.childNodes[0] 返回的是html元素,也就是说返回 true, 但我在读的时候试验了一下,发现是不对的。
在读《JavaScript高级程序设计》(第三版)中发现了document.implementation.hasFeature 方法,这个方法功能很强大,可以检测到浏览器是否支持某些功能。(P259)
于是我赶紧使用了一下,发现:
document.implementation.hasFeature('Range',"40000000.0")
继续阅读
最近做了一个小需求,需要判断网页是不是在微信内打开的,打印了一下微信浏览器的UA,写了一个简单的小函数。
function checkWechatBrowser () {
var userAgent = navigator.userAgent.toLowerCase();
return (/MicroMessenger/ig).test(userAgent);
};
继续阅读
说一个小坑吧。
之前在看《JavaScript高级程序设计》的时候,看到这样一句话:“它只是对数组中的每一项运行传入的函数,这个方法没有返回值,本质上与使用for循环迭代数组一样。”(P97)
继续阅读Maybe it's a big bug that I had experienced recently, when I use JavaScript method Date.parse('2016-10-24 18:36'), two different outputs in Android and IOS. In Android it output the right timestamp which i need, but in IOS, it can not get the timestamp.