javascript 语法基础 想学习js的朋友可以看看

  1:javascript区分大小写

  2:javascript每一条语句必须以";"结束,与C语言一样

  3:输出:document.write("字符串")--->还可以输出对应的html标记

  4:改变窗体的颜色document.bgColor="red";

  4:类型转换:parseInt,parseFloat

  5:随机函数:parseInt(Math.random()*90+10) 产生10--100的随机数

  5:弹出对话框:alert("提示的内容")

  5:if if...else,for,while,switch case

  5:如何定义数组:

  1)一维数组:

  a=new Array();[定义数组时不需要指定长度]

  a[0]=1;

  a[1]=1;

  a[2]=1;

  s=0;

  for(i=0;i<a.length;i++)

  {

  s+=a[i];

  }

  2)二维数组:

  city=new Array();

  city[0]=new Array("湖北省","武汉");

  city[1]=new Array("湖北省","仙桃");

  city[2]=new Array("湖北省","洪湖");

  city[3]=new Array("福建省","广州");

  city[4]=new Array("福建省","厦门");

  city[5]=new Array("福建省","漳州");

  5:javascript里面的函数,及函数的调用,以及变量的作用范围

  6:弹出询问对话框:confirm("询问的内容")

  7:关闭窗体:window.opener=null;window.close();

  8:打开一个窗体:

  1)变量名=window.open("网页名") 开一个新窗口

  2)变量名=window.open("网页名","名字","height=200px,width=300px")

  3)打开窗口在屏幕中心弹出

  t=window.open('dotest.htm','test','height=400px,width=500px');

  t.moveTo((screen.width-500)/2,(screen.height-400)/2;

  4)window.location="url" 不会打开一个新窗口

  5)以模态窗体弹出

  window.showModalDialog('dotest.htm','','dialogWidth=600px;dialogHeight=500px');

  9:刷新一个窗体:

  window.location.reload();

  10:得到本窗体的表单元素的值:表单名.元素名.value

  11:如何在另外一个窗体中来访问前一个窗体的表单元素

  A:模态窗体:

  源窗体

  1)window.showModalDialog('dotest.htm',window,'dialogWidth=600px;dialogHeight=500px');

  注意名字一定要写上window

  2)window.dialogArguments.form1.txtuser.value

  B:非模态窗体:

  源窗体:

  window.open

  目的窗体:

  window.opener.表单名.表单元素名.value

  12:如何通过模态窗体向父窗体返回值:

  源窗体:

  t=window.showModalDialog(参数)

  alert(t)

  目的窗体:

  window.returnValue=值;window.opener=null;window.close();

  13:如何在关闭子窗体的同时,刷新父窗体

  A)非模态窗口

  源页面:

  window.open("页面")

  目的页面:

  window.opener.location.href=window.opener.location.href;

  window.opener=null;window.close();

  B)模态窗口

  源页面:

  window.showModalDialog();-------有暂停代码的用途

  window.location.reload();

  目的页面:

  window.opener=null;window.close();

  14:设置状态栏文字:window.status

  15)转换字符串为数值:parseInt("字符串"),parseFloat("字符串")

  16)得到当前的时间

  var date=new Date();

  document.write(date.toLocaleTimeString());

  17):得到当前的日期:

  var date=new Date();

  document.write(date.toLocaleDateString());

  18):回到上一个页面。注意不是刷新

  history.go(-1)

  19:改变某个对像的背景色

  this.style.backgroundColor='yellow',

  this.style.color='文字颜色'

  20:设为首页:

  this.style.behavior='url(#default#homepage)';this.setHomePage('你的网页');

  21):指定让代码过几分钟后自动反复执行某个过程.

  setInterval("js代码",1000)

  举例:让一个背景不断变换[页面闪得很厉害]

  var index=1;

  function ChangePic()

  {

  form1.p1.src=index+".jpg";

  index=index+1;

  if (index==4)

  {

  index=1;

  }

  }

  setInterval("ChangePic(index)",1000);

  改进:[先定义数组,把图片预装在内存中]

  pic=new Array(4);

  pic[0]=new Image();

  pic[1]=new Image();

  pic[2]=new Image();

  pic[3]=new Image();

  pic[0].src="1.jpg";

  pic[1].src="2.jpg";

  pic[2].src="3.jpg";

  pic[3].src="4.jpg";

  function ClearText()

  {

  form1.p1.src=pic[index].src;

  index=index+1;

  if (index==4)

  {

  index=1;

  }

  }

  setInterval("ClearText(index)",1000);

  23):让指定的代码在多少时间之后执行,但只执行一次:

  setTimeout("js代码",1000);

  24):清空一个表单中的所有文本框的文本

  for(i=0;i<form1.elements.length;i++)

  {

  if (form1.elements[i].type=="text")

  {

  form1.elements[i].value="";

  }

  }

  25)运行一个可执行文件:

  obj=new ActiveXObject("wscript.shell");

  obj.run("calc.exe");

  26)Java script中的事件

  A)onmouseove:鼠标到达

  B)onmouseout:鼠标离开事件

  C)onclick:单击事件

  D)onKeypress:键被按下时,可以通过event.keyCode得到按下键的Asii码

  E)load事件:把代码直接写在<script></script>就相当于Load事件

  F)onsubmit:当表单提交时会触发表单提交事件

  原理:当用户按下提交按钮时,会触发表单的onsubmit事件。在这个事件里面根据用户返回 的值(true,false)来决定是否需要提交表单,为true时会提交,为false不会提交所 以我们经常会用一个函数来进行数据验证。

  举例:

  1)<marquee scrollamount=3 onmouseover=this.stop(); onmouseout=this.start();>文字移动

  2)<input type=text name=txtPostalCode onKeypress="if (event.keyCode < 45 || event.keyCode > 57) event.keyCode=0;">//只能输入数字

  3)使表格的选中的行出现不同的颜色

  4)阻止用户往文本框里面输入值:

  onkeypress="reuturn false"

  说明:在表单元素的任何事件中,只要加上return false就不会触发此事件

  25:正则表达式:

  像dos里面的通配符一样,用来检测一个输入是否满足特定的通配符

  ^:代表一行字符的开头

  $:代表一行字符的结束

  []:用来定义可接受的字符

  [a-z]:表示可以接受小写字母

  [A-Z]:表示可以接受大写字母

  [0-9]:表示可以接受数字

  [0-9,_,a]:表示可以接受数字,下划线或字母a

  [a-zA-Z0-9]:表示既可以接受英文字母,又可以接受数字

  [^]:不能接受的字符

  [^a-z]:不能接受英文字母

  {}:用来定义必须输入的字符个数

  {3}:必须含有3个字符。

  {4,8}:至少含有4个至多含有8个字符

  [0-9]{3}:必须输入3个数字

  [a-zA-Z]{4,6}:必须输入4到6位英文字母

  {n,}:表示至少可以输入n个字符。

  [a-z]{0,}:表示可以接受0个或多个英文字母

  [a-z]{1,}:表示可以接受至少1个英文字母

  +:匹配前面字符的1次或多次-----相当于{1,}

  *:匹配前面字符的0次或多次-----相当于{0,}

  .:表示任意字符

  举例:

  frm1.user.value.match("^[0-9a-zA-z]{5,8}$")

  26:如何利用Js对表单元素进行控制:

  A:文本框:

  1)得到文本框的文本:

  表单名.表单元素名.value

  2)获得焦点:

  表单名.表单元素名.focus()

  B:按钮:

  1)使按钮不可用:

  表单名.按钮名.disabled=true (true,不可用;false 可用)

  2)使按钮不可见:

  表单名.按钮名.style.display="none" 不可见

  表单名.按钮名.style.display="" 可见

  if (表单名.按钮名.style.display=="") 如果可见

  C)单选框:

  得到单选框所选中的值 [各个单选框的名称一定要一样,值不一样]

  for(i=0;i<单选框数组.length;i++)

  if (单选框数组[i].checked) break;

  返回 单选框数组[i].value就行了

  D):得到所有打勾的复选框的值

  for(i=0;i<复选框数组.length;i++)

  if (复选框数组[i].checked) 执行对应的语句

  E):下拉框

  A)得到所选中的值-->下拉框.value

  B)删除里面的全部内容----->下拉框.length=0;

  C)删除里面的指定项--->下拉框.options.remove(下标);

  D)往里面添加一项----->下拉框.options[下拉框.length]=new Option("标签","值");

  注意下拉框的options是一个数组,用来存储所有选择,下标是从零开始的

  E)selectedIndex:得到或设置所选中的项的下标

  F)options[k].value:得到第i项的值

  G)onchange事件:当选中项发生改变时,触发

  举例:在客户端实现两个下拉框的联动[注意定义一维数组]

  city=new Array();

  city[0]=new Array("湖北省","武汉");

  city[1]=new Array("湖北省","仙桃");

  city[2]=new Array("湖北省","洪湖");

  city[3]=new Array("福建省","广州");

  city[4]=new Array("福建省","厦门");

  city[5]=new Array("福建省","漳州");

  27:创建一个模块的js的文件,然后在页面中来调用

  A)直接新建一个*.js文件:

  直接写上函数,不用加<script type="text/javascript">标记

  B)在目的页面中通过:<script src="JScript.js" type="text/javascript"></script>来引用

  28:多个对像共享同一个事件:

  <script type="text/javascript" for="TabItem" event="onmouseover">

  var TabItem=document.getElementsByName("TabItem");

  for(i=0;i<TabItem.length;i++)

  {

  if (TabItem[i]==this)

  {

  TabItem[i].background="images/nh-bg.gif";

  }

  else

  {

  TabItem[i].background="";

  }

  }

  </script>

  第四章:C#.net语法基础

  在这一章中,你将要学习以下一些内容

  1:编写asp.net语言的选择

  2:vs.net 2005 界面技巧

  3:如何在页面中加入服务器端代码

  4:如何在页面中导入命名空间

  5:C#.net语法基础

  6:动态的由服务器端向客户端加入javascript

  编写asp.net语言的选择:

  编写asp.net程序,net为我们提供了以下几种语言vb.net,c#.net,j#.net其中vb.net语言是最简单,最容易学的语言,它继承了vb的大部分语法,同时又加入了一整套.net framework,利用vb.net开发asp.net程序是最容易的一门的语言C#.net是整个.net的核语言,它继承了c,c++的大部分语法,较vb.net有点复杂,但是执行程序的效率比vb.net更高,j#.net是继承了javascript的大部分语法,一般很少用。我们选择C#.net语言作来开发asp.net程序的语言

  vs.net 2005 界面技巧

  1)设置显示解决方案---------:工具--选项-->项目和解决方案-->常规

  2)对单网页可以进行生成,不需要对整个项目进行生成

  3)设计模式与源文件模式(html模式),后代码模式(类),让页面一加载时自动显示设计模式

  4)文档大纲窗口:可以清楚层现html标签的层次关系:视图-->其它窗口--->文档大纲

  5)Html标签导航:切换到源文件模式,单右-->选择最下面的"选中html标签"

  6)源文件模式下控件拖曳

  7)多文档页面显示------ctrl+tab可以在不同文档之间切换

  8)Asp.net网站特殊文件夹:

  A:App_Code用来存放代码文件(比如:*.cs,类文件)

  B:App_Date用来存放网站数据文件(数据库文件,xml文件等)

  C:还有很多其它的特殊文件夹

  9)程序代码重构:

  A:重构属性

  B:重构方法

  10)Asp.net网站的动态编译:

  A:当asp.net第一次运行时,IIs会自动为asp.net生成一个dll,所以第一次非常慢

  以后只要文件的内容的没有发生改变,IIs就会延用上一次生成的dll,不会再次生成

  新的dll,所以第一次运行慢,以后运行快

  B:如果asp.net的源文件内容一旦发生改变,则IIs会重新生在一个dll,利用这个特点

  我们可以在vs.net环境中写程序,而在IIs中直接打开网站后刷新即可

  如何在页面中加入服务器端代码

  C#.net只能被服务器端的IIS来编译执行,所以C#.net语言是一定要运行于服务器端

  A:直接把代码加入"后代码文件"的事件里面[采用CodeBehind]

  B:直接把代码加入"页面文件"里面此时一定要加<% %>来限制 [采用CodeBeside]

  1)如果是单纯的C#代码,可以直接用<%%>括起来,并且可以有多个<%%>

  2)如果是函数,则一定要紧跟在<%page %>命令符下面,并按照如下的格式:

  <script language="C#" runat="server">

  private int sum(int a, int b)

  {

  return a + b;

  }

  </script>

  3)如果要得到一个变量的值,可以写上<%=变量名%>

  比如:

  今天是:<%=System.DateTime.Today.ToLongDateString() %>

  如何在页面中导入命名空间

  1)在代码文件中:使用using语句

  2)在页面文件中:使用<%@ Import 语句比如:

  <%@ Import Namespace="System.Data.SqlClient" %>

  位置在<@ page> 的下面

  C#.net的语法基础

  C#.net的数据类型:

  Int,Double,String,Char,object数据类型(相当于vb里面的变体类型)

  定义变量:

  类型标识符 变量名;

  给变量赋初值:

  可以在定义的时候,给变量赋初值---Int a=5;

  也可以在定义之后,给变量赋初值

  运算符:

  a):赋值运算符:=

  b):算术运算符:+,-,*,\(整除),%(余)

  c):字符串联接符:+

  d):关系运算符:>,>=,<,<=,==

  e):逻辑运算符:&&,||,!

  f):复合运算符:x+=3,x*=6等

  asp.net的输入和输出:

  a):输出

  1):输出单纯的字符串: response.write("字符串");

  2):输出html标记:response.write("html标记")[重要重要]

  比如:Response.Write("<a href='C:\WINNT\Web\Wallpaper\城堡.jpg'>我的链接</a>")

  3):输出js脚本:Response.Write("<script>js代码</script>");

  4):输出当前的日期和时间:

  Response.Write(DateTime.Now.ToLongTimeString()):时间

  Response.Write(DateTime.Now.ToLongDateString()):日期

  b):输入:利用控件进行输入比如:textbox控件等

  if 语句,select case语句

  举例:

  A)让用户输入两个数和一个操作符,求出运算结果

  B)让用户输入三门功课求出平均分和总分并根据求出的结果判断优,良,差

  C)根据星期把对应的背景图片换成是"星期"的图片

  循环语句:for,while循环

  举例:

  A)输出Moon1.gif~Moon8.gif这几个文件里面的图片

  B)利用表格打印九九乘法表

  C)实现掷骰子游戏

  7:数组:

  1):声明与初始化

  静态数组的声明与初始化:

  string[] NameList = new string[6];

  进行初始化

  string[] NameList=new string[5] {"张三","李四","王五","赵六","王七"};

  动态数组的初始化:

  string[] NameList=new string[] {"张三","李四","王五","赵六","王七"};

  2):数组.length:用来读出数组的长度

  举例:

  A)定义姓名,语文,数学,化学数组,通过函数与表格求出总分与平均分

  B)利用数组和表格打印出一些商品的列表清单

  8:哈希表(HashTable):是一种两栏数据结构。一栏是键(Key),一栏是值(Value)

  创建哈希表:

  Hashtable has = new Hashtable();

  添加数据:

  has.add("键",值)

  获得指定键的值

  has["键"]

  检查是否已经存在某个键

  has.ContainsKey("键")

  删除某个键

  has.Remove("键")

  清除全部键

  has.clear();

  访问哈希表的内容:

  Hashtable ht = new Hashtable();

  foreach (DictionaryEntry item in ht)

  26:动态的向服务器(web控件)加入客户端的javascript[重要]

  以前的方法都是根据事先写好的函数,然后再向客户端去调用,但有时候,可能需要服务器

  端传来的数据,再在客户端进行处理,这个时候就要动态的向客户端添加代码

  方法:

  在Page_Load事件里面写上:

  1:RegisterClientScriptBlock("chen", js)方法来注册js

  2:IsClientScriptBlockRegistered("chen")方法来检验些js是否已经注册,从而

  可以避免一个js被反复注册

  举例:

  1)从数据库里面读出职工信息,放入客户端的js中。形式如:

  Worker=new Array()

  Worker[0]=new Array('张三','BM1');

  Worker[1]=new Array('李四','BM1');

  Worker[2]=new Array('王五','BM2');

  Worker[3]=new Array('赵六','BM2');

  2)通过数据库,实现两个下拉框的联动(无刷新)