您的位置:首页 > Web前端 > JavaScript

张孝详javascript讲座笔记四

2010-03-08 22:11 253 查看
一,全局变量和局部变量的比较

<script type="text/javascript">
<!--
var msg = '全局变量';
function show()
{
   msg = '局部变量'; //修改全局变量的值
}
show();
alert(msg); //此时的值为‘局部变量’
//-->
</script>
<script type="text/javascript">
<!--
var msg = '全局变量';
function show()
{
   var msg; 
   msg = '局部变量'; //只修改局部变量的值
}
show();
alert(msg); //此时的值为‘全局变量’
//-->
</script>




二,javascript中参数个数可变的函数

在函数内部使用arguments对象来访问调用程序传递的所有参数,而在函数的声明中函数参数列表为空即可

eg:

<script type="text/javascript">
<!--
function textparams()
{
   var params = '';
//在函数内部使用arguments对象来访问调用程序传递的所有参数
   for(var i=0;i<arguments.length;i++)
   {
       params = params + '' + arguments[i];
   }

   textparams('abc',123);
   textparams(123,456,'abc');
}
// -->
</script>




三,创建动态函数(在c/c++中利用函数指针来实现)

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

说明:

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



eg:

<script type="text/javascript">
<!--
var square = new Function('x','y','var sum,sum=x*x+y*y;return sum;');

alert(square(2,3));
// -->
</script>


动态函数有什么用?

可以在程序执行过程中,动态变换函数的函数代码;



四,javascript的系统函数(可以直接调用)

1,encodeURI方法

返回对一个URI字符串编码中的结果,本质是UTF-8编码

eg:

var urlStr = encodeURI('http://fanli.qq.com/index.html?a=ddd&msg=中国');

alert(urlStr);



2, decodeURI方法

对URI编码进行解码陈最初始的字符串并返回



3,parseInt方法

将一个字符串按指定的进制转换成一个整数

parseInt(numString, [radix])。如果没有指定第二个参数,则前缀为'0x'的字符串被视为十六进制,前缀为'0'的字符串被视为八进制

(这点要十分注意,tenfy在这里栽过跟头),所有其他的字符串都被视为十进制。热含有非数字的字符串,则只取前面数字部分进制进行转换。

eg:

parseInt('123abc',10); //结果为123



4,parseFloat方法:若转换失败,则返回NaN



5,isNaN方法 ---拥有检测parseInt和parseFloat方法的返回值是否是NaN (Not a Number)

注意:判断一个数是否是NaN不能这样,if(xx == NaN),只能用该方法进行判断,如:

alert(NaN == NaN); //非常奇怪,这里的结果是false
alert(isNaN(NaN)); //true



6,escape方法

返回对一个字符串进行编码后的结果字符串。所有的空格,标点,重音符号以及任何其他人ASCII字符都用%xx编码替换。其中xx等于表示该字符的Unicode字符集的编码的十六进制,字符值大约255的字符均用%uxxxx格式进行表示。



7,unescape方法

将一个escape方法编码的结果字符串解码陈原始字符串并返回。



8,eval方法

将其中的参数字符串作为一个javascript表示式进行执行并返回结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: