天天看点

【JavaScript】JavaScript基础-函数

1,函数的作用与定义:

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>

        var msg;

    alert(msg);//此处的mag值为"全局变量"(局部变量改的是自己的值,所以全局变量没有被改变)

2.参数个数可变的函数:

    function testparams()

        var params="";

        for(var i=0;i<arguments.length;i++)

        {

            params+=arguments[i]+"";

        }

alert(params);

    testparams("abc",123);

    testparams(123,456,"abc");

其中,arguments对象来访问调用程序传递的所有参数。

3.创建动态函数

类似c语言指针指向函数的指向方式。被称为“创建动态函数”。

创建动态函数的基本语法格式:

var varName=new Function(argument1,...,lastArgument);

说明:所有的参数都必须是字符串类型的,最后的参数必须是这个动态函数的功能程序代码。

例子:

    var square=new Function("x","y","var sum;sum=x*x+y*y;return sum;");

    alert(square(3,2));

动态函数有什么作用?我们在什么情况下用动态函数?

答:在普通的函数当中,里面定义的所有的程序代码都是必须事先明确固定的,不可能随程序运行的情况的改变而变动。使用动态创建函数的方式,一个函数的功能执行代码是用一个字符串而组成的。而这个字符串我们可以通过若干个变量进行相连而产生。这些变量进行相连,我们只要改变这些变量的取值,最终生成的字符串的内容也会随之改变,那么这个动态创建的函数的功能代码也就改变了。

4.JavaScript中的系统函数

(1)encodeURI方法:返回对一个URI字符串编码后的结果

<script>

    var urlStr=encodeURI("http://www.it315.org/index/html?country=中国&name=z x");

    alert(urlStr);

结果http://www.it315.org/index/html?country=%E4%B8%AD%E5%898%BD&name=z%20x

(2)decodeURI方法:将一个已编码的URI字符串解码成最初始的字符串并返回。

    var urlStr=decodeURI("http://www.it315.org/index/html?country=%E4%B8%AD%E5%898%BD&name=z%20x");

结果: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

继续阅读