对Object,Array,RegExp,Function类型的总结

来源:互联网 发布:飓风营救 知乎 编辑:程序博客网 时间:2024/05/22 12:53

1.创建Object实例的两种方式

--------1----------------
var person = new Object();
person.name = "william";
person.age=21;

---------2----------------
ver person={
name:"william",    //这里是逗号
age:21               //最后一个属性不能加逗号
};                             //加分号




2.创建数组的两种方式

---------1--------------
var colors = new Array();

-----------2------------
var colors=["red","blue","yellow"]; //逗号
// var colors=[]                                  //创建了空数组


3.RegExp类型创建的两种方式

-----------------1--------------
var expression = /pattern/ flags;

--------------2------------------
var expression = new RegExp("pattern","flag");//字符串,这种比较常用

--------------example--------------
<1>匹配第一个“bat”或“cat”,不区分大小写
   var e = /[bc]at/ i 


<2>匹配第一个“[bc]at”,不区分大小写
    var e = / \ [ b c \ ] a t / i


<3>匹配所有以“at”结尾的3个字符的组合,不分区大小写
   var e = /.at/ gi 


<4>匹配所有“.at”,不区分大小写
   var e = /\.at/ gi 


4.Function类型
<1>函数是对象,函数名是指向函数对象的一个指针


function sum(num1,num2){
return num1+num2;
}
alert(sum(10,10));     //20


var sum1 = sum;
alert(sum1(10,10));    //20


sum = null;
alert(sum1(10,10));    //20


不带圆括号的函数名是访问函数指针,而非调用函数,
所以sum和sum1指向同一个函数。


函数名是指针,所以没有重载的概念,后来定义的同名同参函数
会覆盖前一个函数


函数的名字:一个包含指针的变量


function sum(num1,num2){
return num1+num2;
}
function sum(num1,num2){
return num1*num2;
}
alert(sum(10,10));     //100


<2>函数声明与函数表达式


------------函数声明------------
function sum(num1,num2){
return num1+num2;
}


------------函数表达式-----------
var sum = function(num1,num2){
return num1+num2;
};                  //这有分号


执行数据加载时
---函数声明会先被读取,使其在任何代码之前可访问(函数声明提升)
---函数表达式则会等到执行到所在代码行才会被真正执行                

0 0