JavaScript
Asp
首先在 iis 里新建站点 指定站点目录接着 将默认语言改成JavaScript。在这里为了方便我用win7 iis 作为试验 服务器上的都一样设置
第二步打开dreamweaver 这里我用的是cs5 其版本不限。随意使用!接着选择文件菜单的新建 asp javascript.
经过以上步骤已经相信大家都已经会用了吧!好了现在我们开始学习用最基础的hello world<%Response.Write('hello world');%>然后在iis站点里运行 这样我们就看见了浏览器上面写入的字符了。
经过刚才的步骤 大家对JavaScript写后台有了一定的兴趣对吧? 好了现在我们往下学习。感兴趣的朋友一起学习吧。 与其他许多编程语言一样, Microsoft JScript 是用文本方式编写的,并被组织成为语句、由相关的语句集组成的块、以及注释。在一条语句内可以使用变量、比如字符串和数字的立即数、以及表达式。 语句JScript 的代码语句由一行中的一个或多个项和符号组成。每行开始一条新的语句,不过显式地终止语句是一个好方法。可以用分号 (;)来实现,分号是 JScript 的终止字符。现在我们进行简单的学习,相信学过JavaScript的朋友都会懂的。<% var d, s = '今天日期是: '; // 双斜杠表示 单项注释 d = new Date(); // 这里是新建 日期 s += (d.getMonth() + 1) + '/'; // 新建月 如果不加1 表示上一个月所以要准确的获取现在所在月份就必须加1 s += d.getDate() + '/'; //这里大家抖动 是获取天数一个月有30或者31天 s += d.getYear(); //这里获取年 今年是2014年。Response.Write(s);%>//输出的结果表明今天日期是: 7/30/2014
根据以上步骤相信大家发现 原来JavaScript 写后台原来那么简单对吧? 用大括号括起来的一组 JScript 语句称为一个语句块。例如,在函数和条件语句中常使用语句块。 在下面的示例中,第一条语句是一个函数定义的开始,该定义由一个五条语句的语句块组成。最后三条语句没有用大括号围起来,因此不是语句块,也不是该函数定义的一部分。function convert(inches) { feet = inches / 12; // 这五条语句属于一个语句块。 miles = feet / 5280; nauticalMiles = feet / 6080; cm = inches * 2.54; meters = inches / 39.37;} km = meters / 1000; // 这三条语句不在语句块内。 kradius = km; mradius = miles;
赋值和等式JScript 中使用等于号 (=)来表示赋值操作。也就是说,JScript 代码语句可以写成anInteger = 3; // 这表示“将 3 赋给变量 anInteger”或“anInteger 的值为 3”。anInteger == 3 //在比较两个值是否相等时,应使用一对等于号 (==)。
表达式 JScript 表达式是指那些可以作为 Boolean 或 数值表达式 的部分。表达式包括 '+' 这种类似的符号字符,而不是类似于“与...相加”这样的词汇。任何值、变量、运算符、以及表达式的合法组合都可以构成一个表达式。 var anExpression = '3 * (4 / 5)'; var aSecondExpression = 'Math.PI * radius * 2'; var aThirdExpression = aSecondExpression + '%' + anExpression; var aFourthExpression = '(' + aSecondExpression + ') % (' + anExpression + ')';
为什么要控制执行流程?经常需要脚本在不同的条件下完成不同的事情。例如,您可以编写一个每小时检查时间的脚本,并在这一天中适当地更改某些参数。您也可以编写一个可以接收某种输入并采取相应操作的脚本。或者可以编写一个重复指定操作的脚本。您可以测试若干种条件。Microsoft JScript 中所有的条件测试结果都是 Boolean 值,因此任何测试的结果是 true 或
false。您可以自由地测试 Boolean 类型、数值类型或字符串类型的值。JScript 提供了用于各种可能性的控制结构。最简单的控制结构是条件语句。使用条件语句JScript 支持 if 和 if...else 条件语句。在 if 语句中将测试一个条件,如果该条件满足测试,就将执行所编写的 JScript 编码。(在 if...else 语句中,如果条件不满足测试,则将执行不同的代码。)最简单的 if 语句格式可以在一行中写完,不过更常见的是多行的 if 和
if...else 语句。下述示例演示了使用 if 和 if...else 语句的各种可能的语法。第一个示例演示了最简单的 Boolean
测试。当(且仅当)括号之间的项的值为 true 时,if 后续的语句或语句块才会被执行。// smash() 函数是在该代码的其他地方定义的。
if (newShip)
smash(champagneBottle,bow); // Boolean 测试,看 newShip 是否为真。
// 在本示例中,除非两个条件都为真,否则该测试将不会被满足。
if (rind.color == 'deep yellow ' && rind.texture == 'large and small wrinkles')
{
theResponse = ('Is it a Crenshaw melon?
');
}
// 在本示例中,只要任何一个条件为真,则测试即会满足。
var theReaction = '';
if ((lbsWeight > 15) || (lbsWeight > 45))
{
theReaction = ('Oh, what a cute kitty!
');
}
else
theReaction = ('That's one huge cat you've got there!
');条件运算符JScript 也支持隐式的条件格式。该格式在要测试的条件后使用一个问号(而不是在条件前的 if ),并指定两个可选项,一个在满足条件时使用,另一个在条件不满足时使用。两个选择项之间用一个冒号隔开。var hours = '';
// 下面的代码指定 hours 是包含 theHour 的内容,
// 还是包含 theHour - 12 的内容。
hours += (theHour >= 12) ? ' PM' : ' AM';提示 如果要一起测试多个条件,并且知道某个条件比其他条件更可能满足或不满足测试,(根据这些测试是用 OR (||) 还是 AND (&&)
连接的,可以通过将该条件放在条件语句的最前面来加速脚本的执行。例如,如果三个条件都必须为真(使用 &&
运算符),并且第二个测试失败,则第三个条件不会被测试。类似地,如果多个条件中只要有一个为真(使用 ||
运算符),则当任何一个条件满足该测试时测试则停止。如果要测试的条件包括函数调用或其他代码,这种处理方式就特别有效。快速判别的副作用的一个示例是:在下例中如果 runfirst() 返回 0 或 false, 则 runsecond 不会被执行。if ((runfirst() == 0) || (runsecond() == 0))
// 若干代码 使用重复或循环有多种方式来重复执行一条语句或语句块。通常重复执行被称为 循环。 典型情况是用某个变量测试来进行控制,每执行一次循环变量的取值都会更改。
Microsoft JScript 支持很多种循环: for 循环、 for...in 循环、 while 循环、 do...while 循环和 switch 循环。使用 for 循环for 语句指定了一个计数器变量,一个测试条件,以及更新该计数器的操作。在每次执行循环之前(这称为一遍循环或一次重复),都将测试该条件。在执行该循环后,计算机变量将在下一次循环之前被更新。如果循环条件永不会满足,则根本不会执行该循环。如果测试条件始终满足,则将导致无限循环。在有些情况下,前者可能是合乎需要的,而后者几乎没有用处,因此在编写循环条件时一定要小心。/*
更新表达式 (下例中的 'icount++')将在循环结束时被执行,即在构成循环主体的语句块被执行后,在测试条件之前。
*/
var howFar = 11; // 将循环次数限制为 11。
var sum = new Array(howFar); // 创建一个称为 sum 并具有 11 个成员的数组,这 11 个成员从 0 到 10。
var theSum = 0;
sum[0] = 0;
for(var icount = 1; icount < howFar; icount++) { // 在本例中将从 1 到 10 进行计数。
theSum += icount;
sum[icount] = theSum;
}
var newSum = 0;
for(var icount = 1; icount > howFar; icount++) { // 该循环根本不会被执行。
newSum += icount;
}
var sum = 0;
for(var icount = 1; icount > 0; icount++) { // 这是一个无限循环。
sum += icount;
}使用 for...in 循环JScript 提供了一种特别的循环方式来遍历一个对象的所有属性。
for...in 循环中的循环计数器将遍历数组中的所有索引。它是一个字符串,而不是数字。for (j in tagliatelleVerde) // tagliatelleVerde 是一个有多个属性的对象
{
// 各种 JScript 代码语句。
}使用 while 循环while 循环与 for 循环非常相似。其不同之处是 while 循环没有内置的计数器或更新表达式。如果已经有由变量赋值反映的变化条件,并且希望使用该条件来控制语句或语句块的循环执行,就可以使用while 循环。var theMoments = '';
var theCount = 42; // 初始化计数器变量。
while (theCount >= 1) {
if (theCount > 1) {
theMoments = 'Only ' + theCount + ' moments left!';
}
else {
theMoments = 'Only one moment left!';
}
theCount--; // 更新计数器变量。
}
theMoments = 'BLASTOFF!';注意 由于 while 循环没有显式的内置计数器变量,因此比其他类型更容易产生无限循环。此外,部分原因是不易发现循环条件是在何时何地被更新的,因此很容易编写了一个实际上从不更新条件的
while 循环。在编写 while 循环时应特别小心。使用 break 和 continue 语句Microsoft JScript 提供了一个语句来停止执行循环。break 语句可以用来在某些(特别)条件被满足时停止执行循环。continue 语句可以用来立即跳至下一次循环,即跳过余下的代码块并更新计数器变量,如
for 或 for...in 循环一样。var theComment = '';
var theRemainder = 0;
var theEscape = 3;
var checkMe = 27;
for (kcount = 1; kcount <= 10; kcount++)
{
theRemainder = checkMe % kcount;
if (theRemainder == theEscape)
{
break; // 第一次遇到 remainder 等于 escape 时就从循环退出。
}
theComment = checkMe + ' divided by ' + kcount + ' leaves a remainder of ' + theRemainder;
}
for (kcount = 1; kcount <= 10; kcount++)
{
theRemainder = checkMe % kcount;
if (theRemainder != theEscape)
{
continue; // 只选择那些等于 escape 的 remainders,忽略其它。
}
// 使用选中的 remainders 的 JScript 代码。
}
var theMoments = '';
var theCount = 42; // 初始化计数器。
while (theCount >= 1) {
// if (theCount < 10) { // 警告!
// 这里使用 continue 将导致一个无限循环!。
// continue;
// }
if (theCount > 1) {
theMoments = 'Only ' + theCount + ' moments left!';
}
else {
theMoments = 'Only one moment left!';
}
theCount--; // 更新计数器。
}
theCount = 'BLASTOFF!';
什么是函数?Microsoft JScript 的函数执行各种操作。函数还可以返回结果。有时是计算或比较的结果。函数将若干操作合并在一个名字下。这样就可以简化代码。可以编写一组语句为其命名,然后通过调用该语句组并给其传递所需的任何信息,根据需要随时执行整个语句组。给函数传递信息的方式是在函数名后用圆括号将信息括起来。要传递给某个函数的信息的各部分被称为参数。有些函数不需要任何参数;有些函数可能要带一个参数;有些可能有多个。甚至有一些函数的参数个数取决于使用该函数的方式。JScript 支持两种函数:即在语言中内置的函数,以及自己创建的函数。特殊的内置函数JScript 语言中包括若干内置的函数。有些可以用来处理表达式和特殊字符,以及将字符串转换为数值。例如,escape() 和 unescape() 用来转换 HTML 代码中具有特殊意义的字符、不能直接输入到文字的字符。例如,尖括号 '<' 和 '>',描述了 HTML 标识。escape 函数将任何特殊字符作为其参数,并返回代表该字符的转义码。每个转义码由两个数字以及后跟的一个百分号 (%) 组成。unescape 函数就是对应的逆函数。它的参数为由两个数字和一个百分号组成的字符串,并返回一个字符。另一个有用的内置函数是 eval(),该函数对用字符串形式表示的任何合法数学表达式求值。eval() 函数有一个参数,即要求值的表达式。var anExpression = '6 * 9 % 7'; var total = eval(anExpression); // 将 5 赋给变量 total。 var yetAnotherExpression = '6 * (9 % 7)'; total = eval(yetAnotherExpression) // 将 12 赋给变量 total。 var totality = eval('...surrounded by acres of clams.'); // 产生一个错误。有关这些以及其他内置函数的详细信息,请参阅 语言参考。创建自己的函数可以创建自己的函数并在需要的地方使用。一个函数定义由一个 function 语句和一个 JScript 语句块组成。下面示例中的 checkTriplet 函数将三角形的边长作为其参数,然后通过检查这三个数是否能组成一个 Pythagorean (毕达哥拉斯)三元组(直角三角形斜边长的平方等于其它两条边长的平方和。),从而计算出该三角形是否为直角三角形。 checkTriplet 函数调用另两个函数中的其中一个来进行实际测试。请注意使用了非常小的数 (“epsilon”) 作为该测试的浮点数版本的一个测试变量。因为浮点数计算不精确和存在舍入误差,因此直接判断斜边的平方是否等于另两边的平方和是不实际的,除非已知该问题中的三个值都是整数。由于直接测试更精确,因此该示例中的代码先判断这个数是否适当,如果是,再使用。var epsilon = 0.1; // 用于测试的非常小的数。 var triplet = false; function integerCheck(a, b, c) { // 适用于整数的检验函数。 if ( (a*a) == ((b*b) + (c*c)) ) { // 具体的检验代码。 triplet = true; } } // 整数判别函数结束。 function floatCheck(a, b, c) { // 适用于浮点数的检验函数。 var theCheck = ((a*a) - ((b*b) + (c*c))) // 求检验数。 if (theCheck < 0) { // 判别需要使用绝对值,如果 theCheck 为负数,先转为相应的正数。 theCheck *= -1; } if (epsilon > theCheck) { // 如果足够接近非常小值,则可以认为满足条件! triplet = true; } } // 浮点数判别函数结束。 function checkTriplet(a, b, c) { // 三元组判别函数。首先将最长边设为 'a'。 var d = 0; // 创建一个临时存放变量。 if (c > b) { // 如果 c 大于 b,两者进行交换。 d = c; c = b; b = d; } // 否则无需操作。 if (b > a) { // 如果 b 大于 a,两者进行交换。 d = b; b = a; a = d; } // 否则无需操作。 // 如果是直角三角形,则 'a' 边现在就是斜边。 if (((a%1) == 0) && ((b%1) == 0) && ((c%1) == 0)) { // 测试所有 3 个值是否均为整数? integerCheck(a, b, c); // 如果是,则使用精确判别。 } else floatCheck(a, b, c); // 如果不是,则求最可能的结果。 } // 三元组判别函数结束。 // 下面三条语句指定示例值,以进行测试。 var sideA = 5; var sideB = 5; var sideC = Math.sqrt(50); checkTriplet(sideA, sideB, sideC); // 调用该函数。在调用后, triplet 即包含了结果。
学到这里大家对Javascript 已经有了一定的了解。以上是彩虹半边天发布网址www.chbbt.com。
如果不够细致,任何编程语言都有一些可能发生错误的地方,而且每种语言都有其特殊之处。例如,对于 null 值: Microsoft JScript 中这个值与 C 或 C++ 语言中的 null 值所起的作用是不一样的。下面提供了一些在编写 JScript 脚本时可能遇到的问题。语法错误由于编程语言中的语法比自然语言的语法要严格得多,因此在编写脚本时对细节应倍加关注。例如,如果您本意是将字符串作为某个参数,但是在键入时忘了使用引号引起来,就会产生问题。脚本解释顺序对 JScript 的解释是 Web 浏览器的 HTML 语法分析处理的一部分。因此,如果在文档的
标识中放置了一个脚本,则将在检查所有的 标识之前加以解释。如果在 标识中将创建对象,但由于在分析处理 标识时这些对象尚不存在,因而不能被脚本操作。自动类型强制JScript 是一种具有自动强制的自由类型语言。因此,尽管实际上不同类型的值是不相等的,但对下述示例中的表达式求值都将得到 true。'100' == 100 false == 0运算符优先级在对表达式求值时某个特定运算符的执行主要是根据 运算符优先级 ,而不是表达式的位置。因此,在下面的示例中,乘法将先于减法执行,尽管在该表达式中第一个出现的运算符是减法。theRadius = aPerimeterPoint - theCenterpoint * theCorrectionFactor;对对象使用 for...in 循环当使用 for...in 循环对某个对象的属性进行遍历时,不必预先确定或管理将要指定给该循环计数器变量的对象字段的顺序。此外,在该语言的不同实现方案中该顺序可能会不一样。with 关键字with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象。this 关键字尽管可以在对象的定义范围内使用 this 关键字来引用该对象本身,但是当函数不是该对象的定义时,就不能象普通情况那样使用 this 或类似的关键字来引用当前的执行函数。如果该函数被指定为某个对象的方法,则可以在该函数内使用 this 关键字来引用该对象。编写一个写脚本的脚本当解释程序遇到标记时会终止当前脚本。要显示'' 本身,请将其改写为至少两个字符串,例如 '',这样就可以在输出语句中将其连接在一起。隐式窗口引用由于同时可以打开多个窗口,任何隐式的窗口引用都被指向当前窗口。对于其他窗口必须使用显式引用。JavaScript是区分大小写的 如 var Var function Function 是不同的新手编写时格外注意!