一名前端工程师的自学之路!Js篇(11-22更新)
2017-11-22 19:17
225 查看
看到标题能进来的小伙伴,我也就不废话,先推荐一本必买的书《JavaScript高级程序与设计》。今天接着上一篇文章还是分享最基础入门的一些Js的知识。
对象:将一堆信息 组合起来,形成一个对象,方便查找
对象中的属性调用: 对象.属性
对象中的方法调用: 对象.方法
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); 表示数组中含有两个数据
数组的长度: 数组名.length
通过for 或 for .. in 取值:
for语法结构:
for( [var] i in 对象 ){
}
for...in特点:
没有循环条件
自动取出下标
下标从0开始,最大下标 数组长度 - 1
下标的类型是string(for...in 是用来遍历 键 )
一般用for ... in 遍历json对象
arr[0] = 90; 先定义 后赋值
arr.push(45); 通过push方法赋值 向数组的尾部添加一个数
var arr = [1,2,3,4,5]; 定义时直接赋值
var arr = new Array();
通过循环来赋值
数组可以动态的添加或删除某个元素
数组可以存放任意类型
instanceof 可以通过这个关键字确定某个对象是否是一个数组,如果是数组,返回true,否则返回false
用法 :数组名.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("字符") 通过参数字符 将 一个数组 转成 字符串
值类型: 基本类型
堆: 当定义一个变量时,这个变量中如果存放多个数据,会将这个变量存放在 堆 中。 堆中存放的是 引用类型
引用
4000
类型:对象类型(object)
引用类型在赋值时,传递的是 变量的地址,此时这两个变量共享同一个存储空间,所以 “一改全改”
函数的参数的传递: 值传递 地址传递(空间共享,一改全改)
原理:相邻的两个数进行比较,大数下沉,小数上浮
第一轮 基准值为arr[0] , 用这个基准值和后面的数依次比较,如果这个数大于后面的数,就交换,经过第一轮比较后,能找到最小值;
第二轮 基准值为arr[1] , 同上 , 经过此轮比较后,找到第二个最小值
以此类推
每一轮都假设一个最小值下标,根据假设的最小值在找真正的最小值,如果假设不成立,就交换这两个值,经过第一轮比较后, 能找到 最小值
数组名.sort( 数组名 );
function fun(a,b){
return a-b; // 升序 return b-a 降序
}
[12,45,2,342].sort(fun)
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、值类型和引用类型
栈: 当定义一个变量时,变量会在内存中开辟一块存储空间,如果这个变量的类型属于值类型,这块空间叫做 栈 (一个栈空间 存放一个变量)值类型: 基本类型
堆: 当定义一个变量时,这个变量中如果存放多个数据,会将这个变量存放在 堆 中。 堆中存放的是 引用类型
引用
4000
类型:对象类型(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)
最后推广一下自己的小程序,如果你也喜欢锻炼的话在这里寻找你的小伙伴吧。
自律更自由,一只喜欢锻炼的程序猿,嘿嘿。
你都看到这里了,不点个关注嘛~
相关文章推荐
- 一名前端工程师的自学之路!Js篇(11-27更新)
- 一名前端工程师的自学之路!Js篇(11-20更新)
- 一名前端工程师的自学之路!Js篇(03-07更新)
- 一名前端工程师的自学之路!Js篇(01-07更新)
- 一名前端工程师的自学之路!Js篇(12-05更新)
- 一名前端工程师的自学之路!Js篇(03-13更新)
- 一名前端工程师的自学之路!Js篇(03-14更新)
- 一名前端工程师的自学之路!Js篇(12-14更新)
- 一名前端工程师的自学之路!Js篇(02-26更新)
- 一名前端工程师的自学之路!Js篇(03-05更新)
- 一名非计专大三学生的自学之路
- Java自学之路-Java基础教程-11:Java基本语句之1-条件控制语句if和else
- 0-1 多重 组合背包的自学之路(不断更新中)
- 0-1 多重 组合背包的自学之路(不断更新中)
- Java自学之路-Java基础教程-22:Java的方法返回值和return关键字
- JAVA自学之路——马士兵
- 转:自学算法之路
- 马士兵_JAVA自学之路
- 一名大四学生的求职之路
- 微信小程序填坑之路(四)--2016.12.21 更新