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

时间: 2024-07-29 17:53:26

JS 语言的Function 解析的相关文章

js中,(function(){})()的用法解析

(function($){...})(jQuery)  含义 经常用,今天总结一下,下文摘自某网友的总结: (function($){...})(jQuery)实际上是匿名函数,不懂得朋友可以继续往下看. 这里实际上是匿名函数 function(arg){...} 这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即: (function(arg){...})(param) 这就相当于定义了一个参数为arg的匿名函数,并且

ES6学习一 JS语言增强篇

一 背景 JavaScript经过二十来年年的发展,由最初简单的交互脚本语言,发展到今天的富客户端交互,后端服务器处理,跨平台(Native),以及小程序等等的应用.JS的角色越来越重要,处理场景越来越复杂.在这个背景下,JS最初的简陋设计显然是不太够用的,其松散的语法规则,拗口的继承机制(传说中的6种继承方法),无命名空间,模块化,以及异步处理的回调地狱等等特性在开发过程中容易成为开发人员的各种痛点,各个JS框架比如jQuery,SeaJs,等等为了这些问题也是操碎了心.不过随着JS语言的发展

JS学习第二天----JS语言核心

JS语言核心 有些东西,对于初学者来说,可能看不懂,我在这里只是想说一下,JS里面有这么个情况,并不是说让你掌握,你只需要大致浏览一下就可以了. // 所有在双斜杠之后的内容都属于注释 //变量是表示值的一个符号名字 //变量通过var关键字来声明,案例: var x;//声明一个变量x //值可以通过等号赋值给变量 x=0;  //现在变量x的值为0 x //=>0:通过变量获取其值 //JS支持多种数据类型 x=1; //数字 x=0.01; //整数和实数公用一种数据类型 x="he

JS 语言核心(JavaScript权威指南第六版)(阅读笔记)

前言: 对于程序员,学习是无止境的,知识淘换非常快,能够快速稳固掌握一门新技术,是一个程序员应该具备的素质.这里将分享本人一点点不成熟的心得. 了解一门语言,了解它的概念非常重要,但是一些优秀的设计思想需要细心和大量实践才能慢慢参悟,在这之前需要做的是能够运用它来开发,那么了解一些基础特性非常有必要,通常这些特性是需要经验积累,从各种坑中累计出来,但是还有一种看似很笨却很有效的学习方法.那就是将别人的经验记录下来,有事没事都拿出来看看,集合开发中的经验,这会非常有效. 调试工具 firebug

js里各浏览器解析XML,支持IE、火狐、Chrome等

js在chrome中加载XML,js加载XML支持ff,IE6+,Opera等浏览器 见代码: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>js里各浏览器解析XML,支持IE.火狐.Chrome等</title> </head> <body> <script> fu

排序算法——选择排序(js语言实现)

选择排序:顾名思义选择,选择排序属于O(N^2)的排序算法,意思就是选择数组中的最小的拿出来放在第一位,然后再剩下的数里面,选择最小的,排在第二位,以此类推. 例如:8  3  4  5  6  2  1  7 第一次:寻找数组中最小的数1,然后和8替换,得到 1 3 4 5 6 2 8 7 第二次:因为1的位置已经确定,所以只需要找剩下数组中最小的就行了,2和3互换得到1 2 4 5 6 3 8 7 第三次:1和2的位置已经确定,就看剩下的数中最小的数,3和4互换,结果是1 2 3 5 6 4

js语言规范_ES5-6-7_个人总结

## **理解ES** 1. 全称: ECMAScript 2. js语言的规范 3. 我们用的js是它的实现 4. js的组成   * ECMAScript(js基础)   * 扩展-->浏览器端       * BOM     * DOM   * 扩展-->服务器端     * Node.js        ## ES5 1. **严格模式**   * 运行模式: 正常(混杂)模式与严格模式   * 应用上严格式: 'strict mode';   * 作用:      * 使得Javas

js语言一

js语言: JavaScript: javascript是脚本语言,是一种轻量级的编程语言. javascript是可插入HTML页面的编程代码 JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. javascript 的引入方式: 1,在<head></head>内的Script标签内写代码 <script> // 在这里写你的JS代码 </script> 2,引入额外的js文件,及创建一个js文件,在里面写好你的代码 <scr

js 里面的 function 与 Function

function 是 js 的标识符 Function 是 js 里面的一个 构造函数 1.new function 与 new Function 的区别 new 运算符在 js 里面是 创建一个自定义的对象的实例 或者是 一个具有构造函数的本地对象的实例. 语法:new constructor [ ( [ arguments ] ) ] new function() {......} 初始化一个可操作对象,相当于 new function 匿名函数() {......} new Functio