JavaScript中的对象
function persion(age,name){
this.age = age;
this.name = name;
this.playFun = playFun;
}
function playFun() {
alert('playFun()');
}
var p1 = new Persion(20,'张三');
String对象
var str1 = new String("abc");
alert(str1.length());
var str2 = "abc";
alert(str2.length());
alert(str2.charAt(1));
var str = "JavaScript";
alert(str.substr(2,3));
alert(str.substring(2,3));
var str = 'JavaScript';
alert(str.substr(2, 3));
alert(str.substring(2, 3));
alert(str.slice(2,3));
var str = "张三,李四,王五";
var strArr = str.split(",");
alert(strArr.length);
数组
var arr1 = new Array();
arr1[0] = 10;
arr1[1] = "abc";
arr1[4] = null;
arr1[5] = true;
alert(arr1[2]); // undefined
alert(arr1.length); // 6
var arr2 = [10,'abc',,,null,true];
数组压栈
var arr = ["张三","李四"];
arr.push("王五","马六");
alert(arr.toString());
数组排序
var arr = [11,52,21,32];
alert(arr.sort()); //默认为升序
var arr = [11,52,21,32];
arr.sort(function (num1,num2) { //传入新的规则(降序),匿名函数
return num1 < num2;
});
alert(arr.toString());
迭代数组
var arr = new Array(10,20,30,40);
var sum = 0;
for(i=0;i<arr.length;i++){
sum+=arr[i];
}
alert(sum);
//for...in 循环
for(var i in arr) { //i为数组中的索引
sum += arr[i];
}
Math
alert(Math.ceil(30.46)); //进一
alert(Math.floor(30.46)); //向下取整
alert(Math.round(30.46)); //四舍五入
alert(Math.random()); //取0到1之间的随机数
alert(Math.floor(Math.random()*10)); //取0~10之间的随机数
Data
var dateObj = new Date();
var year = dateObj.getFullYear();
var month = dateObj.getMonth();
var date = dateObj.getDate();
var day = dateObj.getDay();
var str = year+"年"+month+"月"+date+"日星期"+day;
alert(str);
var time = new Date().getTime(); //获取时间戳
with语法(JavaScript中对象专用语法)
var dateObj = new Date();
with(dateObj) { //with语法
var year = getFullYear();
var month = getMonth();
var date = getDate();
var day = getDay();
var str = year+"年"+month+"月"+date+"日星期"+day;
alert(str);
}
正则表达式
var regRex = /\d{1}/;
var str = "a";
alert(regRex.test(str));
验证用户名不为空
function vaildateUserName(){
var txtUserName = document.getElementById("username");
var spanUserName = document.getElementById("usernameinfo");
var username = txtUserName.value;
if(username == ""){
spanUserName.innerHTML="账号不能为空";
}
}
<form action="" method="psot">
账号:<input type="text" id="username" name="username" onblur="vaildateUserName()">
<span id="usernameinfo"></span><br>
密码:<input type="password" name="password"><br>
年龄:<input type="text" name="age"><br>
<input type="submit" onclick="test()" value="提交">
<input type="reset" value="取消">
</form>
arguments对象
在JavaScript函数中使用arguments对象可以访问调用者传入的参数的个数,以及每一个参数的值。
function fun1(num1,num2){
for(var i=0;i<arguments.length;i++){
alert(arguments[i]);
}
}
fun1(1,2,3);
利用arguments实现函数的重载
//传入一个参数计算数值的平方
//传入两个参数计算数值的和
function showData(){
var length = arguments.length;
if(length == 1) {
return arguments[0]*arguments[0];
} else if(length == 2){
return arguments[0]+arguments[1];
}
}
Function对象
使用Function对象创建函数
var fun1 = new Function("num1","num2","alert(num1+num2)");
//等价于:
// function fun1(num1,num2){
// return num1+num2;
// }
匿名函数
var fun1 = function(){alert("匿名函数");}
fun1();
全局函数
- parseInt/parseFloat
- isNaN 判断是否不是一个整数
- eval
验证用户年龄为整数
var txt = document.getElementById("age");
var age = txt.value;
var sp = document.getElementById("span");
//alert(typeof age);
if(isNaN(age)){
sp.innerHTML = "<font color='read'>请输入整数</font>";
}else {
sp.innerHTML = "<font color='green'>正确</font>";
}
eval全局函数
解析器 —— 将符合JS对象格式的字符串进行解析
var str1 = "3+4";
alert(eval(str1));
var str2 = "new Object";
var obj = eval(str2);
alert(typeof obj);