`
风雪涟漪
  • 浏览: 507248 次
  • 性别: Icon_minigender_1
  • 来自: 大连->北京
博客专栏
952ab666-b589-3ca9-8be6-3772bb8d36d4
搜索引擎基础(Search...
浏览量:9013
Ae468720-c1b2-3218-bad0-65e2f3d5477e
SEO策略
浏览量:18416
社区版块
存档分类
最新评论

Javascript 函数 (二) 函数做为数据类型(Functions are data)

阅读更多

Functions are data

这一篇是函数里比较重要的概念,那就是函数是一个数据。看个例子

function f(){return 1;}
var f=function(){return 1;}

这两个函数定义都是相同的。

typeof f;

 

f的值为"function",所以说Javascript 的 函数是个数据类型。它有比较两个重要的特点

1.它包含了代码

2.能被执行

看个例子

var sum = function(a,b){return a+b;}
var add = sum;
sum=undefined;
typeof sum;
typeof add;
add(1,2);

我们把函数sum做为一个值赋给了add,发现删除了sum不影响add的调用。所以函数也就是个正常的赋值。

匿名函数(Anonymous Functions)

Javascript中,可以不用写赋值的代码,如

"abcd" 1 [1,2,3]

这样都不会报错,这些数据叫做匿名的。同样的函数做为数据也可以是匿名的

function(a){return a}

匿名函数的作用有两个

1.可以把匿名函数做为一个参数传入到另一个函数中。

2.你可以理解运行这个匿名函数

下面就会详细讨论这两个功能的作用了。

 

分享到:
评论
5 楼 风雪涟漪 2008-12-30  
sdcyst 写道
风雪涟漪 写道

不好意思,是我笔误。。这个错误并不是delete引起的 。delete是可以删除数据的。
而是 我的 function(a,b) 参数 我写为了 a.b。。。。。不好意思  笔误

delete可以删除数据,但是不能删除通过var来声明的变量,楼主你确实没有测试.........

我是用FireBug来测试的。delete确实在网页中失效,却在firebug里好用。。
我把文章的代码修改下。呵呵
4 楼 sdcyst 2008-12-30  
风雪涟漪 写道

不好意思,是我笔误。。这个错误并不是delete引起的 。delete是可以删除数据的。
而是 我的 function(a,b) 参数 我写为了 a.b。。。。。不好意思  笔误

delete可以删除数据,但是不能删除通过var来声明的变量,楼主你确实没有测试.........
3 楼 sdcyst 2008-12-30  
var sum = function(a,b){return a+b;} 
var add = sum;
alert(typeof sum);  //function
delete sum;
alert(typeof sum);  //function
alert(add(1,2));    //3

delete没有起作用
2 楼 风雪涟漪 2008-12-30  
hanjs 写道
var sum = function(a.b){return a+b;}  
var add = sum;  
delete sum;  
typeof sum;  
typeof add;      
add(1,2); 

lz自己没有测试吧,delete是从对象中删除一个属性,或从数组中删除一个元素。你上面的delete根本就没有起作用。

不好意思,是我笔误。。这个错误并不是delete引起的 。delete是可以删除数据的。
而是 我的 function(a,b) 参数 我写为了 a.b。。。。。不好意思  笔误
1 楼 hanjs 2008-12-29  
var sum = function(a.b){return a+b;}  
var add = sum;  
delete sum;  
typeof sum;  
typeof add;      
add(1,2); 

lz自己没有测试吧,delete是从对象中删除一个属性,或从数组中删除一个元素。你上面的delete根本就没有起作用。

相关推荐

    详解Javascript ES6中的箭头函数(Arrow Functions)_.docx

    JavaScript ES6中的箭头函数是语言的一个重要特性,它提供了更简洁的函数定义方式,简化了代码并改变了`this`的绑定规则。下面将详细介绍箭头函数的语法、注意事项以及其与传统函数的区别。 ### 1. 箭头函数的语法 ...

    Functional Programming in JavaScript

    - 第二部分重点介绍如何使用JavaScript特性实现函数式编程,并应用到实际编程任务中。 本书的出版信息、作者信息和版权声明等虽然在文档中列出,但对于理解函数式编程概念不产生直接影响,故在此不做赘述。 函数式...

    详解Javascript ES6中的箭头函数(Arrow Functions)

    箭头函数是JavaScript ES6引入的一种新的函数定义方式,它简化了传统函数的声明,使得代码更加简洁易读。箭头函数与传统的function关键字定义的函数在行为和语法上存在一些差异,尤其是在`this`的绑定规则上。 **一...

    JavaScript基础语法 自学笔记

    2. **数据类型(Data Types)**:JavaScript有七种数据类型,包括基本数据类型(Number、String、Boolean、Null、Undefined、Symbol)和对象数据类型(Object)。其中,`null`和`undefined`不是空,而是表示特定的值...

    JavaScript_javascript_

    2. **数据类型(Data Types)**:JavaScript有多种数据类型,包括基本类型(如String、Number、Boolean、Null、Undefined)和复杂类型(如Object)。其中,Number可以表示整数和浮点数,String是字符序列,Boolean是...

    javascript

    2. **数据类型(Data Types)**:JavaScript支持多种数据类型,包括基本类型(如字符串、数字、布尔值、null、undefined)和复杂类型(如对象)。 3. **控制结构(Control Structures)**:包括条件语句(如`if......

    JavaScript程序设计JavaScript基本语法共

    2. **数据类型(Data Types)**:JavaScript有七种数据类型,包括基础类型(Undefined、Null、Boolean、Number、BigInt、String、Symbol)和引用类型(Object)。 3. **操作符(Operators)**:如算术运算符(+,-...

    JavaScript语言参考手册

    2. **数据类型(Data Types)**:JavaScript 有两种主要的数据类型:基本类型(包括Undefined、Null、Boolean、Number、String和Symbol)和引用类型(Object)。其中,Number类型包括整数和浮点数,而BigInt类型用来...

    js_.rar_.doc_javascript_js

    在JavaScript中,核心概念包括变量(variables)、数据类型(data types)、控制流(control flow)、函数(functions)、对象(objects)以及原型链(prototype chain)。变量在JavaScript中是动态类型的,可以随时...

    JavaScript

    2. **数据类型(Data Types)**:JavaScript有七种数据类型,包括基本数据类型(Number、String、Boolean、Null、Undefined、Symbol)和引用数据类型(Object)。 3. **操作符(Operators)**:JavaScript支持算术...

    JavaScript脚本参考

    2. **数据类型(Data Types)**:JavaScript是弱类型语言,支持基本数据类型(Number、String、Boolean、Null、Undefined、Symbol)和复杂数据类型(Object,包括Array、Date、Function等)。 3. **操作符...

    javascript高级教程

    - **函数定义**: 在JavaScript中,函数是一段可重用的代码块,通常用于执行特定任务。定义一个函数的基本语法如下: ```javascript function functionName(parameters) { // 函数体 return value; // 可选的...

    javascript-tcg-section-2-basics-variables-data-types-operators-and-functions

    本节内容主要围绕JavaScript的基础知识展开,包括变量、数据类型、运算符以及函数。以下是对这些核心概念的详细阐述。 首先,我们要讨论的是变量(Variables)。在JavaScript中,变量用于存储数据,可以通过var、...

    每个开发者都应该知道的33个JavaScript概念.zip

    2. 数据类型(Data Types):包括基本类型(如字符串、数字、布尔值、null、undefined)和引用类型(如对象)。 3. 字符串(Strings):JavaScript字符串是不可变的,可以使用模板字符串(模板字面量)方便地处理...

    零基础学JavaScript2.rar

    2. 数据类型(Data Types):JavaScript有七种数据类型,包括基本类型(Number、String、Boolean、Null、Undefined、Symbol)和引用类型(Object)。 3. 运算符(Operators):JavaScript支持算术运算符(+、-、*、...

    javascript基础教程

    2. **数据类型(Data Types)**: JavaScript有七种数据类型,包括基本类型(Undefined、Null、Boolean、Number、BigInt、String、Symbol)和引用类型(Object)。 3. **运算符(Operators)**: JavaScript支持各种...

    JavaScript宝典

    在JavaScript中,你需要理解的基础概念包括变量(variables)、数据类型(data types,如字符串、数字、布尔值、对象等)、控制流程(control flow,如条件语句if/else,循环for、while等)、函数(functions)以及...

    JavaScript (1)-源码.rar

    2. **数据类型(Data Types)**:JavaScript是动态类型语言,主要数据类型包括基本类型(Boolean、Number、String、Null、Undefined、Symbol、BigInt)和引用类型(Object)。 3. **函数(Functions)**:...

Global site tag (gtag.js) - Google Analytics