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. NOIP模拟 17.8.17

    NOIP模拟17.8.17 A 小 G 的字符串文件名 输入文件 输出文件 时间限制 空间限制str.pas/c/cpp str.in str.out 1s 128MB[题目描述]有一天,小 L 给小 ...

  2. windbg双机调试

    win10  测试,当出现下列情况 ,请使用管理员身份运行 设置添加系统环境变量_NT_SYMBOL_PATH 的值为:srv*c:\symbols*http://msdl.microsoft.com ...

  3. SPSS统计基础-均值功能的使用

    SPSS统计基础-均值功能的使用 均值过程计算一个或多个自变量类别中因变量的子组均值和相关的单变量统计.您也可以获得单因素方差分析.eta 和线性相关检验. 统计量.合计.个案数.均值.中位数.组内中 ...

  4. jQuery圆盘抽奖

    在线演示 本地下载

  5. 模拟登录新浪微博(Python) - 转

    Update: 如果只是写个小爬虫,访问需要登录的页面,采用填入cookie 的方法吧,简单粗暴有效,详细见:http://www.douban.com/note/264976536/模拟登陆有时需要 ...

  6. postman测试接口各种类型传值

    postman测试接口各种类型传值 标签: postman测试 json串 Map 2018年01月27日 02:32:00 145人阅读 评论(0) 收藏 举报 1.Map类型或实体类类型传值,即j ...

  7. 笔记:html常见的兼容问题

    IE: IE的双边距bug: 块级元素float后设置横向的margin,IE6显示的margin比较大. 解决办法:display:inline 双边距bug:在IE6下,如果对元素设置浮动,同时又 ...

  8. C/S和B/S交互 2016-03-19 11:27 1275人阅读 评论(30) 收藏

    最近一直在做C/S的项目,每天都超忙,抽个时间写篇博客,之前一直做C/S项目就是各种窗体,各种控件,拖来拖去,然后点进去写方法,做BS的时候呢,因为一直使用的是mvc,所以就是经常手写代码,或者拖引用 ...

  9. docker images列出镜像

    命令:docker images Usage: docker images [OPTIONS] [REPOSITORY[:TAG]] List images Options: -a, --all Sh ...

  10. GIT 用RSA加密方式来记住密码

    ssh-kegen -t rsa -C "你的帐号";//生成rsa的公钥和密钥 当然这个要在GNU环境下来执行,要是用Windows的CMD是不可以的(不输入DIR时),感觉是因 ...