1、Object类型
1)使用new运算符
   var box = new Object();===》等同于 var box = Object();(省略new关键字)
   box.name = "张三";// 创建属性字段
   box.age = 18;// 创建属性字段
2)字面量表示法
   var box ={
       name :"张三",  //创建属性字段
       age : 18
   }
3)字符串式属性字段
   var box ={
       'name' :"张三",  //创建字符串式属性字段
       'age' : 18
   }
4)声明空对象再以点符号赋值属性
  var box = {};//声明空对象
  box.name = "张三",//给属性赋值
  box.age = 18
  alert(box.name+','+box['age']);//注意点属性和方括号的输出方式
5)给对象创建方法
  var box = {
 
  run:function(){
     return '运行对象中的方法'
   }
 }
 alert(box.run());
6)使用delete删除对象属性
delete box.name;
eg. function box(obj){  //参数是一个对象
   if(obj.name!=undefined)//判断属性是否存在
   alert(obj.name);  
   if(obj.age!=undefined)
   alert(obj.age);
  
 }
box({          //调用函数并传参
     name:'李四',
     age:18
  })
2、Array类型
1)使用new关键字创建数组 new可省略
var box = new Array();//创建一个数组
var box = new Array(10);//创建一个数组含有10个元素
var box = new Array('张丹',24,'程序员','云南');//创建一个数组并分配好了元素
2)使用字面量创建数组
var box =[];
var box =['张丹',24,'程序员','云南'];
3)使用索引下标来获取数组值
alert(box[1]);
box[3]='重庆';//改变第4个数组的值
box[4]='一年';//增加第5个元素
4)使用legth属性获取数组长度
alert(box.legth);
5)较复杂的数组
var box = [
   {    //第一个元素是对象
     name:'李四',
     age:25,
     run :function(){ //对象中含有方法
       alert('run了')
    }
   },
   ['张丹',24,'程序员','云南'], //元素2数组
   '上海', //元素3字符串
    25+30, //元素4数值
   new Array(1,2,3) //元素5数组
 ];
  alert(box)
3、对象中的方法
1)转换方法:toLocaleString()、toString、valueOf()方法,默认情况下会以逗号隔开
var box = ['张三','计算机',18];
alert(box); //隐式调用toString方法。['张三','计算机',18]
alert(box.toString());  //和valueOf返回一致 张三,计算机,18
alert(box.toLocaleString());//同上 张三,计算机,18
console.log(box9.valueOf());//['张三','计算机',18]
2)join():使用该方法可替换分隔符
console.log(box.join('|'));//张三|计算机|18
3)push():给数组末尾添加元素并返回长度
console.log(box.push('成都'));//4
4) pop():移除数组末尾的元素,并返回移除的元素
console.log(box.pop());//成都
5)unShift():数组开头添加两个元素
console.log(box.unshift('2年','男'));//5
6)shift():移除数组开头的元素,并返回移除的元素
console.log(box.shift());//2年
7)reverse():逆向排序,并返回排序后的数组
console.log(box.reverse());//18,计算机,张三,男
8)sort():从小到大排序,并返回排序后的数组(当数组和字符串排序时这样使用是错的)
console.log(boc.sort());//18,张三,男,计算机
9)concat():可基于当前数组创建一个新数组
var box = ['山东','成都','贵阳'];
var box2 = box.concat('大厦');
console.log(box2);//山东,成都,贵阳,大厦
10)slice():基于当前数组获取指定区域元素并创建一个新数组
var box2 = box.slice(1);//表示从下标1开始截取
console.log(box2);//成都,贵阳,大厦

js基础——对象和数组的更多相关文章

  1. js获取对象、数组的实际长度,元素实际个数

    /*获取对象.数组的长度.元素个数 *@param obj 要计算长度的元素,可以为object.array.string */ function count(obj){ var objType = ...

  2. js实现对象或者数组深拷贝

    今天遇到个问题,就是vue绑定的数组在push中所有的数组都会跟着改变.这个主要是因为 JavaScript中对象或者数组等引用类型,直接拷贝,改变一个另外一个也会改变: 有个简单的方法就是先转换为字 ...

  3. JS中对象与数组(大括号{}与中括号[])

    一.{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数. 如:var LangShen = {"Name":"Langshen",&qu ...

  4. js基础-对象

    对象是一组属性方法的无序集 除了字符串.数值类型.布尔类型.null.undefined 之外的其他都是对象类型 对象都是引用类型 Object类型对象.数组类型对象 如果一个普通函数前面加了new ...

  5. JS的对象、数组等处理方法:解构

    对象方法简写 你可以在定义方法时省略function和 :: const obj = { insteadOfThis: function() { // do stuff }, youCanDoThis ...

  6. JS遍历对象和数组总结

    在日常工作过程中,我们对于javaScript遍历对象.数组的操作是十分的频繁的,今天把经常用到的方法总结一下! 一.遍历对象 1.使用Object.keys()遍历 返回一个数组,包括对象自身的(不 ...

  7. JS去除对象或数组中的空值('',null,undefined,[],{})

    javascript去掉对象或数组中的'',null,undefined,[],{}.思路就是创建一个新的空对象,然后对传入的对象进行遍历,只把符合条件的属性返回,保留有效值,然后就相当于把空值去掉了 ...

  8. JS基础用法-向数组指定位置插入对象

    在做省市区三级联动的时候,需要在省市区默认位置放上请选择字样. 由于后台的API接口返回的没有请选择字样,那么就需要给返回的数组手动增加请选择 代码如下 // 原来的数组 var array = [& ...

  9. JS遍历对象或者数组

    一.纯js实现 <script> var obj = {"player_id":"GS001","event_id":" ...

随机推荐

  1. 【风马一族_Android】无线连接|调试Android手机

    原文来自:http://www.cnblogs.com/sows/p/6269396.html   (博客园的)风马一族 侵犯版本,后果自负 2017-01-10 15:03:31 准备阶段 1. 软 ...

  2. 工程没有生成lib文件,只生成了dll文件

    解决办法: 在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便填写个名字 -> 添加 重新编译编译就可生成.li ...

  3. MySQL——外键

    概念 关键字:foreign key,也叫做外键约束! 如果一个实体A的某个字段,刚好指向另一个实体B的主键,那么实体A的这个字段就叫做外键: 所以,简单来说,外键就是本表的某个字段指向外表的主键! ...

  4. 移动端的vh 和 vw简介和使用场景

    vw 相对于视窗的宽度:视窗宽度是100vw:vh则类似,是相对于视窗的高度,视窗高度是100vh. 这里的视窗指的又是啥? 是浏览器内部宽度大小(window.innerWidth)? 是整个浏览器 ...

  5. 实现手机网页调起原生微信朋友圈分享的工具nativeShare.js

    http://www.liaoxiansheng.cn/?p=294 我们知道现在我们无法直接通过js直接跳转到微信和QQ等软件进行分享,但是现在像UC浏览器和QQ浏览器这样的主流浏览器自带一个分享工 ...

  6. com.alibaba.dubbo.remoting.TimeoutException

    maven项目 update clean install 重启 服务消费者

  7. iOS 开发该选择Blocks还是Delegates

    http://www.cocoachina.com/ios/20150925/13525.html 前文:网络上找了很多关于delegation和block的使用场景,发现没有很满意的解释,后来无意中 ...

  8. OpenTelemetry-可观察性的新时代

    有幸在2019KubeCon上海站听到Steve Flanders关于OpenTelemetry的演讲,之前Ops领域两个网红项目OpenTracing和OpenCensus终于走到了一起,可观察性统 ...

  9. oracle回滚机制深入研究

    这篇文章主要描写叙述oracle的回滚机制,篇幅可能较长,由于对于oracle的回滚机制来说,要讨论和描写叙述的实在太多,仅仅能刷选自己觉得最有意义的一部分进行深入研究和分享 一.我们来看一个DML语 ...

  10. BZOJ 4034 洛谷3178 树上操作题解

    一个很裸的树链剖分模板.注意一下数据范围,有的地方要开longlong,这就是唯一的陷阱了. # include<iostream> # include<cstdio> # i ...