Javascript基础系列(四)-引用类型

引用类型

引用类型是一种数据结构,用于将数据与功能组织在一起,常被称为类。
也可以称为对象的定义,因为他们描述的是一类对象所具备的属性和方法

Object类型

实例定义方式

构造函数的方式
var obj = new Object();
obj.name = 'zhangsan';
console.info(obj.name);
字面量的形式
var person = {};
person.name = 'zhangsan';
console.info(person.name);

Array类型

实例定义方式

构造函数的方式
var obj = new Array();
obj[0] = "zhangsan"
console.info(obj[0]);
字面量的形式
var person = [];
person[0] = 'zhangsan';
console.info(person.name);

检测是否是数组

instanceof/Array.isArray(value);

转换方法

join toString toLocaleString valueOf...

栈方法

var len = push(el1,el2...) 将元素推入栈顶并返回数据长度
var item = pop() 取出元素最后一项并返回

队列方法

shift() 移除数组中的第一项并返回
unshift(el1,el2...) 将元素推入起始位置并返回数据长度

重排序方法

reverse()  数组翻转顺序
sort(compare)    根据compare排序器排序
function compare(v1, v2) {
	return v1-v2;
} 
var values = [4,1,2,5,3];
var vv = values.sort(compare);
console.info(vv);

操作方法

[].concat([]); 复制一个数组的副本与另一个数组合并返回新的数组
splice 操作数组中指定位置的元素; 删除、替换、添加
slice  截取某个数组段
splice(p1, p2, args)
p1: 起始操作位置
p2: 删除项数 <=0不删除,只添加
args: 新的项

var newArr = arr.slice(start, end);
start: 起始位置
end:结束位置

位置方法

indexOf(),lastIndexOf() 返回某个元素的位置

迭代方法

every(function) 检测是否所有项都满足条件 , 返回true,false
some(function) 检测至少有一项满足条件 , 返回true,false

filter(function) 过滤出满足条件的数组项

forEach(function) 迭代所有项
map(function) 迭代所有项

归并方法

语出《后汉书·广陵思王荆传》:“若归并二国之众,可聚百万。”
reduce() 与 reduceRight() 
var values = [1,2,3,4,5];
var sum = values.reduce( function (pre, curr, index, array) {
	return pre+ curr;
});
console.info(sum);

Date类型

var d = new Date();
d.toLocaleDateString();
d.toLocaleTimeString();

RegExp类型

表现形式 / pattern / flags[g 全局模式,i不区分大小写,m多行模式]

字面量表达式
var reg = /at/i;
reg.text('at');

实例化创建
var reg= new RegExp('at', 'i');
reg.test('at');

Function类型

没有重载的表现

  1. Function类型可以不显式指定参数个数, 通过arguments.length可以获取到参数个数及通过arguments获取到参数值
  2. 由于每个函数变量都是指针指向函数对象
  3. 函数变量重新赋值即改变了指针的指向

函数申明和函数表达式

函数申明
function test() {}

函数表达式
var test = function(){}

区别: 
如果函数表达式未执行到,其函数变量执行将会提示 not function

作为值的函数

函数变量实际是一个指针指向函数对象,故可以直接当做参数传递给其他函数调用

funciton test() {console.info('test')}

function testFn(fn) {
	fn();
}
testFn(test);

函数方法和属性
arguments, this, prototype, length

其他单体内置对象

  1. Global

像常用到的方法 parseInt() isNaN() isFinite() ... 都是Global的方法
URI编码方法 encodeURI 和 encodeURIComponent的区别
encodeURI 不会对本身属于URI的特殊进行编码,如: # /
encodeURIComponent 会对所有非标准字符进行编码

var global = function(){
	return this;
}();
  1. Math

最常用的Math.random() 返回一个0-1之间的随机数

posted @ 2020-04-09 10:55  pengsn  阅读(149)  评论(0编辑  收藏  举报