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 相关文章推荐
动态加载js的几种方法
Oct 23 Javascript
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
Apr 24 Javascript
javascript 主动派发事件总结
Aug 09 Javascript
JavaScript解析URL参数示例代码
Aug 12 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
Jul 08 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
Oct 09 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
Jul 07 Javascript
jQuery实现的自定义滚动条实例详解
Sep 20 Javascript
判断横屏竖屏(三种)
Feb 13 Javascript
JS中移除非数字最多保留一位小数
May 09 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
javascript实现动态时钟的启动和停止
Jul 29 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+DBM的同学录程序(1)
2006/10/09 PHP
一步一步学习PHP(8) php 数组
2010/03/05 PHP
Discuz Uchome ajaxpost小技巧
2011/01/04 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
PHP基于单例模式实现的数据库操作基类
2016/01/15 PHP
PHP生成腾讯云COS接口需要的请求签名
2018/05/20 PHP
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
刷新页面的几种方法小结(JS,ASP.NET)
2014/01/07 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
JavaScript实现好看的跟随彩色气泡效果
2020/02/06 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
Vue+Vant 图片上传加显示的案例
2020/11/03 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
使用PYTHON接收多播数据的代码
2012/03/01 Python
python中enumerate函数用法实例分析
2015/05/20 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
Python中格式化format()方法详解
2017/04/01 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
python3中eval函数用法使用简介
2019/08/02 Python
python如何调用字典的key
2020/05/25 Python
Python eval函数原理及用法解析
2020/11/14 Python
python lambda的使用详解
2021/02/26 Python
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
2013/01/06 HTML / CSS
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
机工车间主任岗位职责
2014/03/05 职场文书
护理目标管理责任书
2014/07/25 职场文书
个人党性分析材料
2014/12/19 职场文书
接触艺术对孩子学习思维有益
2019/08/06 职场文书
Python机器学习之基础概述
2021/05/19 Python
python pygame入门教程
2021/06/01 Python