JS数组及面向对象

本文介绍了JavaScript中数组的各种操作方法,如拼接(concat)、截取(slice)、追加(push)及排序(sort)等,并详细解释了面向对象编程中对象的创建、属性设置与访问方法。同时探讨了JSON数据格式及其解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. javascript数组操作

function arrayTest(){

var array1=new Array();

var array2=[];]

var array3= new Array(1,2,3);

var array4=[1,2,3,4];

var array5=new Array(1,new Array(2,3),4);

alert(array[1][0]); //----à2

array4[99]=100; //javascript中的数组是可以动态改变的。

//数组可以连接-----concat

var array41= array4.concat(101,102,103);

var array42=array4.concat(104,105);

var array43=array4.concat(array4);//12341234

//数组可以分隔------join

var array44=array43.join(“”);//没变化

var array45=array43.join(“+”);//1+2+3+4+1+2+3+4

//数组可以返回某个段,原数组不变------slice

var slicearray1=array43.slice(0,3);

var slicearray2=array43.slice(4);//从下标4开始一直取到最后一个

var slicearray3=array43.slice(-2,-1);//从当前数组倒数第二个开始,一直取到当前数组倒数第一个之前。

//push,pop在数组部追加push,或弹出pop,改变原数组。

array43.push(200);

array43.push(201,202);

array43.push(array41); //concat是吧array41打开,以单个数存进去,形成一个整体,

push则是原样加入,以多维数组形式保存。

var arraypop=array43.pop();//是把array43最后一个元素拿出来,给arraypop数组。

//unshift,shift在数组部追加push,或弹出pop,改变原数组。

array43.unshift(array41);

array43.shift();

//reverse可以翻转数组里的元素。

array43.reverse();

//sort可以对数组中的元素进行排序,修改原数组的内同。

array43.sort();//按照字母序对数组中的数升序排列。

array43.sort(function(a,b){return a-b;});//按数值升序排列

//splice,可以删除数组中一部分元素。还可以在指定位置添加元素。

array43.splice(4,2);//以下标为4的删除2个。

array43.splice(4);//以下标为4的一直删到最后。//可以接收删除部分。

}

2. javascript创建对象。

//创建对象

var obj1=new Object();

var obj2={};

//增加属性

obj1.num=1;

obj1.str=”String”;

obj1.hello=function(){

alert(“hello”);}

obj2.obj=obj1;

//访问属性

Alert(obj1.num);

Alert(obj2[“obj”][“num”])

//直接创建对象和方法

var obj3={

num:1,

str:”string”,

hello:function(){

alert(“hello”);

}

}

3. JSON数据格式

function jasonTest(){

//jason数据定义,数组返回正常,对象返回加括号。

var jason1=”[1,2,{“ + “a:123,b:’string,c:[100,101]’” + ”}]” ;

var jasonArray=eval(jason1);

var json2=”{“+”a:123,b:[1,2,3],c:function(){alert (/“aaa/”);}” + ”}”;

var jasonObject=eval(“(”+jason2+”)”);

}

4. 面向对象的javascript

类得定义

fumctionTeacher(){

}//不能区分类与其他方法的不同建议用以下的定义方式,类名首字母最好大写

var Teacher= function(){

}

//定义一个Book,function相当于构造函数。

var Book=function(name){

//定义公有的属性

this.name=name;

//定义公有的方法

this.getName()=function(){

return this.name;}

this.setName()=function(nname){

this.name=nname;

}

}

functionTest(){

var teacher=new Teacher();

alert (teacher instanceof Teacher);//teacher是否是Teacher的实例。返回true

var book1=new Book();

book1.setBook(“a”);

// javascript中的原型对象,function上都有原型对象新定义的对象,就具有原型对象上的方法属性。

var proto= new Book.prototype;

proto.str=”string”;

proto.hello=function(){

alert(“hello”);

};

}

// 一种更为合适的类的定义

var Book=function(name){

//公有属性在内部定义

this.name=name;

}

//公有方法在原型对象上定义。

Book.prototype.setName=function(nname){

this.name=nnane;

}

Book.prototype.getName=function(){

return this.name;

}

//将公有方法写到类里面,合理的方法是:

var Book=function(name){

this.name=name;

if( typeof Book._init= =”undefined”){

Book.prototype.setName=function(nname){

this.name=nnane;

}

Book.prototype.getName=function(){

return this.name;

}

}

Book._init=true;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值