菜鸟学Ajax学习笔记之JavaScript

在学校学习了几年,转眼大三了,明年大四即将出去找工作,似乎在学校C#、Java、jsp等都学了,但是似乎自己动手做系统的时候,感觉有时候还是欠缺,今天去图书馆找了本Ajax的书,其实之前也接过类似的书,但是没有好好研究,这次下定决心,好好研究下。

学习Ajax之前当然要好好补习一下自己的Javascript知识,其实自己有面向对象的语言(C#、Java)的基础,学起来还是蛮顺的。

Javascript是一种基于面向对象的语言,不过却不是面向对象(OOP)的,javascript有许多方面类似oop的,但它对于传统的oop技术的支持却是很有限的。例如,类成员的可见性只能通过一种受限的方式实现。不管怎么说,在javascript中创建类是可能的,甚至对类的继承还提供了一些基本的支持。

1.常用的javascript方法

document.write("Text");

这个方法把给定的文本输出到浏览器的窗口上。

Window.alert("Text");

这个方法打开一个模式窗口以显示给定的信息。

2.变量

javascript使用var关键字来声明变量。他们没有一个固定的数据类型,而且在运行时还能够更改其类型。

var i=0; //创建一个变量
i = "javascript"; //讲变量的值设置为一个字符串
i = false;  //讲变量的值设置为布尔类型

3.数组

数组时含有一组值的变量,不过由于javascript不是强类型的,因此一个数组中可以含有不同的数据类型。创建数组有两种方法,一种是使用new Array()并提供一些值。数据的索引还是从0开始的。

var days=new Array("sunday","monday","tuesday","wednesday","thursday","firday");
days[6]="saturday"; //第一种声明数组的方法
var days=["sunday","monday","tuesday","wednesday","thursday","firday"];//第二种声明数组的方法 (推荐使用)

4.控制结构

if,if……else……,switch和C#等基本一致,但是javascript中的for……in循环与C#中的foreach()基本一致,下面是例子:

var days=["sunday","monday","tuesday","wednesday","thursday","firday"];
for(var day in days)
{
   document.write(days[day]+"<br/>");
}

5.内建方法、自定义函数以及事件处理

函数通过function关键字来定义。由于不能指定返回值的数据类型,因此,也没有void关键字。所以函数也是不必有返回值的。如果一定要有返回值,可以使用return语句。

编写一个自定义的函数:

function HtmlEscape(s){
   var result = s.replase(/&/g,"&amp;");
                      .repalse(/</g,"&lt;");
                      .replase(/"/g,"&quot;");
                      .replase(/>/g,"&gt;");
                      .replase(/'/g,"&apos;");
    return result;
}
document.write(HtmlEscape("<hr/>"));

虽然javascript并不支持函数的重载,不过函数的参数数量却不是固定的。如果函数的参数数量比调用者提交的还要多,那么多出的参数会被赋值为null.

然而,如果提交的参数比预期的要多,那么要访问多出的参数时就要用到arguments属性了(<Functionname>,arguments的简化形式)。

编写一个可变参数数量的函数:

function OutputList(){
   document.write("<ul>");
   for(var i=0;i<arguments.length;i++){
       document.write("<ui>"+arguments[i]+"</li>");
}
  document.write("</ul>");
}
 OutputList("one","two","three");
原文地址:https://www.cnblogs.com/liangdelin/p/2490793.html