JS 语言的Function 解析
1.最基本的作为一个本本分分的函数声明使用。
或
var func=function(){};
2.作为一个类构造器使用:
class.prototype={};
var item=new class();
3.作为闭包使用:
//独立作用域
})();
4.可以作为选择器使用:
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 privateArg;//静态私有变量
function privateMethod=function(){};//静态私有方法
return function(){/*真正的构造器*/};};
6.利用Function处理ajax返回的js脚本:
"{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");
应注意的是,注意返回代码的格式,根据处理原理返回形式可有一下几种:
2.{a:"abc",func:function){}}//散列表
3.function(){}
JS 语言的Function 解析的更多相关文章
- JS 语言核心(JavaScript权威指南第六版)(阅读笔记)
前言: 对于程序员,学习是无止境的,知识淘换非常快,能够快速稳固掌握一门新技术,是一个程序员应该具备的素质.这里将分享本人一点点不成熟的心得. 了解一门语言,了解它的概念非常重要,但是一些优秀的设计思 ...
- ES6学习一 JS语言增强篇
一 背景 JavaScript经过二十来年年的发展,由最初简单的交互脚本语言,发展到今天的富客户端交互,后端服务器处理,跨平台(Native),以及小程序等等的应用.JS的角色越来越重要,处理场景越来 ...
- js作用域其二:预解析
文章目錄 解析机制 JavaScript是一门解释型的语言 , 想要运行js代码需要两个阶段 编译阶段: 编译阶段就是我们常说的JavaScript预解析(预处理)阶段,在这个阶段JavaScript ...
- js里各浏览器解析XML,支持IE、火狐、Chrome等
js在chrome中加载XML,js加载XML支持ff,IE6+,Opera等浏览器 见代码: <!doctype html> <html lang="en"&g ...
- 排序算法——选择排序(js语言实现)
选择排序:顾名思义选择,选择排序属于O(N^2)的排序算法,意思就是选择数组中的最小的拿出来放在第一位,然后再剩下的数里面,选择最小的,排在第二位,以此类推. 例如:8 3 4 5 6 2 ...
- js语言规范_ES5-6-7_个人总结
## **理解ES** 1. 全称: ECMAScript 2. js语言的规范 3. 我们用的js是它的实现 4. js的组成 * ECMAScript(js基础) * 扩展-->浏览 ...
- 转:JS中生成和解析JSON
原文地址:JS中生成和解析JSON 1.JS中生成JSON对象的方法: var json = []; var row1 = {}; row1.id= "1"; row1.name ...
- 用js(JavaScript-jQuery)解析XML文件 无法成功 获得XML对象,字符串一些心得
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/7822962.html 解析XML文件遇到的问题 今天秦博士叫我解析一下XML文件,将里面的所有 ...
- js中JSON的解析(将json字符串转化为对象)和序列化(将对象转化为json字符串)(函数的功能一般都挺全的,需要的时候去查看完整函数)
js中JSON的解析(将json字符串转化为对象)和序列化(将对象转化为json字符串)(函数的功能一般都挺全的,需要的时候去查看完整函数) 一.总结 1.JSON解析:JSON.parse(myJS ...
随机推荐
- java-byte[]图片在页面展示
public void img(HttpServletRequest req, HttpServletResponse res) { //res.setHeader("Content-Typ ...
- htm.dropdownlist
@Html.DropDownList("status", new SelectList(new[] { "驳回", "确认", " ...
- 利用Quartz2D推图的另一个方法 (使用CGMutalePathRef进行分层次)
可以利用 CGMutablePathRef 创建每个不同图形,然后再一起添加到CGContext中 - (void)drawRect:(CGRect)rect { CGContextRef ctx = ...
- Python 编辑器 tips
1. IDLE界面美化 注意IDLE是可以设置语法高亮的:(美化参考 http://www.linuxidc.com/Linux/2012-07/66129.htm) windows 用户,直接打开 ...
- 【BZOJ-3437】小P的牧场 DP + 斜率优化
3437: 小P的牧场 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 705 Solved: 404[Submit][Status][Discuss ...
- bootstrap 双层模态框的实现
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- CLR/.NET/C#/Visual Studio/ASP.NET各版本之间的关系(转)
由于这篇文章记录的是2015年7月,那时.net core还是叫做.net core 5 名词定义 下列这些名词,写.NET 的人一定都不陌生,但你是否有真正理解呢?如果看了我的摘要文字说明还无法理解 ...
- Windows Server 2012/2016在桌面上添加计算机等图标
[CMD]->输入[rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0],回车:
- 洛谷P2853 [USACO06DEC]牛的野餐Cow Picnic
题目描述 The cows are having a picnic! Each of Farmer John's K (1 ≤ K ≤ 100) cows is grazing in one of N ...
- C#关闭窗口代码
if (MessageBox.Show("请您确认是否退出(Y/N)", "系统提示", MessageBoxButtons.YesNo, MessageBox ...