Github + Travis 自动构建 Vue 项目到 Gitpage

github + travis 自动构建 vue 项目到 gitpage

阅读全文

四个JS小技巧

一、尽早结束

function transformData(rawData) {
// check if no data
if (!rawData) {
return [];
}

// check for specific case
if (rawData.length == 1) {
return [];
}

// actual function code goes here
return rawData.map(item => item);
}

阅读全文

数组、对象的深拷贝

数组的深拷贝

function copyObjectArray(x) {
return [...JSON.parse(JSON.stringify(x))];
}

// example 1
const test = [
{
name: 'Amy',
age: 18,
},
];
let test1 = copyObjectArray(test);
test1[0].name = 'Jack';
console.log(test, test1);
// test: [ { name: 'Amy', age: 18 } ] test1: [ { name: 'Jack', age: 18 } ]

阅读全文

对象属性值监听

Demo

let data = {
title: 'hello world!',
};

function definePropertyData(obj, prop, value) {
Object.defineProperty(obj, prop, {
get: function() {
console.log(111);
return value;
},
set: function(newValue) {
value = newValue;
},
});
}

definePropertyData(data, 'title', data.title);

console.log(data.title); // 111 hello world!
data.title = 38;
console.log(data.title); // 111 38

阅读全文

代码优化

用 vue 进行前端开发,怎么做到函数式编程呢?

每次做完项目,都会发现自己在代码的解耦,接口的封装方面做的还不够,后期必定会多次进行优化,在优化的过程中,就想到,如何把零散的代码,编程整体性更强的代码,使人一看到就知道手脚在哪里。在这里我的总结是,按功能点进行函数的封装,一个大点是一个函数,这个大点里面又有很多小点,可以把函数赋值给变量,进行使用,这样就不用每次都跳来跳去了,维护起来也更方便快捷。

阅读全文

时间戳转日期

Demo

function timeStampFormat(x) {
const date = new Date(+x * 1000);
const [m, d] = [date.getMonth() + 1, date.getDate()];
return `${m}-${d}`;
}
const day = timeStampFormat(1560751917);
console.log(day);

阅读全文

CSS3 动画 vs Js 动画

之前被问到过,css3 动画与 js 动画孰优孰劣,脑袋的第一反应就是性能上肯定 css3 动画会好很多,但别人说不对,我就在想,不对?难道还有别的原因吗?答案是肯定的。先来看看二者实现动画的原理吧。

阅读全文

滚动翻页

一、 功能描述

有一个 list,长度不确定,显示区域只能容纳四条数据,往下滚动显示当前四条数据的前四条,往下滚动则显示当前数据的后四条。除了滚动切换数据之外,还能通过上下翻页键切换数据,切换数据的交互需要跟滚动效果一样。

阅读全文

日语学习笔记

一、日语关于介绍的基本句型

  1. n + は + n + です ……是……

阅读全文

KNN算法

KNN 算法是做什么的

KNN 算法, 即 K 最邻近算法,通过对比与临近事物的相似度,可以对具有特征的事物进行分类,也可以根据这些分类,预测下一步的结果。

阅读全文