JavaScript对象

var arrname=new Array('a','v','b');//创建数组对象
console.log(arrname);//(3) ["a", "v", "b"]

var dd=new Array('周一','周二');//创建数组对象
console.log(dd)//(3) ["a", "v", "b"]

var cc=new Date();//创建时间对象
console.log(cc)//Tue Aug 08 2017 14:09:03 GMT+0800 (中国标准时间)

var bb=new String('hello world')//创建字符串对象
console.log(bb)

var aa=new Number.MAX_VALUE;//利用数字对象获取可表示的最大数
console.log(aa)

3.1 string对象
字符串对象的创建
  1.变量='字符串'
  2.字符对象名称=new String(字符串)
  var str1='hello world';
  var str2=new String('hello world');
字符串对象的属性和函数
  x.length --获取 字符串的长度
  
join 方法:将数组元素拼接长字符串
var a1=[1,2,3]
var s1=a1.join('-');
alert(s1);//1-2-3;

var a2=[1,2,3]
var b=a2.concat(4,5);
alert(a2.toString());//1,2,3
alert(b.toString());//1,2,3,4,5

数组排序-reverse sort:

var a3=[22,450,911,45,9];

alert(a3.reverse())//把原数组顺序倒着排
console.log(a3.toString());
console.log(typeof a3)//object
console.log(a3.sort());//(5) [22, 45, 450, 9, 911]
比较第一个字符的ASCII码,sort() 在没有参数时,
返回的结果是按升序来排列的。
在使用sort()进行排序的时候会调用toString()函数将其值转换成字符串在进行比较,
是按ASCII进行比较的。


比较函数应该具有两个参数 a b
其返回值如下:
a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
a 等于 b,则返回 0
a 大于 b,则返回一个大于 0 的值。

var a4=[1,5,2,100]
console.log(a4.sort())

var array1=[0,2,1,0.5];
function compact(v1,v2)
{
if (v1<v2){
return -1;

}else if (v1>v2){
return 1;
}else{
return 0;
}
}
alert(array1.sort(compact)) //0,0.5,1,2



------------
function sortNumber(a, b){return a - b; }
这里返回的是他们的差值,
如果是小于0的值,就会将a排在前面,
如果大于0,就会将b排在前面,
如果是0的话,就随便。(冒泡排序法!!)
-------------

// function sortnumber(a,b) {return a-b}
// var arr=new Array(3)
// arr[0]='10';
// arr[1]='4';
// arr[2]='1';
// console.log(arr);
// console.log(arr.sort(sortnumber));//["1", "4", "10"]
//
// 数组切片操作:slice
//
// var arr1=['a','b','c','d','e','f']
// var arr2=arr1.slice(2,4)
// var arr3=arr1.slice(5);
// var arr4=arr1.slice(2,-1);
// alert(arr2.toString())//c,d 取头不取尾
// alert(arr3.toString())//f
// console.log(arr4)//["c", "d", "e"]不取尾
//
// 删除子数组:splice
//
// x. splice(start, deleteCount, value, ...)
//
// 使用注解
//
// x代表数组对象
// splice的主要用途是对数组指定位置进行删除和插入
// start表示开始位置索引
// deleteCount删除数组元素的个数
// value表示在删除位置插入的数组元素
// value参数可以省略
//
// var a=['a','b','c','d','e','f'];
// a.splice(1,2)//删除索引为1,2 的值
// alert(a.toString());//a,d,e,f
// a.splice(1,1)
// alert(a.toString());//a,e,f
// a.splice(2,1)
// alert(a.toString());
// a.splice(2,1,3,4)
// alert(a.toString())//a,b,3,4,d,e,f
// a.splice(2,1,3,4,5)
// alert(a.toString())//a,b,3,4,5,d,e,f
//
//
// 数组的pushhe pop;
// push pop这两个方法模拟的是一个栈操作
//
// x.push(value, ...) 压栈
// x.pop() 弹栈
// 使用注解
//
// x代表数组对象
// value可以为字符串、数字、数组等任何值
// push是将value值添加到数组x的结尾
// pop是将数组x的最后一个元素删除
//
// var arr1=[1,2,3];
// arr1.push(4,5);// 把值加到数组最后
// alert(arr1);//1,2,3,4,5
//
// arr1.push([6,7]);//可以加入任意值
// alert(arr1);//1,2,3,6,7
// arr1.pop();//弹出最后面的值
// alert(arr1);//1,2
//
//
//
// 插入值unshift,删除值shift
// x.unshift(value,...)
// x.shift()
//
//
// x代表数组对象
// value可以为字符串、数字、数组等任何值
// unshift是将value值插入到数组x的开始
// shift是将数组x的第一个元素删除
//
// var arr1=[1,2,3];
// arr1.unshift(4,5);
// alert(arr1); //结果为"4,5,1,2,3"
//
// arr1. unshift([6,7]);
// alert(arr1); //结果为"6,7,4,5,1,2,3"
//
// arr1.shift();
// alert(arr1); //结果为"4,5,1,2,3"
//
//
// js中数组的特性
// java中数组的特性, 规定是什么类型的数组,就只能装什么类型.只有一种类型.
// js中的数组特性1: js中的数组可以装任意类型,没有任何限制.
// js中的数组特性2: js中的数组,长度是随着下标变化的.用到多长就有多长.
// var arr5 = ['abc',123,1.14,true,null,undefined,
// new String('1213'),
// new Function('a','b','alert(a+b)')];
// alert(arr5.length);//8
// arr5[10] = "hahaha";
// alert(arr5.length); //11
// alert(arr5[9]);// undefined


//Date对象

//1.不指定参数;
// var nowd1=new Date();
// alert(nowd1.toLocaleString( ));
//返回当前机器的时间 2017/8/8 下午7:06:41

//2.参数为日期字符串
// var nowd2=new Date("2004/3/20 11:12");
// alert(nowd2.toLocaleString( ));
//2004/3/20 上午11:12:00

// var nowd3=new Date("04/03/20 11:12");
// alert(nowd3.toLocaleString( ));
//2020/4/3 上午11:12:00

//方法3:参数为毫秒数
// var nowd3=new Date(5000);
// alert(nowd3.toLocaleString( ));
//1970/1/1 上午8:00:05

// alert(nowd3.toUTCString());
//Thu, 01 Jan 1970 00:00:05 GMT

//方法4:参数为年月日小时分钟秒毫秒
// var nowd4=new Date(2004,2,20,11,12,0,300);
// alert(nowd4.toLocaleString( ));//毫秒并不直接显示
// 2004/3/20 上午11:12:00

//toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。


//getMonth()函数的返回值为Number类型,返回当前Date对象的月份值。
// 该值介于 [0, 11] 之间。
//
//其中,0 ~ 11 分别表示 1月至12月。


// 获取日期和时间
//getDate() 获取日
//getDay () 获取星期
//getMonth () 获取月(0-11
//getFullYear () 获取完整年份
//getYear () 获取年
//getHours () 获取小时
//getMinutes () 获取分钟
//getSeconds () 获取秒
//getMilliseconds () 获取毫秒
//getTime () 返回累计毫秒数(1970/1/1午夜)


// function changeNum(num) {
// if (num<10){
// return '0'+num;
// }else{
// return num;
// }
// }
// alert(changeNum(31))

// function parseweek(week) {
//
// var arr=['1','2','3','4','5','6','周日']//利用了索引取出值
// return arr[week-1]//输入的数字与索引对应,输入1,得到周一
// }

//match对象,数学方法.
//abs(x) 返回数的绝对值。
//exp(x) 返回 e 的指数。
//floor(x)对数进行下舍入。
//log(x) 返回数的自然对数(底为e)。
//max(x,y) 返回 x y 中的最高值。
//min(x,y) 返回 x y 中的最低值。
//pow(x,y) 返回 x y 次幂。
//random() 返回 0 ~ 1 之间的随机数。
//round(x) 把数四舍五入为最接近的整数。
//sin(x) 返回数的正弦。
//sqrt(x) 返回数的平方根。
//tan(x) 返回角的正切。


//////////////
//function 对象
// function 函数名(参数) {
// 函数体;
// return 返回值;
// }


// function func1(name) {
//
// alert('hello'+ name );
// return 'gu'
// }
// ret =func1('gu');
// alert(ret);
//
// alert(func1.length)//函数属于引用类型,也有属性和方法,length声明了函数的参数个数


// function a(a,b){
// alert(a+b);
}
// a(1,2);
// a(2,2,3)
// a(1);//NaN
// a();NaN
//只要函数名写对即可,参数怎么填都不报错.


//arguments不用考虑实参传入的参数与形参是否相同,

function add(a,b){
console.log(a+b);
console.log(arguments.length);
console.log(arguments);
}
add(1,2)



 function sortnumber(a,b) {return a-b}
var arr=new Array(3)
arr[0]='10';
arr[1]='4';
arr[2]='1';
console.log(arr);
console.log(arr.sort(sortnumber));//["1", "4", "10"]

数组切片操作:slice


var arr1=['a','b','c','d','e','f']
var arr2=arr1.slice(2,4)
var arr3=arr1.slice(5);
var arr4=arr1.slice(2,-1);
alert(arr2.toString())//c,d 取头不取尾
alert(arr3.toString())//f
console.log(arr4)//["c", "d", "e"]不取尾

删除子数组:splice


x. splice(start, deleteCount, value, ...)

使用注解

x代表数组对象
splice的主要用途是对数组指定位置进行删除和插入
start表示开始位置索引
deleteCount删除数组元素的个数
value表示在删除位置插入的数组元素
value参数可以省略

var a=['a','b','c','d','e','f'];

a.splice(1,2)//删除索引为1,2 的值
alert(a.toString());//a,d,e,f
a.splice(1,1)

alert(a.toString());//a,e,f
a.splice(2,1)

alert(a.toString());
a.splice(2,1,3,4)
alert(a.toString())//a,b,3,4,d,e,f
a.splice(2,1,3,4,5)

alert(a.toString())//a,b,3,4,5,d,e,f


数组的pushhe pop;

push pop这两个方法模拟的是一个栈操作

x.push(value, ...) 压栈
x.pop() 弹栈
使用注解

x代表数组对象
value可以为字符串、数字、数组等任何值
push是将value值添加到数组x的结尾
pop是将数组x的最后一个元素删除

var arr1=[1,2,3];

arr1.push(4,5);// 把值加到数组最后
alert(arr1);//1,2,3,4,5

arr1.push([6,7]);//可以加入任意值
alert(arr1);//1,2,3,6,7
arr1.pop();//弹出最后面的值
alert(arr1);//1,2



插入值unshift,删除值shift

x.unshift(value,...)
x.shift()


x代表数组对象
value可以为字符串、数字、数组等任何值
unshift是将value值插入到数组x的开始
shift是将数组x的第一个元素删除

var arr1=[1,2,3];

arr1.unshift(4,5);
alert(arr1); //结果为"4,5,1,2,3"

arr1. unshift([6,7]);

alert(arr1); //结果为"6,7,4,5,1,2,3"

arr1.shift();

alert(arr1); //结果为"4,5,1,2,3"


js中数组的特性
java中数组的特性, 规定是什么类型的数组,就只能装什么类型.只有一种类型.

js中的数组特性1: js中的数组可以装任意类型,没有任何限制.
js中的数组特性2: js中的数组,长度是随着下标变化的.用到多长就有多长.
var arr5 = ['abc',123,1.14,true,null,undefined,
new String('1213'),
new Function('a','b','alert(a+b)')];
alert(arr5.length);//8
arr5[10] = "hahaha";

alert(arr5.length); //11
alert(arr5[9]);// undefined
原文地址:https://www.cnblogs.com/gyh04541/p/7306629.html