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笔记整理(回调、递归、内置顶层函数)的更多相关文章

  1. 【学习】js学习笔记:内置顶层函数eval()的兼容用法

    今天学了一个内置顶层函数,eval();其作用是将字符串转换成javascript命令执行,但必须符合语法,否则会报错. 如果写成window.eval(),则其定义的变量会在全局生效. 但是,在IE ...

  2. Unit05: JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置对象三

    Unit05: JavaScript对象概述 . 常用内置对象一 . 常用内置对象二 . 常用内置对象三 常用内置对象使用演示: <!DOCTYPE html> <html> ...

  3. 浏览器内置Console函数使用详解

    浏览器内置Console函数比较好用:Chrome 和 FireFox(Firebug插件) 利用此功能可以像直接在面板里面运行JS一样(写法不同而已) 一.显示信息的命令 Firebug内置一个co ...

  4. 学习angularjs的内置API函数

    angularjs的内置API函数有很多,如isString()判断给定的对象是否为字符串,如果是返回 true,反之返回false:isNumber()判断给定的对象是否为数字,如果是返回 true ...

  5. PHP内置安全函数一览

    内置安全函数 filter_var函数 根据参数中的过滤类型进行过滤,如过滤Email类型的,则符合的字符串返回字符串,不符合的返回False. urldecode函数 写这个函数是特别为了提醒注意, ...

  6. Python descriptor 以及 内置property()函数

    Python Descriptor  1, Python Descriptor是这样一个对象 它按照descriptor协议, 有这样的属性之一 def __get__(self, obj, type ...

  7. Oracle SQL常用内置系统函数总结

    Oracle数据库  内置系统函数主要分为以下类别:数学函数.字符串函数.日期函数.转换函数.聚合函数.分析聚合函数 一.数学函数 ------------返回数字       abs(n):返回数字 ...

  8. python面向对象的多态-类相关内置函数-类内置魔法函数-迭代器协议-上下文管理-04

    多态 一种事物具备不同的形态 例如:水 --> 固态.液态.气态 多态:# 多个不同对象可以相应同一个对象,产生不同的结果 首先强调,多态不是一种特殊的语法,而是一种状态,特性(多个不同对象可以 ...

  9. 前端笔记之JavaScript面向对象(二)内置构造函数&相关方法|属性|运算符&继承&面向对象

    一.复习 1.1复习上下文 函数的调用方式 上下文 fun() window obj.fun() obj box.onclick = fun box setInterval(fun,1000) set ...

随机推荐

  1. JS 随记

    一.在内联框架中,刷新整个框架,在.net中使用此方法( ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "re ...

  2. 如何去掉Protel99se汉化菜单

    说明: 安装Protel99se汉化包后,卸载后重新安装也无法去掉汉化菜单.本文介绍解决办法. 问题: 网上一些Protel99se的安装包内,在介绍Protel安装时,采用3大步的方法.第一步安装P ...

  3. struts文件上传和下载

    文件上传 jsp中 <a href="/file/new.action">文件上传案例</a> fileaction中 @Override public S ...

  4. Nginx 开启 debug 日志的办法

    译序:一般来讲,Nginx 的错误日志级别是 error,作为 Nginx 用户来讲,你设置成 info 就足够用了.         但有时有些难以挖掘的 bug,需要看到更详细的 debug 级别 ...

  5. 将string当字节流使

    string是C++标准定义的字符串类,它不但支持文本,而且支持二进制字节流.给一个string变量赋值有多种方法: 1) 拷贝构造函数 2) 等号赋值函数 3) append成员函数 4) push ...

  6. COM组件

    COM组件   COM component(COM组件)是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术.在COM构架下,人们可以开发出各种各样的功能专一的组件,然后 ...

  7. android在ubuntu中编译为.apk资料

    android在ubuntu中编译为.apk文件 今天我在ubuntu环境之下将android程序编译为.apk文件,特将其过程写下来: 1. 在windows环境下使用MyEclipse编辑好and ...

  8. 你喜欢SOAP吗?反正我不喜欢!

    叫什么Simple Object Access Protocol,实际上一点都不Simple! 说什么轻量级协议,从它基于XML的编码就知道它有多臃肿! 说什么跨平台特性,其实各个语言需要自己实现一整 ...

  9. UltraEdit for mac 3.2.0.10免费破解版下载!!

    http://www.mactech.cn/a/108.html UltraEdit for mac 3.2.0.10破解版下载地址 看很多朋友不知道算号器的使用方法,分享如下: 1. 解压Ultra ...

  10. java jstack dump 线程 介绍 解释

    最近抽时间把JVM运行过程中产生的一些线程进行了整理,主要是围绕着我们系统jstack生成的文件为参照依据.  前段时间因为系统代码问题,造成性能到了天花板,于是就dump了一份stack出来进行分析 ...