多啦a梦更新中,Javascript学习笔记(更新中)

昨天看了传智播客的JSP入门教程,感觉很简单,但是我的记忆力老出问题,平时上班也没有太多的时间写代码,只能抽空在办公室或者在机房里面用TXT写点基础的东西练习JAVASCRIPT学习笔记JavaScript面向对象初步函数标准写法
<script type="text/javascript">
function sayHello() { //因为JSP中可以动态创建属性和方法,所以我没有指定参数
this.Name = prompt("请输入姓名:",""); //JSP中很多变量不需要事先var声明,比如这里的this.Name.
this.Age = prompt("请输入年龄:", "");
this.SayHello = function() { document.write("大家好,我是" + this.Name + ",我今年" + this.Age + "岁"); }
}
var people = new sayHello(); //jsp中没有类的概念,可以把函数看成是类,但请注意它实质还是函数
people.SayHello();
</script>
变态写法(JSP允许这样写,因为JSP允许动态添加对象中的属性和方法!)
<script type="text/javascript">
var app = new Object();
app.Name = prompt("请输入姓名:", "");
app.Age = prompt("请输入年龄:","");
app.SayHello = function() { document.write("大家好,我是"+app.Name +"我今年"+ app.Age+"岁"); }
app.SayHello();
</script>
请参考传智播客官方的标准写法
<script type="text/javascript">
function sayHello(name, age) {
this.Name = name;
this.Age = age;
this.SayHello = function() { document.write("大家好,我是" + this.Name + ",我今年" + this.Age + "岁"); }
}
var people = new sayHello("TOM",30);
people.SayHello();
</script>
数组在JSP中,数组其实不能完全称为是数组,它是一个有很多功能的大杂烩,它可以被看成数组,也可以看成是词典,也可以看成是STACK(栈)。它与C#中数组有一些不同,但基本上功能还是一致的,在下面的示例中,请注意注释,它告诉了你一些重点。
求数组中的最大值
<script type="text/javascript">
function MaxValue(arr) {
var temp = arr[0];
for (var i = 0; i < arr.length; i++) {
if (arr > temp) {
temp = arr;
}
}
return temp;
}
var myarray = new Array();
myarray[0] = 5;
myarray[1] = 8;
myarray[2] = 6;
myarray[3] = 2;
document.write(MaxValue(myarray));
</script>
将数组中的元素反转显示
<script type="text/javascript">
function renewNum(arr) {
for (var i = 0; i < (arr.length/2); i++) { //首末倒置要将数组长度折半,奇偶数无影响
var temp = arr; //中间变量,用来保存待交换的元素,首先是arr[0]
arr = arr[arr.length - i - 1]; //开始交换,将arr[0]交换为最后的元素,注意公式是length-i-1
arr[arr.length - i - 1] = temp; //将最后的元素交换为中间变量
}
return arr; //返回新的数组
}
var myarray = new Array();
myarray[0] = '5';
myarray[1] = '6';
myarray[2] = 'ak';
myarray[3] = '8';
var kiss = renewNum(myarray); //以下两句可以写成如下
document.write(kiss); //document.write(renewNum(myarray));
</script>
内置反转显示函数:
<script type="text/javascript">
var myarray = new Array();
myarray[0] = '5';
myarray[1] = '6';
myarray[2] = 'ak';
myarray[3] = '8';
var kiss = myarray.reverse();
document.write(kiss);
</script>
内置在数组元素中间增加间隔符号函数
<script type="text/javascript">
var myarray = new Array();
myarray[0] = '5';
myarray[1] = '6';
myarray[2] = 'ak';
myarray[3] = '8';
document.write(myarray.join("|"));
</script>
手工实现数组元素中间增加间隔符号(第一种写法)
<script type="text/javascript">
function list(arr) {
for (var i = 0; i < arr.length - 1; i++) {
arr = arr + "|";
}
return arr;
}
var myarray = new Array();
myarray[0] = '5';
myarray[1] = '6';
myarray[2] = 'ak';
myarray[3] = '8';
var kiss = list(myarray);
document.write(kiss);
</script>
手工实现数组元素中间增加间隔符号(第二种写法)
<script type="text/javascript">
function list(arr) {
var str = "";
for (var i = 0; i < arr.length - 1; i++) {
arr = arr + "|";
str = str + arr;
}
return str;
}
var myarray = new Array();
myarray[0] = '5';
myarray[1] = '6';
myarray[2] = 'ak';
myarray[3] = '8';
var kiss = list(myarray);
document.write(kiss);
</script>
请比较上面两种写法的不同。
数组的词典用法
<script type="text/javascript">
var myarray = new Array();
myarray['A'] = '5';
myarray['B'] = '6';
myarray['C'] = 'ak';
myarray['D'] = '8';
document.write(myarray['A']);
</script>
还可以使用如下的方式,但不建议这样使用
<script type="text/javascript">
var myarray = new Array();
myarray['A'] = '5';
myarray['B'] = '6';
myarray['C'] = 'ak';
myarray['D'] = '8';
document.write(myarray.A);
</script>
JSP中数组同C#的区别
<script type="text/javascript">
var myarray = new Array();
myarray['A'] = '5';
myarray['B'] = '6';
myarray['C'] = 'ak';
myarray['D'] = '8';
for (var k in myarray) {
document.write(myarray[k]); //C#中document.write(k);即可打印出数组的值,但JSP内不行
}
</script>
JSP中数组初始化的简单方式
<script type="text/javascript">
var myarray = [5,6,7,8]; //这里是中括号,而C#中类似于int myarray = {5,6,7,8};
for (var k in myarray) {
document.write(myarray[k]);
}
</script>
词典方式
<script type="text/javascript">
var myarray = { 'A': 5, 'B': 6, 'C': 7, 'D': 8 }; //这里是花括号
for (var k in myarray) {
document.write(myarray[k]);
}
</script>
Tags: 

延伸阅读

最新评论

发表评论