简单说下鄙人对js函数的理解,如果只是简简单单的说下函数的话,我想其实并不是特别困难的,但是要是细细的围绕着函数等一系列的周边来说的话,那么真的需要一点时间和精力了,当然本次属于基础回顾,也就简单的说下函数的基本应用了。
我还是想简单的贴几段代码来说明下函数的基本用法,毕竟本次博客是用来说明javascript的高级应用之设计模式的,所以如果有什么不懂得地方,大家可以自己百科了。
/**
* 函数
*/
(function(){
// function 函数名字(val1,val12,val3,valn){
// //代码
// //return
// }
// var fn = function(){
// //代码
// }
//2中函数声明的区别
/**
* var abc = function(){}
* 只能在函数声明后才能使用
*/
//add(1,1);
function add(x,y){
alert(x+y)
}
//add(1,2);
//add2(12,3)
var add2 = function(x,y){
alert(x+y)
}
add2(12,3)
})()
/**
* 回调函数
* 调用一个函数之后,又会再调用本身传入的一个函数
*/
(function(){
//接收回调函数的函数
function add(x,y,fn){
this.x = x||1;
this.y = y||1;
if(fn){
fn(this.x+this.y);
}
}
add(1,2,function(v){
if(v>0){
alert("re > 0")
}else{
alert("re <= 0")
}
})
})()
/**
* 函数传参
*/
(function(){
//1.参数传递的随意性
function add(x,y,z){
this.x = x||0;
this.y = y||0;
this.z = z||0;
alert(this.x+this.y+this.z)
}
//add(12,3,5)
//add(14,5)
//弊端 : 无法像java等高级语言那有 有函数精确复写的特性
//技巧 : 如果你这个类是工具类的情况下,那没你接收的参数最好是对象
/**
* conf = {gridName:"",gridCode:"",gridSize:""}
*/
function gridUtil(conf){
alert(conf["gridName"]+" "+conf["gridSize"]);
}
gridUtil({gridName:"YUNFENGCHENG",gridSize:10});
//传值还是传址
var i = 100;
var s = "one";
function add3(i,s){
i++;
s+="--";
//alert(i);
}
//add3(i,s);
//alert(i);//100 or 101
//alert(s);//"one" or one--
/**
* 证明 : 基础变量是传递数值的
* 自定义对的传参方式是传得"地址"
*/
//对象
var o = {name:"YUNFENGCHENG"}
function change(o){
o["name"] = "USPCAT.COM"
}
change(o);
alert(o.name)
})()
/**
* 函数递归
*/
(function(){
//常见的编程题 1~100 用递归算法完成累加
function add(start,end){
var num = 0;
num = num + start;
if(start < end){
num = num + add(start+1,end);
}
return num;
}
alert(add(1,100));
})()
/**
* 函数使用技巧
*/
(function(){
//代理函数-->用程序来决定返回的新的函数(他是一个生产函数的函数)
//模拟数据库
var person = {"jim":"m","lili":"w"}
var test = function(name){
if(person[name] == "m"){
/**
* 内科,外科
*/
return function(nk, wk){
alert(nk+" "+wk)
}
}else if(person[name] == "w"){
/**
* 内科,外科,妇科
*/
return function(nk, wk, fk){
alert(nk+" "+wk+" "+fk)
}
}
}
test("jim")("ok","ok")
test("lili")("ok","ok","no")
})()
简单介绍下一个功能强大的函数eval
(function(){
//eval 他是把一个字符串解析成一个方法并且调用
var str = "var show = function(){alert(100)}()";
//eval(str)
//数据库会返回一个字符串(长得像javaScrpit数组)
var a = "[1,2]";
var array = eval(a);
for (var i = 0; i < array.length; i++) {
alert(array[i])
}
})()
分享到:
相关推荐
用JavaScript绘图 ——JS2D函数集
JavaScript凌厉开发——Ext详解与实践 源码 源代码 part3 因为源代码比较大,压缩后76M左右 所以分为四个包上传
前端学习——javascript学习笔记(二)函数
JavaScript学习资料JavaScript基础语法函数及相关源代码资料: BOM基础.pdf BOM基础(源代码).zip Date对象之获取和设置月份-getMonth&setMonth(教辅).pdf DOM事件总结(教辅).pdf DOM事件(ppt).pdf JavaScripr...
JavaScript网页开发——体验式学习教程.pdf JavaScript网页开发——体验式学习教程.pdf
JavaScript凌厉开发——Ext JS3详解与实践JavaScript凌厉开发——Ext JS3详解与实践
PDF格式的javascript学习资料,希望对你有所帮助
JavaScript凌厉开发——Ext详解与实践_源码清单JavaScript凌厉开发——Ext详解与实践_源码清单JavaScript凌厉开发——Ext详解与实践_源码清单
JavaScript凌厉开发——Ext详解与实践
JavaScript实战手册——第七版代码 对应书籍 http://download.csdn.net/detail/yyysuki/3704463 【此书为英文原版
张孝祥老师生前鸿篇巨著。包括html,CSS,DOM编程,javaScrip语法,脚本编程的相关技术,正则表达式。
NULL 博文链接:https://zisefeiniao.iteye.com/blog/387035
Applet与Javascript的对话——让你的Javascript代码和Java Applet融洽地合作.pdf
我们学习了以下这样一些知识内容: 1——计算机基础知识 2——Windows操作系统 3——计算机网络应用基础 4——Word 文字处理系统 5——Excel电子表格系统 6——PowerPoint电子演示文稿系 7——计算机安全 我谈一下...
《Web前端设计基础——HTML5、CSS3、JavaScript》张树明版前十章课后习题答案
JavaScript毕业设计——篮球赛事助手源码。已获高分通过项目。 在功能上实现创建比赛,统计参赛人员,统计比赛得分与犯规次数。 安装教程 启动服务器操作 (1) 找到服务器 woao_server 所在文件,点击进去文件 (2...
JavaScript凌厉开发——Ext详解与实践_源码清单.rarJavaScript凌厉开发——Ext详解与实践_源码清单.rarJavaScript凌厉开发——Ext详解与实践_源码清单.rar
javascript函数式编程 javascript函数式编程 javascript函数式编程
1.实现JavaScript事件注册;...2.实现JavaScript事件处理函数; 3.实现JavaScript鼠标和键盘事件; 4.实现JavaScript表单相关事件; 5.实现JavaScript字幕滚动事件; 6.实现JavaScript编辑事件;
JavaScript凌厉开发——Ext详解与实践 源码 源代码 part1 因为源代码比较大,压缩后76M左右 所以分为四个包上传