跳转至

2020-12-0x02

Notes

VSCode Python 的 feature 还是 Bug ?

A VSCode Python feature

Be able to disable automatic test discovery on save

这个 feature 会在你保存测试用例代码的时候 autotest

可以在设置中关闭这个 feature

中华人民共和国国家标准GB/T15834-2011标点符号用法

中华人民共和国国家标准GB/T15834-2011标点符号用法

书名号之间其实不需要顿号

《红楼梦》《三国演义》《西游记》《水浒传》,是我国长篇小说的四大名著

polyfill

polyfill 用于实现浏览器并不支持的原生API的代码

Array.map Polyfill

// Production steps of ECMA-262, Edition 5, 15.4.4.19
// Reference: http://es5.github.io/#x15.4.4.19
if (!Array.prototype.map) {

  Array.prototype.map = function(callback/*, thisArg*/) {

    var T, A, k;

    if (this == null) {
      throw new TypeError('this is null or not defined');
    }

    // 1. Let O be the result of calling ToObject passing the |this|
    //    value as the argument.
    var O = Object(this);

    // 2. Let lenValue be the result of calling the Get internal
    //    method of O with the argument "length".
    // 3. Let len be ToUint32(lenValue).
    var len = O.length >>> 0;

    // 4. If IsCallable(callback) is false, throw a TypeError exception.
    // See: http://es5.github.com/#x9.11
    if (typeof callback !== 'function') {
      throw new TypeError(callback + ' is not a function');
    }

    // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
    if (arguments.length > 1) {
      T = arguments[1];
    }

    // 6. Let A be a new array created as if by the expression new Array(len)
    //    where Array is the standard built-in constructor with that name and
    //    len is the value of len.
    A = new Array(len);

    // 7. Let k be 0
    k = 0;

    // 8. Repeat, while k < len
    while (k < len) {

      var kValue, mappedValue;

      // a. Let Pk be ToString(k).
      //   This is implicit for LHS operands of the in operator
      // b. Let kPresent be the result of calling the HasProperty internal
      //    method of O with argument Pk.
      //   This step can be combined with c
      // c. If kPresent is true, then
      if (k in O) {

        // i. Let kValue be the result of calling the Get internal
        //    method of O with argument Pk.
        kValue = O[k];

        // ii. Let mappedValue be the result of calling the Call internal
        //     method of callback with T as the this value and argument
        //     list containing kValue, k, and O.
        mappedValue = callback.call(T, kValue, k, O);

        // iii. Call the DefineOwnProperty internal method of A with arguments
        // Pk, Property Descriptor
        // { Value: mappedValue,
        //   Writable: true,
        //   Enumerable: true,
        //   Configurable: true },
        // and false.

        // In browsers that support Object.defineProperty, use the following:
        // Object.defineProperty(A, k, {
        //   value: mappedValue,
        //   writable: true,
        //   enumerable: true,
        //   configurable: true
        // });

        // For best browser support, use the following:
        A[k] = mappedValue;
      }
      // d. Increase k by 1.
      k++;
    }

    // 9. return A
    return A;
  };
}

Javascript 展开语法

Javascirpt 展开语法

function sum(x, y, z) {
  return x + y + z;
}

const numbers = [1, 2, 3];

console.log(sum(...numbers));
// expected output: 6

console.log(sum.apply(null, numbers));
// expected output: 6

Share

浏览器有几种储存机制?讲一讲:Storage for the Web

Storage for the Web

  • IndexedDB
  • Cache Storage API
  • SessionStorage
  • LocalStorage
  • Cookies
  • File System API
  • File System Access API
  • Application Cache

Chrome is Bad?

Chrome is Bad

Short story: Google Chrome installs an updater called Keystone on your computer, which is bizarrely correlated to massive unexplained CPU usage in WindowServer (a system process)[1], and made my whole computer slow even when Chrome wasn't running. Deleting Chrome and Keystone made my computer way, way faster, all the time. Click here for instructions.

LabStories 十一月徒步

LabStories 十一月徒步

vanilla-js

vanilla-js

Vanilla JS is a fast, lightweight, cross-platform framework for building incredible, powerful JavaScript applications.

Documents

Obsdian 手册

Obsidian-docs

Obsidian 是一个基于 Markdown 进行记录的知识库软件

WebAssembly 导学

the-lean-web

the-lean-web

精益网络是一套建立更简单、更快速的万维网的原则

References


最后更新: 2021-02-01
创建日期: 2020-12-22