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. bnd -buildpath指令的用法

    -buildpath的作用是为项目添加运行时依赖.这个依赖可以是workspace中的另一个项目或者是仓库中的另一个bundle. -buildpath指令只会在编译和构建时起作用,它从来不会被用来运 ...

  2. JQuery--动画队列以及清空队列.stop()方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. ls command not found

    编辑profile文件没有写正确,导致在命令行下 ls等命令不能够识别. 在命令行下打入下面这段就可以了 export PATH=/usr/local/sbin:/usr/local/bin:/sbi ...

  4. es6中的(=>)箭头函数

    x => x * x 上面的箭头函数相当于: function (x) { return x * x; } 箭头函数相当于匿名函数,并且简化了函数定义. 箭头函数有两种格式,一种像上面的,只包含 ...

  5. 从 Program Manager 看 Leader 是什么角色

    http://blog.csdn.net/uxyheaven/article/details/50396951 从 Program Manager 看 Leader 是什么角色 转载请注明出处http ...

  6. CF789D Mike and distribution

    题目连接 一道人类智慧题.... 这道题目可以转化为在a,b中的选出一些位置,使得这些位置处的值加起来大于没有选的位置的值 我们按照a的权值排序,选择第一个元素,其与元素两两分组,每组选择b更大的那一 ...

  7. Leetcode811.Subdomain Visit Count子域名访问计数

    一个网站域名,如"discuss.leetcode.com",包含了多个子域名.作为顶级域名,常用的有"com",下一级则有"leetcode.com ...

  8. bzoj1295 最长距离

    Description windy有一块矩形土地,被分为 N*M 块 1*1 的小格子. 有的格子含有障碍物. 如果从格子A可以走到格子B,那么两个格子的距离就为两个格子中心的欧几里德距离. 如果从格 ...

  9. iOS学习系列 - 扩展机制category与associative

    iOS学习系列 - 扩展机制category与associative category与associative作为objective-c的扩展机制的两个特性,category即类型,可以通过它来扩展方 ...

  10. nodeJs学习-09 模板引擎 jade、ejs

    模板引擎: jade -破坏式.侵入式,强依赖:用了之后不能随便用别的引擎 ejs - 温和.非侵入时.弱依赖 jade使用 const jade = require('jade'); var str ...