js function定义函数使用心得
时间:2024-04-16 09:10:37
1.最基本的作为一个本本分分的函数声明使用。
function func(){}
或
var func=function(){};
2.作为一个类构造器使用:
function class(){}
class.prototype={};
var item=new class();
3.作为闭包使用:
(function(){
//独立作用域
})();
4.可以作为选择器使用:
var addEvent=new function(){
if(!-[1,]) return function(elem,type,func){attachEvent(elem,'on'+type,func);};
else return function(elem,type,func){addEventListener(elem,type,func,false);}
};//避免了重复判断
5.以上四中情况的混合应用:
var class=new function(){
var privateArg;//静态私有变量
function privateMethod=function(){};//静态私有方法
return function(){/*真正的构造器*/};};
6.利用Function处理ajax返回的js脚本:
var ajax_js_code=
"{a:'a','b':'b','func':function(){alert('abc')}}";
//假设此为服务器返回responseText
ajax_js_code=
"return "+ajax_js_code;
//重构代码主体,根据需要可以有不同重构方法
var ajax_exec=new Function(ajax_js_code);
var result=ajax_exec();
alert(result.a+":"+result.b);
result.func();
这种构建函数方式:var func=new Function(args1,args2,args3,...,body) args:参数(任意多个); body:函数主体
如:var func=new Function("arg1","arg2","alert(arg1+':'+arg2)"); func("ooo","ppp");
应注意的是,注意返回代码的格式,根据处理原理返回形式可有一下几种:
1.(function(){//代码})()
2.{a:"abc",func:function){}}//散列表
3.function(){}
以上三种应该能处理大部分代码了。
标签:js,function,定义函数
0
投稿
猜你喜欢
Python字符串和字典相关操作的实例详解
2023-08-19 12:49:08
使用python开发vim插件及心得分享
2023-11-22 11:30:32
“尊重”设计师?
2009-03-23 18:14:00
用户研究中的人物角色
2010-02-08 12:15:00
python的id()函数解密过程
2023-03-04 00:17:52
Python 中如何将十六进制转换为 Base64
2022-09-07 01:20:14
Python+Selenium实现短视频自动上传与发布的实践
2021-06-12 15:58:46
部署.Net6项目到docker
2024-06-05 15:43:46
python global和nonlocal用法解析
2022-05-17 02:56:17
利用Python网络爬虫爬取各大音乐评论的代码
2023-01-05 19:26:55
Vue冷门技巧递归组件实践示例详解
2024-05-09 15:13:04
在keras中获取某一层上的feature map实例
2023-10-19 11:37:24
Python可变和不可变、类的私有属性实例分析
2023-05-27 14:34:08
python 实现网上商城,转账,存取款等功能的信用卡系统
2022-05-26 15:19:36
三大UML建模工具Visio、Rational Rose、PowerDesign的区别比较
2022-05-27 12:22:45
js导出格式化的excel 实例方法
2024-04-10 16:17:15
用Python中的__slots__缓存资源以节省内存开销的方法
2021-06-21 10:33:40
MySQL复制优点、原理详解
2024-01-19 04:26:50
python中ASCII码字符与int之间的转换方法
2023-05-20 08:47:29
PyQt5+Pycharm安装和配置图文教程详解
2022-12-20 08:50:26