Javascript也是基于对象(Object-based)的编程语言,而不是面向对象的语言。
----主程序-----|
|
函数1 |
..... |
函数2 |
..... |
函数3 |
|
----------------
函数的定义与调用:
东一一个函数的格式入下:
function 函数名(参数列表)
{
程序代码
return 表达式;
}
对函数进行调用的几种方式:
(1)函数名(参数1,参数2,...)
(2)变量=函数名(参数1,参数2,...)
(3)对于有返回值的函数调用,也可以在程序中直接使用返回的结果
例如:alert("sum="+square(2,3));
注意:
<script language="javascript">
var msg="全局变量"
function show()
{
msg="局部变量";
}
show();
alert(msg);//此处的mag值为"局部变量"(全局变量被更改)
</script>
<script language="javascript">
var msg="全局变量"
function show()
{
var msg;
msg="局部变量";
}
show();
alert(msg);//此处的mag值为"全局变量"(局部变量改的是自己的值,所以全局变量没有被改变)
</script>
2.参数个数可变的函数:
<script language="javascript">
function testparams()
{
var params="";
for(var i=0;i<arguments.length;i++)
{
params+=arguments[i]+"";
}
alert(params);
}
testparams("abc",123);
testparams(123,456,"abc");
</script>
其中,arguments对象来访问调用程序传递的所有参数。
3.创建动态函数
类似c语言指针指向函数的指向方式。被称为“创建动态函数”。
创建动态函数的基本语法格式:
var varName=new Function(argument1,...,lastArgument);
说明:所有的参数都必须是字符串类型的,最后的参数必须是这个动态函数的功能程序代码。
例子:
<script language="javascript">
var square=new Function("x","y","var sum;sum=x*x+y*y;return sum;");
alert(square(3,2));
</script>
动态函数有什么作用?我们在什么情况下用动态函数?
答:在普通的函数当中,里面定义的所有的程序代码都是必须事先明确固定的,不可能随程序运行的情况的改变而变动。使用动态创建函数的方式,一个函数的功能执行代码是用一个字符串而组成的。而这个字符串我们可以通过若干个变量进行相连而产生。这些变量进行相连,我们只要改变这些变量的取值,最终生成的字符串的内容也会随之改变,那么这个动态创建的函数的功能代码也就改变了。
4.JavaScript中的系统函数
(1)encodeURI方法:返回对一个URI字符串编码后的结果
例子:
<script>
var urlStr=encodeURI("http://www.it315.org/index/html?country=中国&name=z x");
alert(urlStr);
</script>
结果http://www.it315.org/index/html?country=%E4%B8%AD%E5%898%BD&name=z%20x
(2)decodeURI方法:将一个已编码的URI字符串解码成最初始的字符串并返回。
例子:
<script>
var urlStr=decodeURI("http://www.it315.org/index/html?country=%E4%B8%AD%E5%898%BD&name=z%20x");
alert(urlStr);
</script>
结果:http://www.it315.org/index/html?country=中国&name=z x
(3)parseInt方法
将一个字符串按指定的进制转换成一个整数,语法格式为:parseInt(numString,[radix])。如果没有指定第二个参数,则前缀为'0x'的字符串被视为十六进制,前缀为‘0’的字符串被视为八进制,所有其他字符串都被视为是十进制。
例子:
alert(parseInt("123abc",10));
测试结果:123(说明不能转为整数的会被忽略掉)
(4)parseFloat方法
将一个字符串转换成为对应的小数
(5)用于检测parseInt与parseFloat方法的返回值是否为NaN。
(6)escape方法
返回对一个字符串进行编码后的结果字符串。所有空格、标点、重音符号以及任何其它非ASCII字符都用%xx替换,其中xx等于表示该字符的Unicode编码的十六进制数,字符值大于255的字符以%uxxxx格式存储。
escape方法可以用于对文本的简单加密。
对于RUL的编码不要用escape方法,一定要encodeURI方法。
(6)unescape方法
将一个用escape方法编码的结果字符串解码成原始字符串并返回。
(7)eval方法
将其中的参数字符串作为一个JavaScript表达式执行。
当然方法还有很多,需要查询的时候,请查阅Visual Studio.NET20XX
尊重开源精神,尊重劳动成果,转载请注明出处:http://blog.csdn.net/acmman/article/details/43900717