Kaifei's Blog

blog.xiekaifei.com


  • 首页

  • 分类

  • 标签

  • 归档

  • 搜索

JavaScript中的__proto__与prototype

发表于 2019-10-29 | 分类于 技术 , JavaScript

  最近接了几个面试,个别出色的面试官在面试技术部分的时候总是很考察被试者的原生js能力,而业务逻辑写多了就会逐渐淡忘掉最基础同时也是最重要的js知识。所以,工作的同时多复习原生js知识是非常重要的。今天就来聊一下js中__proto__和prototype。

阅读全文 »

JavaScript的赋值、浅拷贝和深拷贝

发表于 2019-07-19 | 分类于 技术 , JavaScript

  js里的数据类型分为基本数据类型和引用数据类型,基本数据类型有undefined, boolean, number, string, null, Symbol(ES6中新增),而引用数据类型就是Object。两种类型在赋值上面是有一些区别的。

阅读全文 »

Hexo博客系统常用命令

发表于 2019-07-13 | 分类于 技术 , 工具

  我的博客使用的是Hexo框架,可以很方便的使用一些命令编辑博文,发布文章或者本地预览等操作。但是每次写文章的时候,都会忘记一部分命令(主要原因博客写的太少…)导致每次都需要google查询这些操作的命令。这次干脆总结一下常用的命令,方便下次使用。

阅读全文 »

vim常用编辑快捷键

发表于 2019-07-13 | 分类于 技术 , 工具

  在使用终端的时候,免不了会使用vi/vim编辑器来编辑文件。下面罗列一些编辑时的常用快捷键,可以提高使用效率。完整版的vim使用教程见最底部的引用链接。

阅读全文 »

JavaScript创建ajax异步请求

发表于 2019-05-06 | 分类于 技术 , ajax

  利用ajax,可以创建异步请求,从而实现在不影响整个页面的情况下,局部更新网页某处的数据。

  异步请求可以应用在多个地方,最常见的就是我们在注册某个网站账号的时候,输入要注册的用户名,当鼠标焦点离开用户名输入表单的时候,如果输入的用户名已经存在于网站内,右侧会给出有相同用户名的提示。试想如果没有该功能,用户就必须在所有信息都填写完毕的情况下,点击”提交”按钮,才能知道用户名是否可以使用,大大降低效率。

阅读全文 »

Mac OS下使用自带终端ssh连接服务器

发表于 2019-04-05 | 分类于 技术 , 工具

  之前在Windows环境下都是用PuTTY这款软件来连接和保存远程服务器地址的,而在Mac OS下可以使用自带的终端(terminal)直接连接和保存,非常方便。

1.直接连接

  首先打开Mac下的终端,输入:ssh -p 端口号 服务器用户名@ip,例如:

1
ssh -p 22 root@192.168.1.8
阅读全文 »

Vue.js实例的生命周期

发表于 2019-02-13 | 分类于 技术 , Vue.js

  vue实例有一个完整的生命周期,先上一段vue.js官网对vue实例生命周期的解释:

每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。

  同时,在这个过程中,会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。

阅读全文 »

2019春运回家路

发表于 2019-01-24 | 分类于 生活

  转眼间又要过年了,又到了号称“人类史上最大规模迁徙”的春运,而我自从毕业参加工作以后,也是每年都参与其中。今年是我工作地距离家最远的一次,重庆到张家口宣化,地图显示开车到家需要20小时左右,1733公里,因为我还没有车(当然即使有也不会这么远开车回家),所以早早的也加入了抢票大军。今年的假期还算比较长,年假、假期加上老板今年心情美丽(这里要感谢老板),额外给了三天带薪年假,算下来一共有20天的时间,可以好好的回家耍一耍了。

  先说一下行程,重庆到宣化和张家口都没有直达的火车,所以必须从离家比较近的北京中转,路程就变为了“重庆—北京—宣化”。原本计划的是坐火车回家,也提前在智行上抢到了两程的火车票。某天在小胖妹儿的提醒下看了机票,正好看到海航有重庆至北京的特价机票,赶紧退了重庆到北京的火车票,买了机票回家,算下来相比18个小时的火车票,坐飞机节省了15个半小时,而且当天就能到家,还是相当不错的。

阅读全文 »

JavaScript继承

发表于 2018-12-20 | 分类于 技术 , JavaScript

原型链继承

  上篇《JavaScript中的构造函数及原型模式》的文章里提到了只要创建了一个新函数,就会为该函数创建一个prototype属性(指向函数的原型对象),所有的原型对象都会自动获得一个constructor属性,这个属性包含一个指向构造函数的指针。下面先看代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function One() {
this.a = 'a'
this.num = [1, 2]
}
One.prototype.sayName = function () {
console.log('xiaoming')
}
function Two() {
}
Two.prototype = new One() // 直接把继承函数prototype指向的构造函数改为被继承的构造函数

var two = new Two()
two.sayName() // 控制台打印"xiaoming",继承了One()的方法
var two2 = new Two()
two2.num.push(3)
two2.a = 'b'

two2.num // 输出[1, 2, 3]
two.num // 输出[1, 2, 3]
two2.a // 输出b
two.a // 输出a
阅读全文 »

JavaScript中的构造函数及原型模式

发表于 2018-12-19 | 分类于 技术 , JavaScript

  今天详细了解了一下JavaScript中构造函数和原型模式的相关知识,做了一个总结,以便日后做一个参考。

构造函数

  构造函数可以用来创建特定类型的对象。先来看一个构造函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
function Person(name, age) {
this.name = name
this.age = age
this.sayName = function() {
console.log(this.name)
}
}

var xm = new Person("小明", 20) // 这句代码干了四件事
// 1.创建了一个新对象 2.将Person的作用域赋值给新对象 3.执行Person内的代码 4.将这个新对象返回给xm
xm.name // 小明
xm.age // 20
xm.sayName() // 控制台打印小明的名字
阅读全文 »
123
Kaifei Xie

Kaifei Xie

Kaifei's Blog

23 日志
9 分类
20 标签
E-mail
© 2018 — 2025 Kaifei Xie
0%