标签: ECMAScript

 

rollup搭建项目

现在的项目基本都开始用rollup搭建的,很快要放弃webpack了。

初始化

npm init

接着按照步骤填入信息,生成package.json,默认入口为main.js,暂时写成main.js,后面会修改入口文件为编译后的文件

在根目录新建src文件夹,在src文件夹下新建main.ts文件:[……]

继续阅读

双调排序

什么是双调排序

百度百科:

双调排序(bitonic sort)属于排序网络(Sorting Network)的一种。相较于传统的排序算法,排序网络真正的研究价值在于,假如有机器可以同时处理多个比较器,排序的速度将大幅度提高。简单来说,它是一种可以并行计算的排序算法。

very good的百度[……]

继续阅读

ES262 Map的简单理解

新版ES262的Map应该和HasMap类似,理解HashMap基本就能理解Map,以下所有代码均为逻辑代码。

Map数据结构

数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。

数组方式

数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,[……]

继续阅读

组件编程四

组件封装好后,与常用的框架或库类似。

当全局样式和组件内样式能够很好的控制后,下面对之前的自定义组件进行完善:

<template id="new-template">
    <div class="wrapper">
        <div class="ov[......]

继续阅读

组件编程三

样式覆盖

自定义组件的问题在于样式覆盖:

<style type="text/css">
    button {
      background: #8B008B;
      color: white;
      padding: 2ch 4ch;
      border:[......]

继续阅读

组件编程二

WEB一直在往自然言语化方向发展,而组件则是自然语言化很好的方式和体现。

自定义组件

与React或Angular相似,一切自定义标签都继承HTMLElement类:

class WaHaha extends HTMLElement {
  connectedCallback() {[......]

继续阅读

组件编程一

用的久了也就忘了。。。

自定义标签

<indeex-component></indeex-component>
class IndeexComponent extends HTMLElement {
  connectedCallback() {
    this.i[......]

继续阅读

编辑器基本思路

一、contentEditable

div的contentEditable属性可以让div进入编辑模式,禁止可以使用contentEditable=false。

二、Selection

浏览器中内置了获取用户操作的方法:

let selection = window.getSelection[......]

继续阅读

数据结构

数据结构的讲解很少,而且零零散散的,把以前使用其他ECMAScript实现的整理再用Typescript重新记录下。

数组

一切从数组开始:

由于ECMAScript比较灵活,数组也一样,语法也简单:

let arr: number[] = [];
for(let i: number = 0[......]

继续阅读

Vue 3.0使用

Vue 3.0 beta发布了。。

环境准备

可以使用beta的测试页面

测试页面

vue-next-webpack-preview

Minimal webpack setup for Vue 3 (beta)

This is for preview purposes only.[……]

继续阅读