javascript eval的简单用法
js eval
eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行结果是一个值,则返回此值,否则返回undefined。
例子
直接运算
alert(eval('1+2')); // ->3
赋值
eval('var aa = 5');
alert(aa); // ->5
类型转换
var yy = "{a:'aa',b:'bb'}";
yy = eval('(' + yy + ')');
alert(yy);
需要特别注意的是对象声明语法“{}”并不能返回一个值,需要用括号括起来才会返回值;
对于对象声明语句来说,仅仅是执行,并不能返回值。为了返回常用的“{}”这样的对象声明语句,必须用括号括住,以将其转换为表达式,才能返回其值。这也是使用JSON来进行Ajax开发的基本原理之一。
最后还要考虑作用范围的问题,可以参考以下网站
http://wanyij.blog.51cto.com/46570/43794
相关文档:
1. 函数在执行完 return 指令后就会停止执行代码.
function test(Num1,Num2){
return Num1+Num2;
alert(Num1+Num2); //never outputs
}
2. javascript 函数不能重载,也就是说可以在同一个作用域中定义多个同名函数,而最终执行的是后一个函数.
function test(num){
alert(num+10);
}
function ......
单体模式(singleton)
单体是在脚本加载时创建的,能将一系列有关联的变量和方法组织为一个逻辑单元,逻辑单元里面的内容通过单一的变量进行访问;
一个单体主要分为三部分
用于访问内部信息的入口变量(如:Sky)
属性(如:nickName/age/timeInfo)
方法(如:sayHello)
基本结构
01
var Sky = {
02
& ......
日前做项目,需要把页面的JS代码抽出来放到一个.js文件中,由于flex程序是以div+SWFObject的方式嵌入到页面的,为了达到目标网站只需要引用一个.js文件即实现引用项目工程的目的,所以也要把SWFObject的代码放到.js文件中。
思路是用document.write()把引用swf文件的代码写进页面,然后把flex要调用的js函数都放到.j ......
<script language="javascript" type="text/javascript">
// <!CDATA[
function Test()
{
document.location.href = 'test. ......
//过滤两端的空格
function trim(str){
return str.replace(/(^\s*)|(\s*$)/g, "");
}
//过滤左边的空格
function ltrim(str){
return  ......