JavaScript-基础语法(3)

String的基本功能
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);
        }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值