1.函数的声明方式有三种
普通函数的声明方式
function box(num1,num2)
{
return num1+num2;
}
alert(box(1,2));

使用变量初始化函数
var box = function(num1,num2)
{
return num1+num2;
};

alert(box(1,2));

使用NEW的构造函数来声明
var box = new Function('num1','num2','return num1+num2');
alert(box(1,2));

2.作为值的函数
不是作为函数来传递的,而是作为函数的返回值来传递
function box(sum,num)
{
return sum + num;
}

function sum(num)
{
return num + 10;
}

var result = box(sum(10),10); //sum(10)这里传递的是函数的返回值和普通的变量一样
alert(result);

将函数当成参数传递给另一个函数

function box(sum22,num55)
{
return sum22(num55);
}

function sumj(num)
{
return num + 12; //返回22
}

var result = box(sumj,10); //这里sumj是一个函数,当作参数传递到另外一个函数里,而不是函数的返回值。
alert(result);

3.函数内部属性
arguments.callee调用自己本身的函数
function box(num)
{
if(num <= 1)
{
return 1;
}else{
return num * arguments.callee(num-1); //使用arguments.callee,调用自身,实现递归
}
}
alert(box(5));

window是一个对象,而且是JS里面最大的对象,是最外围的对象
//alert(typeof window); window是对象,类型是对象
//alert(this); [object Window] this目前表示的是window,因为在window的范围下
//alert(typeof this); //和window一样,所以this就是window

var color = '红色的'; //这里color就是全局变量,而这个变量又是window的属性
alert(window.color); //alert打印出color,说明color是window下的属性。
alert(this.color); //同上

window.color = '红色的'; //相当于var color = '红色的';。
alert(this.color);

var box = {
color:'蓝色的', //这里的color是box下的属性,也就是局部变量
sayColor:function(){
alert(this.color); //这里this,代表的是box对象。
}
};
box.sayColor();

4.函数属性和方法
function box(name,age)
{
return name + age;
}
alert(box.length);

function box(num1,num2)
{
return num1 + num2;
}
function sum(num1,num2) //apply和call可以冒充另外一个函数
{
return box.apply(this,[num1,num2]); //this表示window作用域,[]表示传递的参数
}
function sum2(num1,num2)
{
return box.apply(this,arguments); //这个可以当数组传递,arguments
}
alert(sum(10,10));

function box(num1,num2)
{
return num1 + num2;
}
function sum(num1,num2)
{
return box.call(this,num1,num2); //call只是传递参数不同,其他和apply一样
}
alert(sum(10,10));

var color = '红色的'; //全局
var box = { //局部
color:'蓝色的'
};
function sayColor(){
alert(this.color);
}
sayColor.call(window); //window下
sayColor.call(this); //this就是window
sayColor.call(box); //作用域在box对象里面

JS—Function类型的更多相关文章

  1. JS Function类型

    每个函数都是Function类型的实例,由于函数是对象,函数名实际上是一个指向函数对象的指针,不会与某个函数绑定. 1.函数的声明: (1)函数声明语法: function sum (num1,num ...

  2. 【笔记】js Function类型 内部方法callee

    运用function实现阶乘 以往的做法是如下的 function factorial(num){ if(num <= 1){ return 1; }else{ return num * fac ...

  3. 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型

    前文提要:[js实例]js中的5种基本数据类型和9种操作符 Array类型的9个数组方法 Array中有9个数组方法: 1.检测数组 2.转换方法 3.栈方法 4.队列方法 5.冲排序方法6.操作方法 ...

  4. js判断类型方法

    在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null,Boolean, Number和String:复杂数据类型是Object,Object中 ...

  5. JavaScript高级 Function类型

    ·    Function类型 (属于引用类型) 1.JS中,有的函数均是对象,这个一个非常有特点的地方.它既然是对象,那么它的构造函数是谁呢?就是Function.(例如:function Pers ...

  6. JavaScript中的Function类型浅析

    1. Function类型是js中引用类型之一,每个函数实际上都是Function类型的实例对象,具有自己的属性和方法.正因为函数式对象,所以函数名实际上也是一个指向函数对象的指针. 2. 常用的函数 ...

  7. JavaScript之Function类型

    1. 创建方式 //1.函数声明 function sum(num1,num2){ return num1+num2; } //2.函数表达式 var sum = function(num1,num2 ...

  8. Javascript高级编程学习笔记(16)—— 引用类型(5) Function类型

    JS中许多有趣的地方都和函数脱不了联系 那么是什么让JS中的函数这么有趣呢? 我们一起来看看吧 Function类型 在JS中函数实际上就是对象,每个函数都是Function类型的实例,和JS的其他引 ...

  9. JS 强制类型转化

    在Js中, 强制类型转化分为两种情况: 一种是引用类型转化基本类型, 如数组转化成数字:一种是两种不同基本类型之间的转化,如字符串转化为数字.你不能将基本类型转化成引用类型,比如,不可能把数字转化为数 ...

随机推荐

  1. Mysql 存储过程造测试数据

    1.Mysql 存储过程造测试数据 -- 创建一个用户表 CREATE TABLE `sys_user` ( -- `id` CHAR (32) NOT NULL DEFAULT '' COMMENT ...

  2. Aspen安装过程报错总结

    前几天一直帮朋友安装Aspen v11,因为之前的老版本总是报错,报错内容大概是证书过期了, 一开始朋友电脑上的老版本的Aspen 8卸载了,删除之前的数据库SqlServer 2012 ,然后重新安 ...

  3. OIer常见问题与错误总结

    作为一名OIer,无论是一名刚入门的蒟蒻,还是叱诧风云的神犇,相信都会难免去犯一些错误(废话不犯错误岂不是都满分了(ノへ ̄.).在这里总结了一些OIer常见易犯的错误,与大家共勉. 1.正常错误 可能 ...

  4. hdu 1950 Bridging signals 求最长子序列 ( 二分模板 )

    Bridging signals Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. js对象等号赋值的bug

    var a = {n: 1}; var b = a; a.x = a = {n: 2}; console.log(a.x); console.log(b.x); 有道题是这样的,觉得很奇葩,分析一下 ...

  6. Python pip设置为清华镜像

    设置为默认镜像 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

  7. P 1017

    转跳点:

  8. pythpon--类操作

    #coding=utf-8import numpy as npimport tensorflow as tfimport osos.environ["CUDA_VISIBLE_DEVICES ...

  9. 一、VIP课程:互联网工程专题 01-Git基本概念与核心命令掌握

    第一课:Git基本概念与核心命令掌握.docx 课程概要: GIT 体系概述 GIT 核心命令使用 GIT 底层原理 一.GIT体系概述 1.使用方式区别 从本地把文件推送远程服务,SVN只需要com ...

  10. 常用sql语句(mysql测试)

    DB数据库,DatabaseDBMS数据库管理系统,DatabaMemanagmentSystemSQL结构化查询语言,structure Query Language 开启服务net start m ...