JavaScript(6)__Js基础<对象>

1:正则表达式


常用的正则表达式:

有效数字的

var reg=/^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;

 

邮箱:

var reg =/^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;

 

电话:

var reg = /^1\d{10}$/;

 

年龄在18-65:

var reg = /^((18|19)|([2-5]\d)|(6[0-5]))$/;

 

中文姓名:

var reg = /^[\u4e00-\u9fa5]{2,4}$/;

 

身份证:

var reg =/^(\d{6})(\d{4})(\d{2})(\d{2})(?:\d{2})(\d)(?:\d|X)$/;




2:对象

对象(object)是JavaScript的核心概念,也是最重要的数据类型。JavaScript的所有数据都可以被视为对象。简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。




上面代码中,大括号就定义了一个对象,它被赋值给变量o。这个对象内部包含一个键值对(又称为“成员”),p是“键名”(成员的名称),字符串Hello World是“键值”(成员的值)。键名与键值之间用冒号分隔。如果对象内部包含多个键值对,每个键值对之间用逗号分隔。



3:对象的键名

对象的所有键名都是字符串,所以加不加引号都可以




但是,如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),也不是数字,则必须加上引号,否则会报错

对象的每一个“键名”又称为“属性”(property),它的“键值”可以是任何数据类型。如果一个属性的值为函数,通常把这个属性称为“方法”,它可以像函数那样调用。




4:对象的引用

如果不同的变量名指向同一个对象,那么它们都是这个对象的引用,也就是说指向同一个内存地址。修改其中一个变量,会影响到其他所有变量。




5:对象的创建

创建空对象

                  var empty={};         

创建对象属性

                  var point={x:10,y:20};   //point 是对象的引用                    

                  alert('坐标 '+point.x+':'+point.y);                                

                  var pp = point;    //pp 和point 都是引用(别名),指向同一个对象(一门多钥匙) 

                  point.z = 40;       //新增属性

                 

                  alert(pp.z +' '+point.z ); 

 

创建对象方法(行为)将成员信息写到{}中,并赋值给一个变量,此时这个变量就是一个对象

         varoAcotr = { //JSON对象 (名值对 单体) --> 便于管理 ,只一次时

                  name:'赵丽颖',  //属性

                  sex:'女',    

                  sing:function(){ //行为 方法

           alert('我能唱歌');  

                  }   

   }

oActor.name oActor.age   oActor.sing()



6:对象的创建(2)

创建空对象

         varobj = new Object();     //也可是Array Date

创建对象属性

         obj.age=30;  alert(obj.age);

创建对象方法

obj.showAge = function(){ return obj.age;};alert(obj.showAge());     


工厂模式创建多个对象

function createObj(name,date){

            var obj = new Object(name,date); //创建对象    

            obj.name = name; //创建对象属性

            obj.date = date;

            obj.getName = function(){ return obj.name;}    //创建对象方法

            obj.getDate = function(){ return obj.date; }   

            return obj;

         }

         varivanCar = createObj('别克',2013);

         varlinCar = createObj('大众',2012);

         alert(ivanCar.getName());

alert(linCar.getDate()); 



7:in运算符

in运算符用于检查对象是否包含某个属性(注意,检查的是键名,不是键值),如果包含就返回true,否则返回false。




for...in循环用来遍历一个对象的全部属性。

         varperson = {name:'ivan', age:30, city:'chengdu'};

         for(var key in person) {  //for in 用于遍历对象的键值

                  console.log("person." + key +" = " + person[key]);

         } 



8:将对象作为参数

var person ={

         name:'ivan',

        driver:function(){alert(' dirver car');}

}

function change(obj){

           obj.name = 'yy';          //更改对象的属性

           obj.driver = function(){alert(' dirverbus');}   //更改对象的方法

}

change(person);

alert(person.name);

person.driver();



9:函数的返回值是对象

 functionfn(type){ 

                  return {

                    name:'ivan',

                    age:30,

                    driver:function(){

                            console.log('i can driver '+type);  

                    }

                  }      

          }    

          var  obj= fn();      

          console.log(obj.name);

          

          console.log( fn().name );

          fn('bus').driver();




10:函数返回值是对象

function fn(type){   

                  return {

                    name:'ivan',

                    age:30,

                    driver:function(y){

                            console.log('i can driver '+type);  

                            return function(z){

                                     console.log(type+y+z);

                            }

                    }

                  }      

          }             

          fn(3).driver(4)(5);

 

function foo(){

                  return ;

                  console.log('gogo');

                  var aa= {

                       bar: "hello"

                  };

         }

    console.log(foo());












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值