1、使用eval函数执行JS代码
使用eval,可以将数字字符串转换成数字类型,例如:eval(”3″)将返回数字类型3,事实上,eval接受一个字符串类型的参数,将这个字符串作为代码在上下文环境中执行,并返回执行的结果。
使用eval有2点注意:1)它是有返回值的,如果参数字符串是一个表达式,就会返回表达式的值。如果不是表达式,没有值,就返回“undefined”。2)参数字符串作为代码执行时,是和调用eval函数的上下文相关的,即其中出现的变量或函数调用必须在eval的上下文环境中可用。eval的一个重要特性是在运行时能改变代码。
eval是把括号内的字符串作为javascript的语句来执行。
例如:
var person1 = new Person();
person1.age = 18;
person1.name = "zxx";
function sayFunc()
{
var x = "age";
eval("alert(person1." + x + ");"); 这里的x是个变量,
eval("alert(person1.name)";); 和 alert(person1.name); 的执行效果是一样的
/*alert(person1[x] + ":" + person1.age);
x = "age";
alert(person1[x] + ":" + person1.age);*/
}
2、使用parseInt和parseFloat将字符串转换为数字
在使用数字表达式时,应确保所有的操作数都是数字类型的,如果在一个期望使用数字的表达式中使用了字符串或其他类型,就会出现NaN的错误,程序中最常见的就是从字符串类型转换为数字类型,因此可以通过parseInt和parseFloat函数实现转换。
parseInt:该函数是将字符串类型转换为整数
使用方法:parseInt(String [,radix]),radix是可选的,表示String中数字的进制,默认是10进制,取值范围2到32。
parseFloat:该函数是将字符串类型转换为浮点数(小数)。
使用方法:parseFloat(String),仅接收一个参数。
3、使用escape和unescape函数进行URL的编码和解码
escape和unescape函数并不是ECMAScript标准中定义的内置函数,但JS将其作为了一个标准实现。
escape接收一个字符串,并将其编码为URL可用的形式,即所有的空格,标点,重音符号以及其他非ASCII字符都用%xx编码代替。xx是16进制数,值超过255的用%uxxxx的形式进行编码。unescape则反之。
4、使用isNaN和isFinite函数判断数字的类型
isNaN和isFinite函数分别用来判断一个变量是否是数字,以及一个数字是否是无穷大或无穷小。对于非数字的变量,使用isNaN返回true,对于无穷大或无穷小的数字,使用isFinite函数将返回false。
No comments:
Post a Comment