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. 运行PHP

    /usr/local/php/bin/php /home/www/index.php

  2. Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

  3. python成长之路——第八天

    pickle,load :切记:如果load的是个对象的话,必须导入构建这个对象的类     封装 类和对象的关系: 每个对象里都有一个类对象指针,指向类     继承:支持单继承和多继承 print ...

  4. poj 3252

    http://poj.org/problem?id=3252//自己搞了很长时间...现在刚刚有点明白.. 1 #include <iostream> using namespace st ...

  5. jQuery 子元素选择

    对于如下代码片段  如何对河meishi这个div的子DIV呢? <div id="vertical-Menu-meishi" class="J-nav-item& ...

  6. js 选择器

    a>b  获取a下面的直接子元素

  7. c++ 对象作为参数传递

    对象作为参数传递时是传值.把实参的对象赋值给形参.因此效率有点低. c++传参方式可以分为2种: 1.传值 (指针作为参数,本质上也只是把地址作为值传递了而已). 2.传引用. 所以,一切传递方式不是 ...

  8. HDU1163【九余数定理】【水题】

    Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  9. server配置学习 ---- 关闭防火墙

    iptables 一种网络防火墙,在LINUX下使用,RedHat9.0版本号以上自带. 它能够实现NAT转换.能够做上网代理. 首先对于server的配置第一步来说就是关闭防火墙.在没有图形化中的l ...

  10. 【Android】ScrollView+GridView 显示问题

    在使用Android的ScrollView里面嵌套GridView时,设置android:layout_height="wrap_content"属性,运行界面的效果不会出现全部数 ...