zoukankan      html  css  js  c++  java
  • JS中的内置对象(数组,自定义对象以及内置对象)

    [JS中的数组]
        * 1、数组的概念:数组是在内存中连续存储多个有序元素的结构
        *        元素的顺序,称为下标,通过下标查找对应元素。
        * 2、数组的声明:
        *  ①字面量声明: var arr1=[];
        *  JS中,同一数组,可以储存多种不同的数据类型(但一般同一数组只用于存放同种数据类型);
        *  例如:var arr1=[1,"2",true,{"name":"shabi"},[1,2]];
        *  ②new关键字声明:var arr2=new Array(参数);
        *  >>>参数可以为:
        *   a.为空:声明一个没有指定长度的数组;
        *   b.数组的length:声明一个指定长度的数组,但是数组的长度随时可变可追加;最大长度为0~(2^32-1);
        *   c.数组默认的N个值:new Array(1,"2",true);相当于[1,"2",true]
        * 3、数组中元素的读写/增删:
        *  ①读写:通过下标来访问元素,例如arr(2);
        *  ②增删:delete arr[n];删除数组的第n+1 值,但数组长度不变,对应位置值为undefined
        *    arr.push(值);数组最后增加一个值,相当于arr3[arr3.length]=7;
        *    arr3.unshift(值);数组的第0位插入一个值,其余位数顺延;
        *    arr3.pop();删除数组最后一行,与delete不同的是,pop执行后数组长度也会减少一个;相当于arr.length-=1;
        *    arr3.shift();删除数组第0位,长度也会减一;
        * 4、数组中其他常用方法:
        *  ①join("分隔符");将数组用指定分隔符分隔,链接为字符串。参数为空时,默认用逗号分隔;
        *  ②concat();(原数组不被改变)将数组,与多个数组的值链接为新的数组;
        *   [1,2].concat([3,4],[5,6])=[1,2,3,4,5,6];//连接时,中括号至多拆一层
        *   [1,2].concat([1,2,[3,4]])=[1,2,1,2,[3,4]];//多层中括号,以二维数组形式存在
        *  ③push():数组最后增加一个数;   unshift():数组开始增加一个数【返回数组新的长度】 
        *   pop():删除数组最后一个; shift():删除数组第一个【返回被删除的值】
        *  【调用上述方法,原数组均被改变】
        *  ④reverse():(原数组被改变)数组翻转,逆序排列
        *  ⑤slice(begin,end):【原数组不会被改变】截取数组中的某一部分,成为新数组
        *   >>>传递一个参数:默认为begin index,当这个开始,截到最后一个;
        *   >>>传递两个参数:截取从begin到end区间,左闭右开(包含begin,不含end);
        *   >>>参数可以为负数,-1代表最后一个;
        *  ⑥sort(function):【原数组会被改变】对数组进行排序;
        *   >>>不指定排序函数:按照数值的ascii码值进行排列;
        *   >>>传入排序函数:默认两个参数a,b,如果返回值>0,则a>b;反之返回值<0,则a<b;
        *    arr3.sort(function(a,b){
        *    return a-b;//b在前,a在后(升序排列)
        *    return b-a;//a在前,b在后(降序排列)
        *    });
        *  ⑦indexOf(value,index):返回数组中第一个value值对应的下标位置,若未找到,返回-1
        *   lastindexOf(value,index):返回最后一个value值对应的下标位置,
        *   >>>若未指定index参数:默认在数组所有元素中查询;
        *   >>>若指定index参数:则从当前index开始,向后查询;
        * 5、二维数组&稀疏数组(了解):
        *  ①稀疏数组:数组并不含有从0开始到length-1的所有索引(length值比实际元素个数多);
        *  ②二维数组:var arr4=[[1,2,3],[4,5,6],[7,8,9],[0,1,2]];//相当于四行三列的矩阵
        *     取出二维数组元素: arr[行号][列号];//可使用嵌套循环遍历
        * 6、引用数据类型&基本数据类型:
        *  引用数据类型:(数组/对象)赋值时,是将原变量的地址,赋给新变量。两个变量,实际上操作的是同一份数据,所以,修改其中一个变量,另一个跟着变化
        *  基本数据类型:赋值时,是将原变量的值,赋值给新的变量。两个变量,属于不同的内存空间,修改其中一个,互不干扰

    number类型
        *
        * Number.MIN_VALUE:可表示的最小数
        * Number.MAX_VALUE:可表示的最大数
        * .toString():将数字转为字符串  相当于num+""
        * .toFixed(n):将数字转为字符串,保留n位小数,四舍五入
        * .valueOf():返回Number对象的基本数字值
        * .toLocaleString():将数字按照本地格式的顺序转为字符串。一般,三个一组加逗号
        * .toPrecision(n):将数字格式化为指定长度,n=不含小数点的所有位数和

    字符串string
        * 1、属性:str.length返回字符串的长度;
        * 2、方法:  .toLowerCase()所有字符转为小写;
        *    .toUpperCase()所有字符转为大写
        *    .charAt(n)截取字符串中第n个字符
        *    .indexOf("查询子串",index)查询从index开始的,第一个子串的索引。没找到返回-1,同数组的indexOf()方法;
        *    .substring(begin,end)截取子串
        *    >>>只写一个参数:从begin开始,到最后
        *    >>>写两个参数:从begin开始,到end。左闭右开
        *    .replace("old","new")将字符串中第一个old替换为new。第一个参数可以为普通字符串,也可以为正则表达式(普通字符串将只匹配第一个,正则表达式则根据具体情况区分)
        *    .split("")将字符串通过指定分隔符分为数组。传入""空字符串,将把单个字符存入数组

    Date类型
        * 1、new Date():拿到当前最新时间;
        *  new Date("2017,4,17,17:24:58")设置指定时间
        * 2、常用方法:
        *  .getFullYear():获取4位年份
        *  .getMonth():获取月份0~11
        *  .getDate():获取一月中的某一天1~31
        *  .getDay():获取一周中的某一天0~6
        *  .getHours():返回Date对象的小时(0~23)
        *  .getMinutes():返回Date对象的分钟(0~59)
        *  .getSeconds():返回Date对象的秒数(0~59)

    【自定义对象】
        * 1、基本概念:
        *  ①对象概念:对象是包含一系列无序属性和方法的集合。
        *  ②键值对:对象中的数据,是以键值对的形式存在的,以键取值;
        *  ③属性:描述对象特征的一系列变量。  【对象中的变量】
        *  ④方法:描述对象行为的一系列方法。  【对象中的函数】
        *
        * 2、对象的声明:
        *  ①字面量声明:var obj={
        *      键1:值1,(key1:value1,)//属性
        *      键2:值2,(key2:value2,)
        *      function(){}//方法
        *      }
        *   对象中的键,可以是任何数据类型,但,一般用普通变量名(不需要"")即可
        *   对象中的值,可以是任何数据类型,但,字符串的话必须用""包裹
        *   多组键值对之间用英文逗号分隔,键值对的键与值之间用英文冒号分隔;
        *  ②new关键字:var lisi=new Object();
        *     lisi.name="李四";
        *     lisi.say=function(){
        *     console.log("我是:"+this.name);
        *     }
        *
        * 3、对象中属性和方法的读写:
        *  ① .运算符:对象内部:this.属性名    this.方法名()
        *     对象外部:对象名.属性名        对象名.方法名()
        *  ②通过["key"]调用:对象名["属性名"]     对象名["方法名"]()
        *
        *   >>>如果key中包含特殊字符,则无法使用第①种方式,必须使用第②种
        *   >>>对象中,直接写变量名,默认为全局变量。如果需调用对象自身属性,则需要通过this关键字
        *
        *  ③删除对象的属性方法:delete 对象名.属性/方法名

  • 相关阅读:
    51Nod 1052/1053/1115 最大M子段和V1/V2/V3
    51Nod1207 内存管理
    51Nod1207 内存管理
    51Nod1444 破坏道路
    51Nod1444 破坏道路
    51Nod1349 最大值
    51Nod1349 最大值
    51nod1485 字母排序
    aspx页面中的html标签中的值传到aspx.cs文件中的方法
    C#属性的使用
  • 原文地址:https://www.cnblogs.com/lwhvicky/p/6754439.html
Copyright © 2011-2022 走看看