第三十五期(2019.10.11)

  1. 使用Babel创建自定义JavaScript语法

    https://lihautan.com/creating-custom-javascript-syntax-with-babel/

    https://juejin.im/post/5d9be731f265da5bbc3e879b

    // '@@' makes the function `foo` curried
    function @@ foo(a, b, c) {
    	return a + b + c;
    }
    console.log(foo(1, 2)(3)); // 6
    
  2. JavaScript 数组计数排序,计数排序是一个非基于比较的排序算法,它的优势在于在对一定范围内的整数排序时,快于任何比较排序算法

    https://juejin.im/post/5d9a8ebc518825095012b944

  3. 软件工程博客

    https://github.com/kilimchoi/engineering-blogs

  4. WebFundamentals,展示现代Web开发的最佳实践和工具。

    https://github.com/google/WebFundamentals

    https://developers.google.com/web/fundamentals

    20191010113423.png

  5. Svelte 从头开始构建 Web 应用程序所需的基础知识,Svelte 是 React、Vue 和 Angular 等 Web 框架的替代方案。与其同类产品一样,Svelte 可用于构建完整的 Web 应用程序。它还能用来创建自定义元素,这些自定义元素可以在使用其他框架实现的已有 Web 应用程序中使用。

    https://www.infoq.cn/article/5CFUiuLA3pry1xyz3Twq?utm_source=rss&utm_medium=article

  6. vue的响应式,Vue 最巧妙的特性之一是其响应式系统,vue packages/reactivity 模块下能找到对应的实现。Vue 3.0 使用了 Proxy 来代替之前的 Object.defineProperty(),改写了对象的 getter/setter,完成依赖收集和响应触发。附一份Vue 3 源码解读

    https://juejin.im/post/5d9da45af265da5b8072de5d

    <script src="./dist/reactivity.global.js"></script>
    <script>
    const { reactive, effect } = VueObserver
    
    const origin = {
    	count: 0
    }
    const state = reactive(origin)
    
    const fn = () => {
    	const count = state.count
    	console.log(`set count to ${count}`)
    }
    effect(fn)
    </script>
    
  7. 通过 import() 执行 javascript 代码

    https://2ality.com/2019/10/eval-via-import.html

    const js = `console.log('Hello everyone!');`;
    const encodedJs = encodeURIComponent(js);
    const dataUri = 'data:text/javascript;charset=utf-8,'
    	+ encodedJs;
    import(dataUri);
    
    // Output:
    // 'Hello everyone!'
    // 仅在Web浏览器中有效。在Node.js上,import()不支持数据URI。
    
  8. carbon:创建并共享源代码的精美图片,你见过推特上面的 这 些 代码 图片 吗? 虽然这些代码图片给人印象深刻,但就审美程度来说还有可改进的地方。Carbon 可以很容易的为你的代码创建漂亮的图片。体验一下

    https://github.com/carbon-app/carbon/blob/master/docs/README.cn.zh.md

    20191010163719.png

  9. sweetalert2:一个弹窗组件库

    https://github.com/sweetalert2/sweetalert2

  10. cropperjs:javascript图片裁剪库

    https://github.com/fengyuanchen/cropperjs

  11. revocable-queue:允许异步读取/写入一系列数据值(又名队列),类似于流或可观察对象。但是,任何仍在队列中待处理的数据/事件(尚未读取)都可以撤消。

    https://github.com/getify/revocable-queue

Last Updated: 10/11/2019, 9:54:55 AM