String的基本功能
out:封装的document.write();
很多方法与java重复
自定义功能:
1.定义一个去除字符串两端空格的方法
String的原型属性:prototype(重点)
对于字符串的bold()方法可以由字符串对象直接调用,而上面的trim方法也是用来操作字符串的方法,如何实现将trim方法添加到字符串对象中,直接由对象调用,
String的原型是String.prototype
那么我们就可以使用一个该字符串的原型属性来完成
原型:就是该对象的一个描述,该描述中如果添加了新功能
那么该对象都会具备这个功能
而prototype就可以获取该字符串的原对象(prototype就可以使对象的功能进行扩展)
将自定义的trim方法,添加到str中
原型练习:
1.给字符串添加一个字符串变数组的功能
2.添加字符串反转功能
数组对象:Array
Array方法:
Array练习自定义功能
//自定义Array功能
Js常用对象 — Date对象
作用:启用基本存储器并取的日期和时间
方法演示:
Js特有语句:with
为了简化对象调用内容的书写,可以使用Js中的特有语句with来完成
witn (对象){
在该区域内可以直接使用指定的对象的内容,不需要 对象.
}
Js常用对象Math对象—基本功能:
注意该对象中的方法都是静态,直接Math调用即可
out:封装的document.write();
很多方法与java重复
<script type="text/javascript" src="Out.js"> </script>
<script type="text/javascript" >
//String对象:var str1 = "xx" var str2 = new String("d");
var str = "aasdasd";
outln("len = "+str.length);
outln(str.bold());//相当于 <b>str</b>
outln(str.fontcolor("red"));//相当于 <font-color="red">str</font>
outln(str.link("http://www.baidu.com"));//超链接
outln(str.substr(1,3));//从下标为1开始截取3个
outln(str.substring(1,3));//含头不含尾
</script>
自定义功能:
1.定义一个去除字符串两端空格的方法
function trim(x){
var i = 0,j = x.length-1;
for(;i< x.length, x.charAt(i)==' ',j>=0, x.charAt(j)==' ';i++,j--);
return x.substring(i,j+1);
}
var str = " a s d asd ";
alert(str);
alert("-"+trim(str)+"-");
String的原型属性:prototype(重点)
对于字符串的bold()方法可以由字符串对象直接调用,而上面的trim方法也是用来操作字符串的方法,如何实现将trim方法添加到字符串对象中,直接由对象调用,
String的原型是String.prototype
那么我们就可以使用一个该字符串的原型属性来完成
原型:就是该对象的一个描述,该描述中如果添加了新功能
那么该对象都会具备这个功能
而prototype就可以获取该字符串的原对象(prototype就可以使对象的功能进行扩展)
将自定义的trim方法,添加到str中
function trim(x){
var i = 0,j = x.length-1;
for(;i< x.length, x.charAt(i)==' ',j>=0, x.charAt(j)==' ';i++,j--);
return x.substring(i,j+1);
}
var str = " a s d asd ";
String.prototype.sss = 250;//给string原型添加一个sss属性名为sss = 199;
//那么随便 一个字符串对象都有sss,且都是199
//第一种
String.prototype.trim = trim;
alert(str.trim(str));
//第二种,匿名
String.prototype.trim = function (){
var i = 0,j = this.length-1;
for(;i< this.length, this.charAt(i)==' ',j>=0, this.charAt(j)==' ';i++,j--);
return this.substring(i,j+1);
}
alert(str.trim());
/*开发时封装为一个单独的文件,导入即可*/
原型练习:
1.给字符串添加一个字符串变数组的功能
2.添加字符串反转功能
var str = "abcd";
String.prototype.toCharArray = function(){
var ch = [];
for(var i = 0;i<this.length;i++)
ch[i] = this.charAt(i);
return ch;
}
String.prototype.rev = function(){
var ch = this.toCharArray();
var low = 0,high = this.length-1;
function swap(str,i,j){//函数中定义函数,java不允许,类似于java内部类
var t = str[i];
str[i] = str[j];
str[j] = t;
}
while(low<high){
swap(ch,low++,high--);
}
return ch.join("");//去除字符数组中的逗号
}
alert(str.toCharArray());
alert(str.rev());
数组对象:Array
Array方法:
var arr = ["asd","cd",1,2,"ds"];
var arr1 = ["d","cvd"];
var newarr = arr.concat(arr.concat("aa",arr1));//将"aa"作为连接到arr数组,再将arr1数组链接
/*outln(newarr);
outln(newarr.join());//默认逗号
outln(newarr.join(""));
outln(newarr.pop());//移除数组的最后一个元素并返回
outln(newarr.push("zzz"));//添加一个新元素到数组并返回新长度,元素也可以是数组
//JS中的二位数组,var s = [[],[],[],[]];
outln(arr.reverse());//反转
outln(arr.shift());//移除数组中的第一个元素并返回
outln(arr);
outln(arr.slice(1,3));//返回数组中的一段,*/
// 含头不含尾,头尾有一个为负,就+length,尾大于头不做赋值
//outln(arr.sort());//返回一个已经进行排序的Array对象
//outln(arr.splice(0,3,250,9527,"asd","xc"));//0是开始位置,3是删除3个元素,添加4个元素
//移除一个或多个元素,且可以在移除元素的位置上添加新元素,返回移除元素
//arr.unshift("12233");//将指定的元素插入数组的开始位置并返回数组
//outln(arr);
//unshift 和pop,就可以实现数据结构:队列
//unshift 和shift:实现数据结构:栈
Array练习自定义功能
//自定义Array功能
Array.prototype.getMax = function(){
var tep = 0;
for(var i = 0;i<this.length;i++){
if(this[i]>tep)
tep = i;
}
return this[tep];
}
//数组的复写
Array.prototype.toString = function(){
return "["+this.join()+"]";
}
Js常用对象 — Date对象
作用:启用基本存储器并取的日期和时间
var obj = null;
obj = new Date();
obj = new Date(dateva);//dateva:距离1970年。。。。
obj = new Date(year,month,date[,[minutes[,[seconds[,ms]]]]]);
方法演示:
var date = new Date();
//document.writeln(date);//默认方式
//document.writeln(date.toLocaleString()+"<br/>");//当前日期和时间
// outln(date.toLocaleDateString());//日期
// outln(date.getFullYear()+"/"+(date.getMonth()+1)+"/"+date.getDate());
var week = date.getDay();
function getWeek(num){
var week = ["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];
return week[num];
}
// outln("week is : "+getWeek(week));
var date2 = new Date();
var time = date2.getTime();//获取毫秒值
//outln(time);//1417177204024 : 20点20
//将毫秒值转成日期对象 1.new Date(); 2.setTime();
var date3 = new Date(time);
//日期对象转成字符串 toLocaleString(),toLocaleDateString()
//字符串转成日期对象 具备指定格式的日期字符串 -> 毫秒值 -> 日期对象
var date_str = "11/28/2014";
var time_mi = Date.parse(date_str);//字符串与1970.1.1的毫秒差,但是必须是:月/日/年
var date4 = new Date(time_mi);
outln(date4.toLocaleString());
Js特有语句:with
为了简化对象调用内容的书写,可以使用Js中的特有语句with来完成
witn (对象){
在该区域内可以直接使用指定的对象的内容,不需要 对象.
}
var date = new Date();
with(date){
//var year = date.getFullYear();
var year = getFullYear();
}
outln(year);
Js常用对象Math对象—基本功能:
注意该对象中的方法都是静态,直接Math调用即可
var num1 = Math.ceil(12.35);//大于等于指定参数的最小整数
var num2 = Math.floor(12.34);//小于等于指定参数的最大整数
var num3 = Math.round(12.56);//四舍五入
outln("num1 = "+num1);
outln("num2 = "+num2);
outln("num3 = "+num3);
for(var i = 0;i<10;i++){
//var num = Math.random()*10+1;//如此生成的是伪随机数
// var num = Math.floor(Math.random()*10+1);可以
var num = parseInt(Math.random()*10+1);//parseInt是全局方法,Global对象
outln(num);
}