js中三种函数的效率、解析顺序、作用域问题解决
来源:互联网 发布:淘宝好口碑女装店铺 编辑:程序博客网 时间:2024/06/07 06:12
<html><head><title>010</title><script type="text/javascript" charset="utf-8">//函数一共有三种定义方式/*//1 function语句式 静态的function test1(){alert('我是test1');}//执行的话,test1();//2 函数的直接量 ECMAScript推荐的一种方式 动态的var test2=function(){alert('我是test2');}//执行的话,test2();//3 function构造函数式,该种方式不常用,但是也可以记住 静态的var test3=new Function("a","b","return a+b");//alert(test3(10,20));//30*/////////////////比较function语句式创建和function构造函数式效率比较/*var d1=new Date();var t1=d1.getTime();for(var i=0;i<10000;i++){//function test1(){;}//它只创建一次,静态的,效率高,占用内存var test2 = new Function();//每一次都要创建一次,效率低不占内存}//定义一个空函数,只要在函数作用域中加上一个大括号就可以了。//如果你只希望创建一次可以用那种动态的创建函数。var d2=new Date();var t2=d2.getTime();alert(t2-t1);//7 6 5 3 4 4 4毫秒//19 13 16 13 14 11 13毫秒*/////////////////函数解析顺序的问题 对于function语句式的函数,javascript解析器会优先的解释。/*test1();//我是test1function test1(){//提前解析alert('我是test1');//test1相当于在windows下面的全局变量}//test2();//什么都没有alert(test2);//undefined,表示变量声明了但是并没有赋值.alert(test3);//这里我并没有声明变量test3,所以什么都没有显示.var test2=function(){alert('我是test2');//test2也相当于在windows下面的全局变量,但是只是先执行了,只有看到function是才会赋值。}*//*//函数解析顺序。//4 2 3 3 5 6sfunction f(){return 1;}//函数1alert(f());//返回值为4,说明第一个函数被第四个函数覆盖var f=new Function("return 2;");//函数2alert(f());//返回值为2,说明第四个函数被第二个函数覆盖var f=function(){return 3;}alert(f());//返回值为3,说明第二个函数被第三个函数覆盖function f(){return 4;}//函数4alert(f());//返回值为3,说明第四个函数被第san个函数覆盖var f=new Function("return 5;");//函数5alert(f());//返回值为5,说明第三个函数被第五个函数覆盖var f=function(){return 6;}//函数6alert(f());//返回值为6,说明第五个函数被第六个函数覆盖*///作用域的概念var k=1;function t1(){var k=2;//function test(){return k;}//function语句 2var test=function(){return k;}//函数直接量 2//var test=new Function('return k;');//构造函数式 1顶级作用域,相当于在t1方法外面定义的函数。alert(test());}t1();</script></head><body></body></html>
阅读全文
0 0
- js中三种函数的效率、解析顺序、作用域问题解决
- 函数的基本知识,解析顺序,效率,作用域
- js的函数作用域
- js 的作用域 域解析 分析
- js 的作用域 域解析 分析
- JS的解析过程和作用域
- js 函数的执行环境和作用域链的深入解析
- JS函数作用域
- js函数 作用域
- Js的函数及作用域问题
- js中函数的作用域
- js作用域安全的构造函数
- js的函数作用域跟块级作用域
- JavaScript解析顺序和变量作用域
- JS预解析,作用域
- JS代码作用域解析
- js代码执行顺序与作用域
- js匿名函数的作用
- Unity3D使用USB进行安卓真机调试
- Hive常见的存储格式文件比较
- 【第1115期】Puppeteer: 更友好的 Headless Chrome Node API
- 【正一专栏】欧陆烽火——珍惜像伊布一样的男人!
- Win7下如何使用Telnet命令
- js中三种函数的效率、解析顺序、作用域问题解决
- Git常用命令
- 做前端好还是Java好?看这三方面
- 规则引擎的介绍与Drools的流程分析
- centos7 安装mpi环境
- Linux日常 之 把自己的电脑做成一个微型服务器
- Mac中彻底卸载(重装)VMware Fusion
- C字符串和C++中string的区别
- C++ 类函数导出DLL,多类dll嵌套。