一名前端工程师的自学之路!Js篇(11-22更新)

96
自律更自由
2017.11.22 19:20* 字数 1433

看到标题能进来的小伙伴,我也就不废话,先推荐一本必买的书《JavaScript高级程序与设计》。今天接着上一篇文章还是分享最基础入门的一些Js的知识。

1、构造函数 和对象

构造函数:可以通过new 关键字 创建一个对象 ,这样的函数 就叫做 构造函数

对象:将一堆信息 组合起来,形成一个对象,方便查找

对象中的属性调用: 对象.属性

对象中的方法调用: 对象.方法

2、数组概念

数组 : 多个数据的集合 , 一般来说这些数据是同一个类型的(js中的数组是可以存放任意类型的)

3、数组的定义

方式一、

var arr = []; 定义一个空数组

var arr = [23,1,343,233,67,78]; 定义一个有6个数的数组

方式二、

var arr = new Array(); 定义一个空数组

var arr = new Array(5); 如果括号中只有一个数值类型的数据,该数值表示数组的长度 定义一个长度为5的数组

var arr = new Array(2,3); 表示数组中含有两个数据

4、数组的取值

通过下标取值,下标必须从0开始 ,最大下标 数组的长度 - 1

数组的长度: 数组名.length

通过for 或 for .. in 取值:

for语法结构:

for( [var] i in 对象 ){

}

for...in特点:

没有循环条件

自动取出下标

下标从0开始,最大下标 数组长度 - 1

下标的类型是string(for...in 是用来遍历 键 )

一般用for ... in 遍历json对象

5、数组的赋值

var arr = [];

arr[0] = 90; 先定义 后赋值

arr.push(45); 通过push方法赋值 向数组的尾部添加一个数

var arr = [1,2,3,4,5]; 定义时直接赋值

var arr = new Array();

通过循环来赋值

6、js数组特点

数组长度不固定

数组可以动态的添加或删除某个元素

数组可以存放任意类型

7、判断一个对象是否是一个数组

typeof 测试数据类型 ,不能确定一个对象是否是一个数组

instanceof 可以通过这个关键字确定某个对象是否是一个数组,如果是数组,返回true,否则返回false

8、数组的操作

push()

用法 :数组名.push(要添加是数) 向数组的尾部添加一个或多个元素

pop()

用法: 数组名.pop() 移出数组中的最后一个元素

shift()

用法 : 数组名.shift() 移出数组中的第一个元素 并返回移除的元素

unshift()

用法: 数组名.unshift(要添加的数) 向数组的首部添加一个或多个元素 并返回数组新的长度值

slice()

用法: 数组名.slice(start,end) 截取数组中从start 到 end处的数据,截取的数据不包括 end处的数值 , 不改变原数组

splice()

用法: 数组名.splice(start,length) 截取数组中从start开始,并指定length长度的数据 , 改变了原数组(删除)

concat()

用法: 数组a.concat(数组b) 把数组b连接到数组a的尾部

join()

用法: 数组名.join("字符") 通过参数字符 将 一个数组 转成 字符串

9、二维数组

var arr = [12,[3,2,4]]

10、值类型和引用类型

栈: 当定义一个变量时,变量会在内存中开辟一块存储空间,如果这个变量的类型属于值类型,这块空间叫做 栈 (一个栈空间 存放一个变量)

值类型: 基本类型

堆: 当定义一个变量时,这个变量中如果存放多个数据,会将这个变量存放在 堆 中。 堆中存放的是 引用类型

引用类型:对象类型(object)

引用类型在赋值时,传递的是 变量的地址,此时这两个变量共享同一个存储空间,所以 “一改全改”

函数的参数的传递: 值传递  地址传递(空间共享,一改全改)

11、数组的冒泡排序

var arr = [34,2,35,6565,88];

原理:相邻的两个数进行比较,大数下沉,小数上浮

12、选择排序

思路:每一轮比较时都会有一个基准值

第一轮 基准值为arr[0] , 用这个基准值和后面的数依次比较,如果这个数大于后面的数,就交换,经过第一轮比较后,能找到最小值;

第二轮 基准值为arr[1] , 同上 , 经过此轮比较后,找到第二个最小值

以此类推

13、简单选择排序

思路:

每一轮都假设一个最小值下标,根据假设的最小值在找真正的最小值,如果假设不成立,就交换这两个值,经过第一轮比较后, 能找到 最小值

14、数组的排序方法 sort

使用:

数组名.sort( 数组名 );

function fun(a,b){

return a-b; // 升序 return b-a 降序

}

[12,45,2,342].sort(fun)

最后推广一下自己的小程序,如果你也喜欢锻炼的话在这里寻找你的小伙伴吧。

自律更自由,一只喜欢锻炼的程序猿,嘿嘿。

你都看到这里了,不点个关注嘛~


日记本
Gupao