🔍 登录 注册
分类:
标签: 共 1222 篇文章

TypeScript学习笔记(一)

## TypeScript TypeScript是JavaScript类型的超集,它可以编译成纯JavaScript。 TypeScript可以在任何浏览器、任何计算机和任何操作系统上运行,并且是开源的。 ### 安装 ``` # 全局安装typescript npm install -g typescript ``` ### 接口声明 ``` // 声明一个接口 export default interface Sociality { makeFriend():Boolean doGame():void } ``` ### 类的声明并导出 ``` // 引入接口 import Sociality from './Sociality'; // 声明一个类,实现Sociality接口 export default class Person implements Sociality { // 声明私有变量name,string类型 private name:string // 声明私有变量age,number类型 priva

大 大苹果 2018/5/23 👍 0 ⭐ 0 💬 0

npm包的制作与发布使用

## 制作npm包的步骤 1. 注册npm账户 ``` npm adduser ``` 或者登陆[npm官网](https://www.npmjs.com/signup)注册 2. 登陆npm账户 ``` npm login ``` 3. 编写npm包 * 初始化package.json并配置 ``` npm init ``` ``` { "name": "包名", "version": "版本号", "description": "描述", "main": "入口文件", "scripts": { "test": "配置测试" }, // 配置git仓库 "repository": { "type": "git", "url": "git仓库地址" }, "keywords": [

大 大苹果 2018/5/22 👍 0 ⭐ 0 💬 0

React、Redux和redux-thunk的简单应用

## react-redux、redux ### connect、Provider,createStore * 用法 ``` // redux/index.js const ADD = 'add'; const SUB = 'sub'; export function counter(state = 0, action) { switch(action.type) { case ADD: return state + 1; case SUB: return state - 1; default: return state; } } // action export function add() { return {type: ADD}; } // action export function sub() { return {type: SUB}; } // index.js 入口 import React from 'react

大 大苹果 2018/5/22 👍 0 ⭐ 0 💬 0

JavaScript封装、继承和多态实现

## 封装(概念) 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。封装是面向对象的特征之一,是对象和类概念的主要特性。 简单的说,一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体。在一个对象内部,某些代码或某些数据可以是私有的,不能被外界访问。通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。 ## 继承(概念) 继承是指可以让某个类型的对象获得另一个类型的对象的属性的方法。它支持按级分类的概念。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程,就是从一般到特殊的过程。要实现继承,可以通过“继承”(Inheritance)和“组合”(Composition)来实现。继承概念的实现方式有二类:实现继承与接口继承。实现继承是指直接使用基类的属性和方法而无需额外编码的能力;接口继承是指仅使用属性和

大 大苹果 2018/5/21 👍 0 ⭐ 0 💬 0

es6新类型之Symbol学习笔记(二)

## Symbol ### 全局注册Symbol实现Symbol的共享 * 使用Symbol()函数的上述语法不会创建整个代码库中可用的全局Symbol。 要创建跨文件甚至跨域的Symbol(每个域都有自己的全局作用域),请使用Symbol.for()和Symbol.keyFor()方法设置和检索全局符号注册表中的符号。 * 在对象上查找Symbol属性 Object.getOwnPropertySymbols()方法返回一个符号数组,并允许您在给定对象上查找符号属性。 请注意,每个对象都没有自己的符号属性进行初始化,因此除非您已经在对象上设置符号属性,否则此数组将为空。 ### 属性 * Symbol.length 长度属性值为0 * Symbol.prototype 表示Symbol构造函数的原型 * 内置符号 除了自己的符号之外,JavaScript还有一些内置的符号,代表了内部语言行为,这些符号在ECMAScript 5以及之前没有向开发者公开。 这些符号可以使用以下属性进行访问: #### Iteration symbols * Sy

大 大苹果 2018/5/21 👍 0 ⭐ 0 💬 0

redux与redux-thunk的使用

## redux * redux是一个可预测的状态容器,(区别于Wordpress framework - Redux Framework) * 它可以帮助您编写在不同环境(客户端,服务器和本地)中运行一致并且易于测试的应用程序。 最重要的是,它提供了出色的开发者体验,例如结合时间旅行调试器进行实时代码编辑。 * 你可以结合react一起使用redux。或者其他任何的视图库,redux很小,包括依赖仅仅2kb。 * 安装 ``` npm install --save redux # 补充包 # 也许你还要和react一起使用,并且需要开发工具 npm install --save react-redux npm install --save-dev redux-devtools ``` * 例子 ``` import { createStore } from 'redux' /** * 这是一个reducer,它是一个具有(state,action)=>状态签名的纯函数。 * 它描述了动作如何将状态转换为下一个状态。 * 状态的形状取决于你:它可以是一个基元,一个数组

大 大苹果 2018/5/20 👍 0 ⭐ 0 💬 0

React、Fiux与redux的学习笔记

## React React 是一个 View 层的框架,用来渲染视图,它主要做几件事情: 组件化利用 props 形成单向的数据流根据 state 的变化来更新 view利用虚拟 DOM 来提升渲染性能 ![1234567.JPG](http://pblog.okgoes.com/upload/images/2018_5_20/blog_okgoes_com1526823558_53.JPG) 前面说到 React 能够根据 state 的变化来更新 view,一般来说引起 state 变化的动作除了来自外部(如服务器),大部分都来自于页面上的用户活动,那页面上的用户活动怎样对 state 产生作用呢?React 中每个组件都有 setState 方法用于改变组件当前的 state,所以可以把更改 state 的逻辑写在各自的组件里,但这样做的问题在于,当项目逻辑变得越来越复杂的时候,将很难理清 state 跟 view 之间的对应关系(一个 state 的变化可能引起多个 view 的变化,一个 view 上面触发的事件可能引起多个 state 的改变)。我们需要对所

大 大苹果 2018/5/20 👍 0 ⭐ 0 💬 0

es6新类型之Symbol学习笔记(一)

## Symbol * Symbol()函数返回一个类型符号的值,具有暴露内置对象的几个成员的静态属性,具有公开全局符号注册表的静态方法,并且类似于内置对象类,但作为构造函数不完整,因为 它不支持“new Symbol()”语法。 * 从Symbol()返回的每个符号值都是唯一的。 符号值可以用作对象属性的标识符; 这是数据类型的唯一目的。 关于目的和用法的进一步解释可以在Symbol的词汇表中找到。 * symbol 是原始数据类型 ``` // JavaScript Demo: Symbol - Constructor const symbol1 = Symbol(); const symbol2 = Symbol(42); const symbol3 = Symbol('foo'); console.log(typeof symbol1); // expected output: "symbol" console.log(symbol3.toString()); // expected output: "Symbol(foo)" console.log(Symbol('

大 大苹果 2018/5/18 👍 0 ⭐ 0 💬 0

HTML <meta> 标签详解

**浏览器支持情况**: |||||| |:---:|:---:|:---:|:---:|:---:| |IE|Firefox|Chrome|Safari|Opera| |![ie](/ueditor/php/upload/image/20180205/1517806751254703.png)|![火狐](/ueditor/php/upload/image/20180205/1517806751451591.png)|![谷歌](/ueditor/php/upload/image/20180205/1517806751394694.png)|![safari](/ueditor/php/upload/image/20180205/1517806751864996.png)|![opera](/ueditor/php/upload/image/20180205/1517806752770830.png)| 所有浏览器都支持 <meta> 标签。 **定义和用法** <meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关

大 大苹果 2018/2/5 👍 0 ⭐ 0 💬 0

vue中使用vuex

首先是vuex的安装 ``` npm install vuex --save ``` 引入并引用vuex ``` import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) ``` 创建store.js ``` const store = new Vuex.Store({ state: { count: 0 }, mutations: { increment (state) { state.count++ } } }) ``` 现在,你可以通过 store.state 来获取状态对象,以及通过 store.commit 方法触发状态变更: ``` store.commit('increment') ``` 引用store的两种方式,在组件中引用 ``` // 在组件中引用 import store from 'store' ``` 通过在根实例中注册 store 选项,该 store 实例会注入到根组件下的所有子组件中,且子组件能通过 this.$stor

大 大苹果 2018/5/2 👍 0 ⭐ 0 💬 0

js基础算法学习

1. 移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组 ``` //递归实现 function remove(arr, item) { var newArr = arr.slice(0); if (newArr.indexOf(item) === -1) { return newArr; } newArr.splice(newArr.indexOf(item), 1) return remove(newArr, item); } //循环遍历实现 function remove1(arr, item) { var newArr = []; arr.forEach(function(e, index, arr){ if(e !== item){ newArr.push(e); } }) return newArr; } ``` 2.直接在原数组上操作 ``` function removeWi

大 大苹果 2018/4/22 👍 0 ⭐ 0 💬 0

兔子繁殖问题编程

问题如下: 有人养了一对兔子,这对兔子以后每月生一对兔子,新生兔子从第三个月开始,也是每月生一对兔子,问 12 个月后这人有多少对新生兔子? 首先分析: ![image.png](/ueditor/php/upload/image/20180411/1523455947625163.png) 从上可以知道,从3月份开始每月增加的兔子对数成等差数列,因此此题从3月份开始可以通过求等差数列的前n项和求每月的兔子对数。 ![image.png](/ueditor/php/upload/image/20180411/1523457025559996.png) 因为是从三月开始所以n= n- 2; 首项为1,化简后得: result = 2 + (n - 2) + (n \* n - 5n + 6) / 2; 其中n要大于等于2; 1月则返回1对兔子 C语言编程如下: ``` /* 有人养了一对兔子,这对兔子以后每月生一对兔子,新生兔子从第三个月开始,也是每月生一对兔子,问 12 个月后这人有多少对新生兔子 */ #include <stdio.h> int main(

大 大苹果 2018/4/11 👍 0 ⭐ 0 💬 0