JavaScript对象
基本对象
- Function:函数(方法)对象
-
1.创建
- var fun = new Function(形式参数列表,方法体); //忘掉吧
- function 方法名称(形式参数列表){
方法体;
} - var 方法名 = function(形式参数列表){
方法体
}
-
2.方法:
-
3.属性
- length:代表形参的个数
-
4.特点
- 方法定义是,形参的类型不用写
- 方法是一个对象,如果定义名称相同的方法会覆盖
- 在JS中,方法的调用只与方法的名称有关,和参数列表无关
- 在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有实际参数
-
5.调用
- 方法名称(实际参数列表);
-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<script>
/* //创建方式1
var fun1 = new Function("a","b","alert(a);");
fun1(5,6);
//创建方式2
function fun2(a){
alert(a);
};
fun2(10);
//创建方式3
var fun3 = function(b,c){
alert(c + b);
};
fun3(100,200);
alert(fun3.length); */
/* //求两个数的和
function add(a,b){
return a + b;
};
var sum = add(10,20);
alert(sum); */
//求任意个数的和
function add(){
var sum = 0;
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum;
}
var sum = add(10,20,30,40,50);
alert(sum);
</script>
</head>
<body>
</body>
</html>
- Array:数组对象
- 创建
- var arr = new Array(元素列表);
- var arr = new Array(默认长度);
- var arr = [元素列表];
- 方法
- join(参数):将数组中的元素按照指定的分割符拼接为字符串
- push():像数组的末尾添加一个或更多元素,并返回新的长度
- 属性
- length:数组的长度
- 特点
- 在JS中,数组元素的类型是可变的
- 在JS中,数组长度是可变的
- 创建
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Array对象</title>
<script>
//创建方式
var arr1 = new Array(10,20,30,40);
var arr2 = new Array(5);
var arr3 = [10,20,30,40];
var arr4 = new Array();
document.write(arr1 + "<br>" + "<br>");
document.write(arr2 + "<br>" + "<br>");
document.write(arr3 + "<br>" + "<br>");
document.write(arr4 + "<br>" + "<br>");
document.writeln("<hr size='7' color='red'>")
var arr5 = new Array(1,"abc",true,null);
document.writeln(arr5);
</script>
</head>
<body>
</body>
</html>
-
Boolean
-
Date
- 创建
- var date = new Date();
- 方法
- toLocaleString():返回当前date对象对应的时间本地字符串格式
- getTime():获取毫秒值。返回当前如期对象描述的时间到1970年1月1日零点的毫秒值差
- 创建
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Date对象</title>
<script>
var date = new Date();
document.write(date + "<br>" + "<br>");
document.write(date.toLocaleString() + "<br>" + "<br>");
document.write(date.getTime() + "<br>" + "<br>");
</script>
</head>
<body>
</body>
</html>
- Math:数学对象
- 创建
- 特点:Math对象不用创建,可以直接使用。Math.方法名();
- 方法
- random():返回0-1之间的随机数。含0不含1
- ceil(x):对数进行上舍入
- floor(x):对数进行下舍入
- round(x):把数四舍五入为最接近的整数。
- 属性:
- PI
- 创建
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
/**
* random():返回0-1之间的随机数。含0不含1
* ceil(x):对数进行上舍入
* floor(x):对数进行下舍入
* round(x):把数四舍五入为最接近的整数。
*/
document.write(Math.PI + "<br>" + "<br>");
document.write(Math.random() + "<br>" + "<br>");
document.write(Math.ceil(3.14) + "<br>" + "<br>");
document.write(Math.floor(3.14) + "<br>" + "<br>");
document.write(Math.round(3.14) + "<br>" + "<br>");
document.write("<hr size=\"7\" color=\"#FF00FF\"/>");
/**
* 取1-100之间的随机整数
* 1.Math.random()产生随机数:范围0,1小数
* 2.乘100 --> 0,99.999小数
* 3.舍弃小数部分
*/
document.write(Math.floor((Math.random() * 100)+1));
</script>
</head>
<body>
</body>
</html>
- Number
- String
- RegExp:正则表达式对象
- 正则表达式:定义字符串的组成规则
- 单个字符:[]
- 如:[a],[ab],[a-z A-Z 0-9]
- 特殊符号代表特殊含义的单个字符:
- \d:单个数字字符 [0-9]
- \w:单个单词字符[a-z A-Z 0-9]
- 量词符号:
- ?:表示出现0次或1次
- "*":表示出现0次或多次
- +:表现1次或多次
- {m,n}:表示 m<= 数量 <= n
- m如果缺省:{,n}:最多n次
- n如果缺省:{,m}:最少m次
- 开始结束符号
- ^:开始
- $:结束
- 单个字符:[]
- 正则对象:
- 创建
- var reg = new RegExp("正则表达式");
- var reg = /正则表达式/;
- 方法:
- test(参数):验证指定的字符串是否符合正则定义的规范
- 创建
- 正则表达式:定义字符串的组成规则
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
//1.
var reg1 = new RegExp("\w{6,12}");
//2.
var reg2 = /^w{6,12}$/;
var username = "zhangsan";
var flag = reg2.test(username);
alert(flag);
/* alert(reg1);
alert(reg2);*/
</script>
</head>
<body>
</body>
</html>
- Global
- 特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。方法名();
- 方法:
- encodeURI():url编码
- decodeURI():url解码
- encodeURIComponent():url编码,编码的字符更多
- decodeURIComponent():url解码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Global对象</title>
<script>
var str = "光头强";
var encode = encodeURI(str);
document.write(encode + "<br>" + "<br>");//%E5%85%89%E5%A4%B4%E5%BC%BA
var decode = decodeURI("%E5%85%89%E5%A4%B4%E5%BC%BA");
document.write(decode + "<br>" + "<br>");//光头强
var str1 = "http://www.baidu.com?wd=光头强";
var encode1 = encodeURIComponent(str1);
document.write(encode1 + "<br>" + "<br>");//http%3A%2F%2Fwww.baidu.com%3Fwd%3D%E5%85%89%E5%A4%B4%E5%BC%BA
var s1 = decodeURIComponent(encode);
document.write(s1 + "<br>" + "<br>");//光头强
</script>
</head>
<body>
</body>
</html>