我的博客


  • 首页

  • 归档

  • 标签

  • 搜索

排序算法

发表于 2017-07-18 | 阅读次数

什么是算法

高德纳《计算机程序设计艺术》里对算法的归纳:

输入:一个算法必须有零个或以上输入量
输出:一个算法应有一个或以上输出量
明确性:算法的描述必须无歧义,实际运行结果是确定的
有限性:必须在有限个步骤内结束
有效性:又称可行性。能够被执行者实现

阅读全文 »

如何在手机上调试

发表于 2017-07-18 | 阅读次数

1.手机和电脑处于同一个wifi
2.在电脑上启动一个http server

1
npm i -g node-static
2
static --host-address=0.0.0.0

3.找到电脑的局域网IP,访问列如:http://192.168.1.102:8080/index.html
4.边预览边改代码

阅读全文 »

Git命令行的使用

发表于 2017-07-06 | 阅读次数

Git是什么?

Git 属于分散型版本管理系统,是为版本管理而设计的软件。

远程仓库

创建公开密钥认证所需的ssh key

1
$ ssh-keygen -t rsa -C "your_email@example.com"
2
Generating public/private rsa key pair.
3
Enter file in which to save the key
4
(/Users/your_user_directory/.ssh/id_rsa): 按回车键
5
Enter passphrase (empty for no passphrase): 输入密码
6
Enter same passphrase again: 再次输入密码

id_rsa 文件是私有密钥,id_rsa.pub 是公开密钥。

阅读全文 »

如何学习前端

发表于 2017-07-03 | 阅读次数

知识焦虑 ——新出现的东西太多了

过去的学习方式解决焦虑,读书看报。

新知识不断涌现,如何终生学习。

不知道新知识,无法融入环境中,怎么办呢?

阅读全文 »

var与let的区别

发表于 2017-06-26 | 阅读次数

var

var 声明的变量是函数作用域变量。

1
var a = 1;
2
var a = 2;
3
等价于
4
var a;
5
var a;
6
a = 1;
7
a = 2;

var 声明的变量提到作用域的前方,简称变量提升。

看一个例子

1
var a = 1;
2
function foo(){
3
  alert(a);
4
  var a = 2;
5
}
6
foo.call()

alert(a)打出来的是什么?

阅读全文 »

获取子字符串的三种方法

发表于 2017-06-26 | 阅读次数

slice()、substring()和substr()

这三个方法都返回被操作字符串的一个子字符串,而且也都接受一或两个参数。

slice() 第一个参数指定子字符串的开始位置,第二个参数指定的是子字符串的结束位置(但不包括)。

substring() 第一个参数指定子字符串的开始位置,第二个参数指定的是子字符串的结束位置(但不包括)。

substr() 第一个参数指定子字符串的开始位置,第二个参数指定的是返回字符个数。

阅读全文 »

使用原生JS实现事件委托

发表于 2017-06-17 | 阅读次数

事件委托是什么

把若干个节点上的相同事件的处理函数event listener绑定到它的父节点上去, 在父节点上统一处理,减轻对event listener的管理负担。

为什么要有事件委托

1.监听还不存在的元素或者已经存在的元素
2.减少监听器的个数

阅读全文 »

js事件机制:冒泡与捕获

发表于 2017-06-16 | 阅读次数

基础知识

1.操作系统最先知道用户点击了鼠标,浏览器次之
2.child 被点击了,意味着 parent 也被点击了
3.如果我同时监听了 child 和 parent,那么谁先通知我?这是个问题。

捕获阶段

parent 先通知,child 后通知

1
<body>
2
  <div class="parent">
3
    <div class="child"></div>
4
  </div>
5
<script>
6
  var parent = document.getElementsByClassName("parent")[0];
7
  var child = document.getElementsByClassName("child")[0];
8
  child.addEventListener('click',function(){
9
    console.log("child")
10
  },true)
11
  parent.addEventListener('click',function(){
12
    console.log("parent");
13
  },true)
14
  document.body.addEventListener('click',function(){
15
    console.log("body");
16
  },true)
17
</script>
18
</body>
阅读全文 »

console方法详解

发表于 2017-06-16 | 阅读次数

console对象是JavaScript的原生对象,可以输出各种信息到控制台,并且还提供了很多额外的有用方法。

它的常见用途有两个。

调试程序,显示网页代码运行时的错误信息。
提供了一个命令行接口,用来与网页代码互动。

console.assert()

判断第一个参数是否为真,false的话抛出异常并且在控制台输出相应信息。

assert方法接受两个参数,第一个参数是表达式,第二个参数是字符串。只有当第一个参数为false,才会输出第二个参数,否则不会有任何结果。

1
console.assert(true === false, '判断条件不成立')
2
// Assertion failed: 判断条件不成立
阅读全文 »

阻止页面跳转的3种方法

发表于 2017-06-16 | 阅读次数

第一种方法

1
<a href="http://www.baidu.com" onclick="return false">baidu</a>

第二种方法

1
<a id=xxx href="http://www.baidu.com">baidu</a>
2
<script>
3
  xxx.onclick = function(){
4
    return false
5
  }
6
</script>
阅读全文 »
上一页1…567下一页
shadow

shadow

70 日志
50 标签
GitHub 简书
© 2017 - 2020 shadow