函数
即使函数确实有返回值,也不必明确地声明它。该函数只需要使用return运算符后跟要返回的值即可。
例:
function sum(iNum1, iNum2)
{
return iNum1 + iNum2;
}
如果函数无明确的返回值,或调用了没有参数的return语句,那么它真正返回值是undefined。
无重载:
ECMAScript的函数不能重载。可以在同一个作用域,声明同名函数,但会发生覆盖,真正使用的是后一个函数。
arguments对象:
ECMAScript不会验证传递给函数的参数个数是否等于函数定义的参数个数。开发者定义的函数都可以接受任意个数的参数。
任何遗漏的参数都会以undefined传递给函数,多余的参数将忽略。
arguments对象可以用arguments.length检测传递给函数的参数个数。
& ......
引用类型通常叫做类(class),遇到引用值时,所处理的就是对象。
对象的创建:
var o = new Object();
如果没有参数可以省略括号,如:var o = new Object;
Object类:
ECMAScript中的所有类都由这个类继承而来。
Object类具有下列属性:
constructor -- 创建对象的函数引用;
Prototype -- 对该对象的对象原型的引用;
HasOwnProperty(property) -- 判断对象是否有某个特定的属性。
IsPrototypeOf(object) -- 判断对象是否为另一个对象的原型。
PropertyIsEnumerable -- 判断给定的属性是否可以用for....in语句进行枚举。
......
delete只能删除开发者定义的属性或方法,原始的ECMAScript方法不能删除,因为不是开发者定义的,比如:toString()。
var o = new Object;
o.name = "Nicholas";
delete o.name;
alert(o.name);
删除了name属性,意味着强制解除对它的引用,将其设置为undefined。
void 对任何值都返回undefined。
用于避免输出不该输出的值,比如:
<a href="javascript:void(window.open('about:blank'))">Click Me</a>
~位运算符
例:
var iNum1 = 25; //25是 00000........011001
var i ......
闭包:
ECMAScript支持闭包。所谓闭包,就是函数能使用函数外定义的变量。
var iBaseNum = 10;
function addNumbers(iNum1, iNum2)
{
function doAddition()
{
return iNum1 + iNum2 + iBaseNum; //调用外部变量
}
return doAddition();
}
......
在做一个项目中,接触到了JavaScript,主要是点击一个查询按钮然后弹出一个网页对话框,当在对话框中输入查询条件,点击确定后又返回到原来页面,得出查询结果。
页面如图:
在前台加了一个隐藏的DIV,里面放入两个控件。如下:
<div style="display:none">
<asp:TextBox ID="txtQueryWhere" runat="server"></asp:TextBox>
<asp:Button ID="btnquery" runat="server" Text="Button" OnClick="btnquery_Click" /></div>
前台查询按钮的代码如下:
<input id="Button2" type="button" value="查询" onclick="query()" />
当点击查询按钮时,转到query()函数——JavaScript:
<script language="javascript" type="text/javascript">
function query() {
window.showModalDialog("Query/DeviceQuery.aspx", window, "dialogWidth:700px;dialogHeight:400px;status:no;help:no;scroll ......
定义和用法
prompt() 方法用于显示可提示用户进行输入的对话框。
语法
prompt(text,defaultText)
参数描述
text
可选。要在对话框中显示的纯文本(而不是 HTML 格式的文本)。
defaultText
可选。默认的输入文本。
说明
如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。
在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 prompt() 时,将暂停对 JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句。
实例 1
<html>
<head>
<script type="text/javascript">
function disp_prompt()
{
var name=prompt("Please enter your name","")
if (name!=null && name!="")
{
document.write("Hello " + name + "!")
}
}
</script>
</head>
<body>
<input type="button" onclick="disp_prompt()"
value="Display a prompt box" />
</body>
</html>
......