js function定义函数使用心得


Posted in Javascript onApril 15, 2010

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(){}

以上三种应该能处理大部分代码了。
Javascript 相关文章推荐
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
Jun 25 Javascript
IE6中使用position导致页面变形的解决方案(js代码)
Jan 09 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
Sep 06 Javascript
node.js中的fs.realpath方法使用说明
Dec 16 Javascript
Jquery中request和request.form和request.querystring的区别
Nov 26 Javascript
jQuery使用cookie与json简单实现购物车功能
Apr 15 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
Apr 01 Javascript
JS实现新建文件夹功能
Jun 17 Javascript
js排序与重组的实例讲解
Aug 28 Javascript
基于vue-cli创建的项目的目录结构及说明介绍
Nov 23 Javascript
vue中Element-ui 输入银行账号每四位加一个空格的实现代码
Sep 14 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
Dec 16 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
Apr 15 #Javascript
关于文本框的一些限制控制总结~~
Apr 15 #Javascript
JS input文本框禁用右键和复制粘贴功能的代码
Apr 15 #Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 #Javascript
js利用与或运算符优先级实现if else条件判断表达式
Apr 15 #Javascript
JS下高效拼装字符串的几种方法比较与测试代码
Apr 15 #Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
Apr 14 #Javascript
You might like
PHP中动态HTML的输出技术
2006/10/09 PHP
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
JS简单实现元素复制示例附图
2013/11/19 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
JS小游戏之象棋暗棋源码详解
2014/09/25 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
jQuery 3.0 的变化及使用方法
2016/02/01 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
[49:05]OG vs Newbee 2019DOTA2国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
跟老齐学Python之集合的关系
2014/09/24 Python
Python通过正则表达式选取callback的方法
2015/07/18 Python
解决Python传递中文参数的问题
2015/08/04 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
python自定义函数实现最大值的输出方法
2019/07/09 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
学习python需要有编程基础吗
2020/06/02 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
三查三看党性分析材料
2014/02/18 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
幼师小班个人总结
2015/02/12 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
2015大学迎新标语
2015/07/16 职场文书
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python