JS中的对象、数组和正则表达式

JS中的对象、数组和正则表达式

一、对象

1.简介:
         1.含义:一种复合的数据类型,可以保存不同数据类型的属性
         2.分类:①内建对象:ES标准中定义的对象,在任何ES的实现中都可以使用
                           例如:Math、String、NUmber、Boolean、Function、Object ......
                 ②宿主对象:由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象
                           例如:BOM、DOM......
                 ③自定义对象:由开发人员自己创建的对象
2.基本操作

1.创作对象:语法:使用new关键字调用函数(构造函数)例如:var obj = new object();
2.添加属性:语法:对象 . 属性名 = 属性值;

       注释:属性:在对象中保存的值

3.读取对象中保存的属性:语法:对象 . 属性名

   注:若读取对象中没有的属性,不会报错,而是返回underfined

4.修改对象的属性值:语法:对象 . 属性名 = 新的属性值;
5.删除对象的属性值:语法:delete . 对象 . 属性名 ;

.属性名

1.不强制遵守标识符的规范,但是使用时尽量按照标识符的规范
2.采用特殊的属性名 :语法:对象[“字符串的名”] = 值

注:使用 [ ] 这种形式操作属性更加灵活,在[ ] 中可以传一个变量,这样变量值是多少就会读取那个属性:如 var n = “XXX”;console.log (obj[n]);   (输出:XXX)
.属性值

1.JS的属性值可以为任意的数据类型
2.in 运算符:检查某对象是否有指定属性
语法:“ 属性名” in 对象
返回:有就返回 true ,没有就返回 false

3.对象字面量

1.创建对象:语法:var obj(对象名)= { };(可直接添加属性)如:var obj = { name :“ 孙悟空”,age : “18”};

   注:属性名可以加“”,但是特殊名必须加 “ " ,而且最后一个属性值没有逗号

二、函数(对象)

1.简介:可以封装一些功能(代码)

1.创建函数对象:语法:① var 函数名 = new Function ();

    封装的代码以字符串的形式传递给构造函数

②:使用函数声明创建函数(推荐)
function 函数名([ 形参1、…、形参n]){
语句。。。。。。
}
③:使用函数表达式
var 函数名 = function ([ 形参1、。。。形参n]){
语句。。。
};
2.调用函数:语法:函数名()

2.函数参数
  特点:1.调用时不会检查实参与形参的数据类型是否相同
        2.调用时不会检查实参的数量是否以形参数量相同,若实参数量多余形参数量,则多余的实参不会进行赋值,若实参数量少于形参数量,则未被赋值的形参未undefined
        3.实参可以为任意数据类型
3.函数返回值
       return 值/变量(任意数据类型)
       注:若无return 或写成 return ;则返回undefined;
4.立即执行函数(匿名函数)
如:( function(){
语句。。。
} )(参数);
一般只执行一次;
5.方法:若一个函数作为某对象的属性值,那么该函数称为这个对象的方法(method)

如:document. write(); write()就被称为方法

二、数组

1.简介:对象,与普通对象类似,不同的是:普通对象使用字符串作为属性名而数组通过以数字为索引来操作元素
   注释:索引:从0开始的整数;
   数组的存储型好;
2.创建:var arr = new Array();
3.添加:数组[索引] = 值
4.读取:数组[索引]
5.获取长度:使用length 属性获取数组的长度(元素的个数)

语法:数组.length

      注:对于连续数组———> 个数
          对于非连续数组-------->最大索引(尽量不要适应非连续性数组)
6.向数组的最后一个位置添加元素:语法:数组[数组.length] = 新的值;
7.数组字面量 语法: [ ]
  例如:var arr = [];
  指定元素:如:var arr = [1,2,3,......,10](字面量)‘
               var arr = new Array (10,20,30)(构造函数)
Attention:只有一个数值时, 字面量中为一个元素,而构造函数指定元素长度;
数组的元素可以是任意的数据类型
数组內可以放数组构成多维数组
8.数组的方法

① push() :向数组的末尾添加一个或多个元素并返回新的长度
语法 :arr. push(“XX”,“XX”);

② pop():可以删掉数组的最后一个元素,并返回删掉的元素
*语法:*arr. pop(“XX”);
③ unshift():向数组开头添加一个或多个元素并返回新的数组长度
语法: arr .unshift(“XX”,“XX”);
④ shift():删除第一个元素,并返回删除的元素
语法: arr .shift(“XX”,“XX”);
⑤ slice():从某个已有的数组返回指定的元素
参数:( 开始位置的索引,结束位置的索引)

  Attention:包括前面的索引,不包括后面的索引
            不影响原数组,将截取的封装到新的数组返回
            而且可以传负值 如:-1 意为倒数第一个

⑥ splice():删掉指定元素,并添加新元素
参数:( 开始位置的索引,数量,新的元素)

 Attention:
            影响原数组,将删掉的数组元素返回
            第三个参数可以不写,若写了新的元素会自动插入索引开始位置

⑦ concat():连接两个或多个数组(元素),并将新数组返回

 Attention:
            不影响原数组,将截取的封装到新的数组返回

⑧ join()将数组转化为字符串

  Attention:
            不影响原数组,
            将转换的字符串作为结果 返回
           指定一个字符串作为参数,此字符串会作为元素的连接符,若无参数,则用”,“连接

⑨ reverse() :反转数组

        Attention:影响原数组

⑩ sort():数组排序

Attention:
            影响原数组,默认从小到大,按照Unicode编码进行排序
            可以自己指定排序规则
                方法:sort()中添加回调函数,两个形参, 
                     使用哪一个元素不定,但是肯定的是第一形参在数组中的位置比第二形参靠前
                     浏览器会根据回调函数的返回值来决定元素的顺序
                       若返回值大于0,则元素交换位置
                       若返回值等于0,则元素不交换位置
                       若返回值小于0,则元素不交换位置
9.数组的遍历

① for循环 如
for( var i = 0;i < arr. length;i++){
语句。。。
}
② forEach()方法:遍历数组,兼容性不太好

  Attention:需要一个函数作为参数
                   像这样的函数我们创建,浏览器调用的称为回调函数
            几个元素调用几次,并且将每次遍历的元素以实参传递进来
            浏览器在回调函数传递三个参数(遍历中的元素、索引、正在遍历的数组)

三、正则表达式

注:正则表达式:用于定义某种规则(字符串)或提取符合规则的内容

1.创建对象:语法:var 变量 = new RegExp(”正则表达式‘,“匹配模式”)

  方法:test()----检查某字符串是否符合正则表达式的规则
      例如:var  reg = new   RegExp("a"); 检查一个字符串是否含有a
       匹配模式:第二个参数:
                可以:i  忽略大小写
                      g  全局匹配模式

2.正则语法:
字面量:var 变量 = / 正则表达式/ 匹配模式

   使用  |  表示后者的意思
       [  ]  表示 之间的任意
       [ ^ xx] 除了xx
       如:[ a - z] 任意小写字母
           [ A- Z]  任意大写字母
           [ A - z]  任意字母
           a[def] c 是否有aec 或 adc 或 afc
           [ 0 - 9] 任意数字
           [ ^ 0 - 9]  除了数字

3.量词: 设置内容出现的次数,且只对前一个内容起作用
{ n } 正好出现n次
{ m,n } 出现m至 n次
{ m , } m次以上
+ 相当于{ 1 , }
* 0个或多个 相当于 { 0 , }
? 0个或一个 相当于 { 0 , 1 }
^ n 以n开头
n$ 以n结尾
/^ n$/ 只有一个n
/^ n | n $/ 以n 开头 n结尾
. 表示任意字符
4 在正则表达式 \ 表示转义字符 . 表示 . \ 表示
5.构造函数的参数为字符串
\w 任意字母、数字、下划线
\W 除字母、数字、下划线
\d 任意数字
\D 除数字
\s 空格
\S 除了空格
\b 单词边界 如:\b child\b 找child单词
\B 除单词边界
如:replace (/^\s*|\s * $/g, ……)去除字符串的前后的空格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值