js function使用心得

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(){}
以上三种应该能处理大部分代码了。

(0)

相关推荐

  • js function使用心得

    1.最基本的作为一个本本分分的函数声明使用. 复制代码 代码如下: function func(){} 或 var func=function(){}; 2.作为一个类构造器使用: 复制代码 代码如下: function class(){} class.prototype={}; var item=new class(); 3.作为闭包使用: 复制代码 代码如下: (function(){ //独立作用域 })(); 4.可以作为选择器使用: 复制代码 代码如下: var addEvent=ne

  • 深入浅析JS Function()构造函数

    js中function对象是一个令人着迷的东西,但由于他太过于灵活,常常令人迷惑. 先给大家看个代码片段. var scope="global"; function constructFunction(){ var scope="local"; return new Function(" return scope"); } constructFunction()(); function constructFunction2(){ var scop

  • js function定义函数的几种不错方法

    js function定义函数的4种方法 1.最基本的作为一个本本分分的函数声明使用. 复制代码代码如下: 复制代码 代码如下: function func(){} 或 var func=function(){}; 2.作为一个类构造器使用: 复制代码代码如下: 复制代码 代码如下: function class(){} class.prototype={}; var item=new class(); 3.作为闭包使用: 复制代码代码如下: 复制代码 代码如下: (function(){ //

  • js断点调试心得分享(必看篇)

    1.断点调试是啥?难不难? 断点调试其实并不是多么复杂的一件事,简单的理解无外呼就是打开浏览器,打开sources找到js文件,在行号上点一下罢了.操作起来似乎很简单,其实很多人纠结的是,是在哪里打断点?(我们先看一个断点截图,以chrome浏览器的断点为例) 步骤记住没? 用chrome浏览器打开页面 → 按f12打开开发者工具 → 打开Sources → 打开你要调试的js代码文件 → 在行号上单击一下,OK!恭喜你的处女断点打上了,哈哈~~ 2.断点怎么打才合适? 打断点操作很简单,核心的

  • js function定义函数使用心得

    1.最基本的作为一个本本分分的函数声明使用. 复制代码 代码如下: function func(){} 或 var func=function(){}; 2.作为一个类构造器使用: 复制代码 代码如下: function class(){} class.prototype={}; var item=new class(); 3.作为闭包使用: 复制代码 代码如下: (function(){ //独立作用域 })(); 4.可以作为选择器使用: 复制代码 代码如下: var addEvent=ne

  • js闭包学习心得总结

    首先引用来自官网文档的定义: closure is the combination of a function and the lexical environment within which that function was declared. 闭包是一个函数和其内部公开变量的环境的集合. 简单而言, 闭包 = 函数 + 环境 第一个闭包的例子 function init() { var name = 'Mozilla'; // name is a local variable create

  • js Function类型

    1.函数就是对象,而函数名是指向函数对象的指针,不会与某个函数绑定. 2.函数没有重载(函数重载:同一个函数名对应着多个函数的实现.) For Examle: function addnum(num){return num+10 } function addnum(num){return num+20} addnum(10);//30 3.函数表达式与函数声名(解析器会率先读取函数声明,其它情况都是等价的). 4.作为值的函数. 按照某个对象属性给对象数组进行排序? 复制代码 代码如下: fun

  • 如何使用headjs来管理和异步加载js

    现在有许多成熟的js模块加载器,比如requirejs和seajs等,但是对一些小的项目来说,它们的功能可能太过于"强大",也许我们只是想要有一个能动态加载js的功能,或许我们只是想装B一下,让自己写出的页面没有一大堆的这样的东西.前面说的两种js加载器都是更强调模块性,也就是更强调js文件的组织和管理,更适用于大的项目. 就像刚刚说的,我只想有一个js文件加载器,我只需提供给它一个js文件的地址就行了的那种呢?那就进入我们的主题了,使用headjs吧. 首先,我想说一下Javascr

  • 一段非常简单的js判断浏览器的内核

    大家应该还记得JavaScript行内样式怎么写吧?(看来我是废话了!) 在前端开发过程中,有时我们需要判断浏览器的内核前缀,对不同的浏览器做出不同的处理,因此我们可以这么做. alert(element.style.webkitTransition); 这个是获取以webkit为前缀的transition值.但如果不是webkit为前缀的浏览器,则会返回undefined.而我们可以将所有的内核前缀给枚举出来,然后获取其某个CSS的值,即可做出判断.代码如下: function getVend

  • 基于Turn.js 实现翻书效果实例解析

    最近项目经理我个项目练练手,其项目需求是要实现翻书效果,看到这个需求后,我真是懵了,这咋整,我可是java出身的啊,这个问题真是难住我了,后来有同事的指导,之前他曾经做过PC版的翻书效果,当时使用的是Turn.js ,查过其相关API后,整个人突然豁然开朗呀,使用Turn.js 完全可以解决当前我接手这个项目的所有需求呀.下面小编把我的学习心得分享给大家,大家可以参考下 Turn.js的官方网址: http://www.turnjs.com/ 下面是我这个项目上线后的效果: 看过实际项目后,各位

随机推荐