JS—Function类型
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类型的更多相关文章
- JS Function类型
每个函数都是Function类型的实例,由于函数是对象,函数名实际上是一个指向函数对象的指针,不会与某个函数绑定. 1.函数的声明: (1)函数声明语法: function sum (num1,num ...
- 【笔记】js Function类型 内部方法callee
运用function实现阶乘 以往的做法是如下的 function factorial(num){ if(num <= 1){ return 1; }else{ return num * fac ...
- 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型
前文提要:[js实例]js中的5种基本数据类型和9种操作符 Array类型的9个数组方法 Array中有9个数组方法: 1.检测数组 2.转换方法 3.栈方法 4.队列方法 5.冲排序方法6.操作方法 ...
- js判断类型方法
在JavaScript中,有5种基本数据类型和1种复杂数据类型,基本数据类型有:Undefined, Null,Boolean, Number和String:复杂数据类型是Object,Object中 ...
- JavaScript高级 Function类型
· Function类型 (属于引用类型) 1.JS中,有的函数均是对象,这个一个非常有特点的地方.它既然是对象,那么它的构造函数是谁呢?就是Function.(例如:function Pers ...
- JavaScript中的Function类型浅析
1. Function类型是js中引用类型之一,每个函数实际上都是Function类型的实例对象,具有自己的属性和方法.正因为函数式对象,所以函数名实际上也是一个指向函数对象的指针. 2. 常用的函数 ...
- JavaScript之Function类型
1. 创建方式 //1.函数声明 function sum(num1,num2){ return num1+num2; } //2.函数表达式 var sum = function(num1,num2 ...
- Javascript高级编程学习笔记(16)—— 引用类型(5) Function类型
JS中许多有趣的地方都和函数脱不了联系 那么是什么让JS中的函数这么有趣呢? 我们一起来看看吧 Function类型 在JS中函数实际上就是对象,每个函数都是Function类型的实例,和JS的其他引 ...
- JS 强制类型转化
在Js中, 强制类型转化分为两种情况: 一种是引用类型转化基本类型, 如数组转化成数字:一种是两种不同基本类型之间的转化,如字符串转化为数字.你不能将基本类型转化成引用类型,比如,不可能把数字转化为数 ...
随机推荐
- 七十二、SAP中内表的修改,添加条件语句,多条目修改
一.代码如下 二.MODIFY执行前断点数据 三.查看到数据如下 四.往下单步走一步,发现有3条数据被修改 五.执行后修改如下
- 六十五、SAP中通过BREAK-POINT下断点,进行调试
一.代码如下,有2个断点的按钮,可以可以写入BREAK-POINT人工断点 二.运行之后,程序会被断下来, 四个执行按钮,意思分别为:单步进入子程序,单步不进入子程序,返回外面,执行到断点处 三.我们 ...
- 十四、SAP中定义自定义变量
一.利用关键字TYPE定义类型,然后在定义此类型的变量,代码如下: 二.效果如下:
- spark任务日志配置
样例代码: public class SparkTest { private static Logger logger = Logger.getLogger(SparkTest.class); pub ...
- HDU 4893 2014多校三 线段树
给定一个初始都为0的序列,有三种操作,前两种比较正常,一个是对某个位置的数add k,另一个是query区间和.然后比较麻烦的是第三个操作,把某个区间里面的每个值改成离它最近的Fibonacci数,如 ...
- 在Centos安装redis-孙志奇
最近在阿里云服务器上部署redis,遇到了很多的问题,经过不懈的努力终于配置成功, 按照下面的步骤一步一步来就好了 wget http://download.redis.io/releases/red ...
- redis十-对快照模式分析
复制自:http://www.cnblogs.com/huangxincheng/p/5010795.html 一:快照模式 或许在用Redis之初的时候,就听说过redis有两种持久化模式,第一种是 ...
- 第十八篇 admin组件
admin组件 admin组件使用 admin源码解析 admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以 ...
- 面向对象第一个特征-封装(Encapsulation)
面向对象第一个特征-封装(Encapsulation) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.封装概述(Encapsulation) 1>.什么是封装 是指隐藏对 ...
- 三星首款折叠屏手机Galaxy Fold上架中国官网
2 月 28 日,在三星 Galaxy S10 系列新品发布会上,备受期待的三星首款可折叠屏手机 Galaxy Fold 也在中国正式亮相.目前,Galaxy Fold 已正式上架三星中国官网,可以预 ...