javascript笔记整理(回调、递归、内置顶层函数)
1、回调函数(通过函数的指针来调用函数,把一个函数的指针做为另一个函数的参数,当调用这个参数的时候,这个函数就叫做回调函数)
a.通过指针来调用
function aa(a,b,fun){
return fun(a,b);
}
function bb(a,b){
return a+b;
}
function cc(a,b){
return a*b;
}
alert(aa(3,2,bb)); 结果:5
alert(aa(3,2,cc)); 结果:6
b.匿名方法
function aa(a,b,fun){
return fun(a,b);
}
alert(aa(3,2,function(a,b){return a*b})); 结果:6
alert(aa(3,2,function(a,b){return a+b})); 结果:5
c.定义和调用同时进行
alert(
(function aa(a,b,fun){
return fun(a,b);
})(2,3,function(a,b){return a*b})
)
结果:6
2、递归函数(在函数内部直接或间接的调用自己)
function abc(num){
if(num<1){
num=num;
}else{
abc(--num);
}
document.write(num);
}
abc(4); 结果:00123
//5*4*3*2*1
function aa(num){
if(num==1){
return num;
}else{
return num*aa(--num);
}
}
alert(aa(5)); 结果:120
3、内嵌函数(闭包)
function aa(){
var a=1;
return function bb(){
alert(a+1);
}
}
aa()(); 结果:2
javascript 内置 顶层 函数
内置: ECMAscript
内置函数:ECMAscript 自带的函数--Number()
宿主函数: BOM DOM alert() prompt() confirm();
顶层
a.字符串函数:字符串.函数()
b.数组函数
c.顶层对象的函数,可以作用于任何对象。
************内置顶层函数**************
1.escape() 对字符串进行编码
2.unescape() 对编码的字符串进行解码
3.Number() 转换成数值类型
4.String() 转换成字符串类型
5.Boolean() 转换成布尔类型
6.parseInt() 将字符串转换为整型
7.parseFloat() 转换为小数
8.isNaN() 判断一个数能否转换为数值类型。
9.isFinite() 判断一个数是否为有穷的数字。将不是有穷的数字或不能转换为数值类型的数返回假。
10.eval() 将字符串转换成javascript命令执行(必须符合javascript语法规范,否则会出错)
eval兼容性问题处理
IE:
eval() 在当前作用域生效
window.eval() 在当前作用域生效(在IE9以上全局生效)
execScript() 在全局生效(只有ie认)
FF:
eval() 在当前作用域生效
window.eval() 在全局生效
function AllEval(str){
if(typeof str!='string')
return;
if(window.execScript){
window.execScript(str);
}else{
window.eval(str);
}
}
AllEval('var a=1;alert(a)');
javascript笔记整理(回调、递归、内置顶层函数)的更多相关文章
- 【学习】js学习笔记:内置顶层函数eval()的兼容用法
今天学了一个内置顶层函数,eval();其作用是将字符串转换成javascript命令执行,但必须符合语法,否则会报错. 如果写成window.eval(),则其定义的变量会在全局生效. 但是,在IE ...
- Unit05: JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置对象三
Unit05: JavaScript对象概述 . 常用内置对象一 . 常用内置对象二 . 常用内置对象三 常用内置对象使用演示: <!DOCTYPE html> <html> ...
- 浏览器内置Console函数使用详解
浏览器内置Console函数比较好用:Chrome 和 FireFox(Firebug插件) 利用此功能可以像直接在面板里面运行JS一样(写法不同而已) 一.显示信息的命令 Firebug内置一个co ...
- 学习angularjs的内置API函数
angularjs的内置API函数有很多,如isString()判断给定的对象是否为字符串,如果是返回 true,反之返回false:isNumber()判断给定的对象是否为数字,如果是返回 true ...
- PHP内置安全函数一览
内置安全函数 filter_var函数 根据参数中的过滤类型进行过滤,如过滤Email类型的,则符合的字符串返回字符串,不符合的返回False. urldecode函数 写这个函数是特别为了提醒注意, ...
- Python descriptor 以及 内置property()函数
Python Descriptor 1, Python Descriptor是这样一个对象 它按照descriptor协议, 有这样的属性之一 def __get__(self, obj, type ...
- Oracle SQL常用内置系统函数总结
Oracle数据库 内置系统函数主要分为以下类别:数学函数.字符串函数.日期函数.转换函数.聚合函数.分析聚合函数 一.数学函数 ------------返回数字 abs(n):返回数字 ...
- python面向对象的多态-类相关内置函数-类内置魔法函数-迭代器协议-上下文管理-04
多态 一种事物具备不同的形态 例如:水 --> 固态.液态.气态 多态:# 多个不同对象可以相应同一个对象,产生不同的结果 首先强调,多态不是一种特殊的语法,而是一种状态,特性(多个不同对象可以 ...
- 前端笔记之JavaScript面向对象(二)内置构造函数&相关方法|属性|运算符&继承&面向对象
一.复习 1.1复习上下文 函数的调用方式 上下文 fun() window obj.fun() obj box.onclick = fun box setInterval(fun,1000) set ...
随机推荐
- QT 程序自定义插件
1,定义接口文件 /****************************************************************************************** ...
- js 选择器
a>b 获取a下面的直接子元素
- python 中 json的处理
python中的json对象,其实就是字典类型. 利用json模块,可以将字符串类型的json串转换为 json对象(字典对象),也可以将json对象(字典对象)转换为字符串对象. 代码如: #cod ...
- BZOJ 1677: [Usaco2005 Jan]Sumsets 求和
题目 1677: [Usaco2005 Jan]Sumsets 求和 Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 617 Solved: 344[Su ...
- iOS-容易造成循环引用的三种场景
ARC已经出来很久了,自动释放内存的确很方便,但是并非绝对安全绝对不会产生内存泄露.导致iOS对象无法按预期释放的一个无形杀手是——循环引 用.循环引用可以简单理解为A引用了B,而B又引用了A,双方都 ...
- Pagodas(等差数列)
Pagodas Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- git 解决冲突的办法
在项目中使用git管理,冲突是在所难免的.假设没办法解决冲突,能够试试这个办法. 第一步.对project进行备份,最好是复制到其它目录中 第二步.在cmd命令栏上,进入到project文件夹下.这里 ...
- 2013 成都网络赛 1004 Minimum palindrome
题目大意:用m个字母组成一个长度为N的字符串,使得最长的回文子串 的长度最小. 并且要求字典序最小. 思路:分类模拟. 当M为1 的时候就直接输出N个A 当M大于2的时候就循环ABC 当M等于2的时候 ...
- 学习OpenBlas
编译 从OpenBlas Home Page 上下载源代码.make, make install 使用 level 1 向量-向量 操作 #include <iostream> #incl ...
- iOS原生App与H5页面交互笔记
文/MikeZhangpy(简书作者)原文链接:http://www.jianshu.com/p/4ed3e5ed99c6著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 最近在做一个项 ...