JavaWeb的学习--第四天 javascript02

1、js的String对象
** 创建String对象
*** var str = "abc";

** 方法和属性(文档)
*** 属性 length:字符串的长度

*** 方法
(1)与html相关的方法
- bold():加粗
- fontcolor(): 设置字符串的颜色
- fontsize(): 设置字体的大小

- link(): 将字符串显示成超链接
**** str4.link("hello.html")

- sub() sup(): 下标和上标

(2)与java相似的方法
- concat(): 连接字符串
** //concat方法
var str1 = "abc";
var str2 = "dfg";
document.write(str1.concat(str2));

- charAt():返回指定指定位置的字符串
** var str3 = "abcdefg";
document.write(str3.charAt(20)); //字符位置不存在,返回空字符串

- indexOf(): 返回字符串位置
** var str4 = "poiuyt";
document.write(str4.indexOf("w")); //字符不存在,返回-1

- split():切分字符串,成数组
** var str5 = "a-b-c-d";
var arr1 = str5.split("-");
document.write("length: "+arr1.length);

- replace() : 替换字符串
* 传递两个参数:
-- 第一个参数是原始字符
-- 要替换成的字符
* var str6 = "abcd";
document.write(str6);
document.write("<br/>");
document.write(str6.replace("a","Q"));

- substr()和substring()
* var str7 = "abcdefghuiop";
//document.write(str7.substr(5,5)); //fghui 从第五位开始,向后截取五个字符
*** 从第几位开始,向后截取几位

document.write("<br/>");
document.write(str7.substring(3,5)); //de 从第几位开始到第几位结束 [3,5)
*** 从第几位开始,到第几位结束,但是不包含最后哪一位

2、js的Array对象
** 创建数组(三种)
- var arr1 = [1,2,3];
- var arr2 = new Array(3); //长度是3
- var arr3 = new Array(1,2,3); //数组中的元素是1 2 3

- var arr = []; //创建一个空数组

**属性length:查看数组的长度

**方法

-concat()方法:数组的连接

-join()方法:根据指定字符分割数组

-push()方法:向数组末尾添加元素,返回数组的新的长度

**如果添加的是一个数组,这个时候把数组当做一个整体字符串添加进去
-pop()方法:
删除最后一个元素,返回删除的那个元素

-reverse()方法:颠倒数组中元素的顺序

代码:

 1 //length:查看数组的长度
 2 var arr1 = [1, 2, 3];
 3 document.write(arr1.length);
 4 
 5 //concat()方法:数组的连接
 6 document.write("<hr/>");
 7 var arr2 = [1, 2, 3];
 8 var arr3 = [4, 5, 6];
 9 document.write(arr2.concat(arr3));
10 
11 //join()方法:根据指定字符分割数组
12 document.write("<hr/>");
13 var arr4 = new Array(3);
14 arr4[0] = "a";
15 arr4[1] = "b";
16 arr4[2] = "c";
17 
18 document.write(arr4);
19 document.write("<br/>");
20 document.write(arr4.join("-"));
21 
22 //push()方法:向数组末尾添加元素,返回数组的新的长度
23 //如果添加的是一个数组,这个时候把数组当做一个整体字符串添加进去
24 document.write("<hr/>");
25 var arr5 = new Array(3);
26 arr5[0] = "tom";
27 arr5[1] = "jack";
28 arr5[2] = "lucy";
29 document.write("old length:" + arr5.length);
30 
31 document.write("<br/>");
32 document.write("new length:" + arr5.push("wangwu"));
33 document.write("<br/>");
34 document.write("new array:" + arr5);
35 
36 document.write("<hr/>");
37 var arr6 = ["aaa", "bbb", "ccc"];
38 var arr7 = ["www", "qqq"];
39 
40 document.write("old array:" + arr6);
41 document.write("<br/>");
42 document.write("new length:" + arr6.push(arr7));
43 document.write("<br/>");
44 document.write("new array:" + arr6);
45 for(var i=0;i<arr6.length;i++) {
46     //alert(arr6[i]);
47 }
48 
49 //pop()方法:删除最后一个元素,返回删除的那个元素
50 document.write("<hr/>");
51 var arr8 = ["wangwu", "lisi", "zhangsan"];
52 document.write("old array:" + arr8);
53 document.write("<br/>");
54 
55 document.write("return:" + arr8.pop());
56 document.write("<br/>");
57 document.write("new array:" + arr8);
58 
59 //reverse()方法:颠倒数组中元素的顺序
60 document.write("<hr/>");
61 var arr9 = ["wangwu", "lisi", "zhangsan", "zhaoliu"];
62 document.write("old array:" + arr9);
63 document.write("<br/>");
64 document.write("new array:" + arr9.reverse());

3、js的Date对象
** 在java里面获取当前时间
Date date = new Date();
//格式化
//toLocaleString() //2015年4月17日 11:17:12

** js里面获取当前时间
var date = new Date();
//获取当前时间
var date = new Date();
document.write(date); // Fri Apr 17 10:47:46 UTC+0800 2015

//转换成习惯的格式
document.write("<hr/>");
document.write(date.toLocaleString());

** 获取当前的年方法
getFullYear():得到当前的年
**** document.write("year: "+date.getFullYear());

** 获取当前的月方法
getMonth():获取当前的月
*** 返回的是 0-11月,如果想要得到准确的值,加1
**** var date1 = date.getMonth()+1;
document.write("month: "+date1);

** 获取当前的星期
getDay():星期,返回的是 (0 ~ 6)
** 外国朋友,把星期日作为一周的第一天,星期日返回的是 0
而星期一到星期六 返回的是 1-6
** document.write("week: "+date.getDay());

** 获取当前的日
getDate():得到当前的天 1-31
** document.write("day: "+date.getDate());

** 获取当前的小时
getHours():获取小时
** document.write("hour: "+date.getHours());

** 获取当前的分钟
getMinutes():分钟
** document.write("minute: "+date.getMinutes());

** 获取当前的秒
getSeconds(): 秒
** document.write("second: "+date.getSeconds());

** 获取毫秒数
getTime()
返回的是1970 1 1 至今的毫秒数

** 应用场景:
*** 使用毫秒数处理缓存的效果(不有缓存)
http://www.baidu.com?毫秒数

4、js的Math对象
* 数学的运算
** 里面的都是静态方法,使用可以直接使用 Math.方法()

** ceil(x): 向上舍入

** floor(x):向下舍入

** round(x):四舍五入

** random():得到随机数(伪随机数)
- 得到0-9的随机数
Math.random()*10
Math.floor(Math.random()*10));

** x的y次方pow(x,y);
document.write("<br/>");
document.write(Math.pow(2,5));


5、js的全局函数
* 由于不属于任何一个对象,直接写名称使用

** eval() : 执行js代码(如果字符串是一个js代码,使用方法直接执行)
**** var str = "alert('1234');";
//alert(str);
eval(str);

** encodeURI() :对字符进行编码
- %E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87aaa1234

decodeURI() :对字符进行解码

encodeURIComponent() 和 decodeURIComponent()

** isNaN():判断当前字符串是否是数字
-- var str2 = "aaaa";
alert(isNaN(str2));
*** 如果是数字,返回false
*** 如果不是数字,返回true

** parseInt():类型转换
** var str3 = "123";
document.write(parseInt(str3)+1);

6、js的函数的重载
** 什么是重载?方法名相同,参数不同

** js的重载是否存在? 不存在
** 调用最后一个方法
** 把传递的参数保存到 arguments数组里面

** js里面是否存在重载?(面试题目)
(1)js里面不存在重载。
(2)但是可以通过其他方式模拟重载的效果 (通过aruguments数组来实现)

 function add1() {
//比如传递的是两个参数
    if(arguments.length == 2) {
        return arguments[0]+arguments[1];
    } else if (arguments.length == 3) {
            return arguments[0]+arguments[1]+arguments[2];
        } else if (arguments.length == 4) {
            return arguments[0]+arguments[1]+arguments[2]+arguments[3];
        } else {
    return 0;
    }
}        
原文地址:https://www.cnblogs.com/guodong-wang/p/6419579.html