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类型
没有重载的表现
- Function类型可以不显式指定参数个数, 通过arguments.length可以获取到参数个数及通过arguments获取到参数值
- 由于每个函数变量都是指针指向函数对象
- 函数变量重新赋值即改变了指针的指向
函数申明和函数表达式
函数申明
function test() {}
函数表达式
var test = function(){}
区别:
如果函数表达式未执行到,其函数变量执行将会提示 not function
作为值的函数
函数变量实际是一个指针指向函数对象,故可以直接当做参数传递给其他函数调用
funciton test() {console.info('test')}
function testFn(fn) {
fn();
}
testFn(test);
函数方法和属性
arguments, this, prototype, length
其他单体内置对象
- Global
像常用到的方法 parseInt() isNaN() isFinite() ... 都是Global的方法
URI编码方法 encodeURI 和 encodeURIComponent的区别
encodeURI 不会对本身属于URI的特殊进行编码,如: # /
encodeURIComponent 会对所有非标准字符进行编码
var global = function(){
return this;
}();
- Math
最常用的Math.random() 返回一个0-1之间的随机数
如果觉得文章对您有用,请点下推荐。您的支持将鼓励我继续创作!