1.什么是javascript对象?
对象是 JavaScript 中最重要的 API 。
对象包括属性和方法,
访问对象的属性:对象.属性名,
访问对象的方法:对象.方法名()
js 中包含很多对象:
1. 内置对象
- String对象
- Number对象
- Boolean对象
- Array对象
- Math对象
- Date对象
- RegExp对象
- Function对象
String对象
创建String对象的2种方式:
var str1=”hello world”;
var str2=new String(“hello world”);
String对象的属性:str.length;
str.toLowerCase()
str.toUperCase()
str.charAt(index)//获取指定位置的字符,下标从0开始
str.charCodeAt(index)//返回指定位置的字符的Unicode编码
···
数组对象
var arr1=new Array();
var arr2=new Array(3);
var arr3=new Array(100,”a”,true);
var arr4={100,400,200,50};
数组的倒转: arr4.reverse();
数组的排序:arr4.sort(sortFunc);//sortFunc为排序的函数名
补充:
数组的排序默认是将数组中的元素当字符串来看待,默认排序是按字符串对应的 Unicode 编码来比较的(不是按照元素本身大小来比较,如果要按照元素本身大小来比较就需要将排序函数参数当参数传入
//排升序
function sortFunc(a,b){
return a-b
}
//排降序
function sortFunc(a,b){
return b-a;
}
Regexp对象
2种方式创建:
其中flags有2个值,
g:设置为全局匹配模式
i:忽略大小写检测
var regexp =/^\d{3,6}$/flags;
var regexp=new RegExp("^\d{3,6}$","flags");//第二个参数可以不写
常用的方法:
//检索字符串中指定的值,返回找到的值
regexp.exec(String str);
//检索字符串中指定的值,如果有则返回true,否则返回false
regexp.test(String str);
...
字符串对象中有很多API也支持正则对象
//返回替换后的字符串
str.replace(regexp,tostr);
//返回匹配字符串的数组
str.match(regexp);
//返回匹配字符串的首字符位置索引
str.search(regexp);
Function对象
- js 中函数就是 Function 对象,函数名就是指向 Function 对象的引用。
- 函数的返回值默认是 undefined,可以通过 return 返回具体的值。
- js 中的函数没有重载,只要方法名相同,无论传多少个参数,调用的都是同一个函数(所有参数都传递给 arguments 数组对象),没有接收到实参的参数值是 undefined。
- arguments 数组对象是一种特殊的对象,在函数中用来表示函数的参数数组,在函数代码中可以通过 arguments 对象访问所有参数,比如:
//arguments.length,函数的参数个数
//arguments[i],第i个参数
function method1(){
alert(arguments.length);
alert(arguments[0]);
}
method1(10,20);//结果先弹出2,再弹出10
- 使用 Function 对象创建函数
var functionName = new Function(arg1,arg2,...argN,functionBody);
//比如:
var add =new Function("x","y","return(x+y);");
var result = add(3,2);
alert(result);
alert(add);//弹出文本方法
- 创建匿名函数
var add = function(arg1,arg2,...argN){
functionBody;
return value;
};
var add = function(x,y){
return x+y;
};
var result = add(2,3);
alert(result);
alert(add);//弹出方法的文本
- 全局函数
全局函数适用于所有的 js 对象,常用的全局函数有:parseInt()/parseFloat()/eval() 等等。
eval函数:用于计算表达式字符串,或者用于执行字符串中的 js 代码。
其只接受原始字符串作为参数。(如果参数中没有合法的表达式或者语句则抛异常)
var s1 = "2+3";
alert(s1);//2+3
alert(eval(s1));//5
3. 自定义对象