JavaScrip学习之旅(4) 数据类型、定时器、数组

来源:互联网 发布:网络营业执照代码查询 编辑:程序博客网 时间:2024/05/16 23:51

转载请标明是引用于 http://blog.csdn.net/chenyujing5678 

欢迎拍砖!

 

1、JavaScript数据类型

(1)数值型 number

(2)字符串 string

转化:

x = "12.3";y = parseInt(x);  // 得12x = "12.3";y = parseFloat(x); // 得12.3


 

// 将表达式字符串转为表达式的结果y = "3*4";x = eval(x);


 

(3)布尔型 boolean。

(4)对象型 object,eg:document()、window(浏览器窗口对象)、date(日期对象)、navigate(浏览器本身)等。

eg:

window.status = "博洋"; // 设置状态栏var newdate = new Date("July 29");var today = new Date(); // 没参数表当前的日期

 

window.setTimeout("a()", 1); // 1以后执行一次a()函数window.setInterval("a()", 1); // 每隔1S执行一个a()函数clearTimeout();                      // 清除定时器

 

java script定时器的应用1:(显示时间)

// java script定时器的应用<script language="javascript">function disptime(){var time = new Date(); // 获了当前时间var hour = time.getHours(); var minute = time.getMinute();var second = time.getSecond();var apm = "AM";if (hour > 12){hour = hour - 12;amp = "pm";}if (minute < 10){minute = "0" + minute;}// 设置文本框的内容为当前的时间document.myform.myclock.value = hour + ":" + minute + ":" + ...;// 设置定时器,隔1S调一次disptime()var myTime = setTimeout("disptime()", 1000);}</script>// 调用方法<body onLoad="disptime()">

java script定时器的应用2:(两秒刷一次页面)




(5)函数 function

函数调用:一般和表单元素的事件一起使用,事件名="函数名".

<SCRIPT language = "javascript">function compute(op){var num1, num2;num1 = parseFloat(document.myform.num1.value); // myform:HTML的FORM节点里的id字段num2 = parseFloat(document.myform.num2.value);if (op == "-"){document.myform.result.value = num1 - num2;}if (op == "*"){}}</SCRIPT><INPUT name="addButton" type="button" id="addButton" value="+" onClick="compute('+')"><!--->
(6)Array数组对象

(6、1)Array是一个动态数组,大小不固定,而且是一个像C#中数组、ArrayList、Hashtable等的超强综合体。

  var arr = new Array();        arr[0] = "tom";        arr[1] = "jerry";        arr[2] = "lily";        for(var i = 0; i < arr.length; i++){            alert(arr[i]);        }

 

(6、2)属性

length:数组元素个数;

join(分隔符):将数组元素中加分隔符号后串接并返回一个字符串;

reserse():将数组元素按照原先相反位置存放

slice(始[,终):返回一个子数组;

// 一维数组var a=new Array(10);var n = new Array();var a = new Array(1, 2, 3);var a = new Array("a", "b", "c");// 二维数组var a = new Array(2);a[0] = new Array(3);a[1] = new Array(3);

 

(6、3)Array的简化声明

var arr = [3, 5, 6, 8, 9];  // 普通数组初始化pinyins["人"] = "ren"; // key 


 

(6、4)练习

(练习一) 求一个数组中的最大值
 function getMax(arr) {            var max = arr[0];            for(var i = 0; i < arr.length; i++){                if (arr[i] > max) {                    max = arr[i];                }            }            return max;        }        var arr1 = new Array();        arr1[0] = 20;         arr1[1] = 10;        arr1[2] = 21;                alert(getMax(arr1));

(练习二) 将Array数组反转(不使用JS中的反转函数reserse)

alert(arr);其实是调用了Array 的toString 的方法,它将数组元素拼接起来。

var arr = new Array();        arr[0] = "tom";        arr[1] = "jerry";        arr[2] = "lily";                alert(arr);  // 其实是调用了Array toString 的方法

得到:

 function myreserve(arr){ // 传递进来的不是拷贝            for(var i = 0; i < arr.length/2; i++){                var temp = arr[i];                arr[i] = arr[arr.length - i - 1];                arr[arr.length - i - 1] = temp;            }        }                var arr = new Array();        arr[0] = "tom";        arr[1] = "jerry";        arr[2] = "lily";                alert(arr);  // 其实是调用了Array toString 的方法        myreserve(arr);        alert(arr);


 


 

(练习三) 将Array数组输出为|分割形式(不使用JS中的分割函数join)

 

function myjoin(arr) {            if (arr.length <= 0) {                return "";            }            var s = arr[0];            for(var i = 1; i < arr.length; i++){                s = s + "|" + arr[i];            }            return s;        }        var arr = new Array();        arr[0] = "tom";        arr[1] = "jerry";        arr[2] = "lily";        alert(myjoin(arr));



2、

void 执行一个程序语句,eg

<a href="javascript:void(n++)">void执行</a>