JavaScript学习相关

函数的定义:

第一种:关键字function,语法如下,

function   函数名(参数列表) {函数内容主题};例子,function   add(x,y){return  x+y};

第二种:利用new运算符和Function()构造函数动态定义函数;例子,var    f=new   Function("x","y","return    x+y");

 Function()函数接受任意个字符参数,最后一个参数是要定义的函数的主题,上面例子相当于,function     f(x,y){return   x+y}

第三种:函数的直接量,直接量是一个表达式,定义函数例子:var    f=function     add(x,y){return  x+y}   其中function(x,y){return  x+y}就是直接量,,,,这种方式并没有真正创建一个add函数,只是创建一个没有名字的函数,并把对它的引用保存在变量f中。

区别:

第一种方式在声明时就是一个命名的函数,无论是声明在调用之前调用之后,甚至是不会执行到的位置(例如return语句之后或是永远不会为真的分支里),都在整个作用域可访问;第三种方式是通过把匿名函数赋值给变量的方式,严格意义上说这不是一个函数的声明(function declaration)而是一个函数表达式(function expression),在赋值之前这个函数不能被任何代码访问到,也就是说这个赋值必须在调用之前完成,否则调用时会出现错误:"TypeError: undefined is not a function"。

函数名:函数名只是相当于一个变量,代表一块函数,function     add(x,y){return   x+y},其中add只是代表“add(x,y){return   x+y}”这个整体,可以像普通变量那样传递给其他变量,var    a=add;   var   b=a(2,3);结果b=5;

函数调用和JS文件引用:

1、在一个JS文件中,先定义的函数A可以调用后定义的函数B;

2、asp.net中.cs文件中调用JS文件中的函数方法:this.Page.ClientScript.RegisterStartupScript(typeof(Int16), "creatediv", "ctrlwidth()", true);要在.cs文件中调用函数,首先在对应的.aspx文件中引用JS文件,引用方法位置为,

<html>。。。<script  src="js文件路径" type="text/javascript"></script>。。。<html>

对于函数的解释如下,

{

函数public void RegisterStartupScript(Type type, string key,string script,booladdScriptTags);

第一个参数 type:

可以利用typeof(类型),对象.GetType()来得到,可以是任何类型!例如:typeof(string),typeof(Int16)等

第二个参数 key:

就是区分不同脚本的标识。
如果上下文中有注册了相同键的脚本,那么,迟注册的脚本将不会被输出。
该键一般是一个随机数或者流水号什么的。最好是有个有意义的字符串。相当于VC++中的in 类型的参数,自己输入的一个标记。

第三个参数 script:

这个可以是JS中的函数名,但是有参数函数的还不能解决,不知道函数名是不是代表一块Javascript?

第四个参数 addScriptTags:

addScriptTags 参数可指示 script 参数中提供的脚本是否包装在 <script> 元素块中。将 addScriptTags 设置为 true 指示脚本标记将自动添加。

}

 另外RegisterStartupScript这个函数的第4个参数true有时不起作用,保险的做法应该用false并加上<script>...</script>
如:
...(typeof(Int16), "aaaaa", "<script>alert('Test')</script>", false);

3、在母版页中引用过Js文件后,母版页的子页也默认引用了此JS文件。

JavaScript中得到html中的控件:

document的GetelementById方法和GetElementByName方法。

Javascript中页面刷新函数:

 window.history.go(0);

posted @ 2012-12-16 20:54  deeeeeed  阅读(109)  评论(0编辑  收藏  举报

pppppppppppppp