【JavaScript】【学习】3、JavaScript中的function类型

在JavaScript中,函数其实是对象

函数名其实是指向一个函数对象的指针=>将函数名赋值为null,函数依然存在

=>使用布袋括号的函数名是访问函数指针,而不是调用函数

1,函数不会重载,声明两个同名函数,后者会覆盖前者

2,函数声明与函数表达式

函数的两种声明方式:

function functionName() {do something}

var functionName = new function(){do something};

两种方式的区别在于在后者之前使用alert(functionName)会导致报错。

3,作为值的函数

可以将函数名作为普通的变量,函数名既可以作为参数传递给另一个函数,也可以由        一个函数返回一个函数。

4,函数的内部属性

函数有2个内部对象:arguments 和this。arguments是一个参数数组,拥有一个

callee属性,指向拥有此arguments的函数。this代表函数据以执行的环境对象。

alert(arguments.callee)   //返回函数的代码

alert(this)        //返回Object Window

alert(this.caller)    //返回Undefined

函数的caller属性:返回调用当前函数的函数。

5,函数的属性和方法:

length:返回函数的参数个数

prototype:返回对象类型原型的引用

apply():在特定的作用域中调用函数。接受2个参数,作用域和参数数组

call():在特定作用域中调用函数,接受若干个参数,第一个参数为作用域,其它的参数是

传递给调用函数的参数

可以使用call(widow)或apply(window)来将函数的作用域扩充到全体

bind():创建一个函数实例,bind()的参数为该实例函数的作用域。

toLocaleString()和toString():返回函数的源代码

 function fun1(){
    alert("good");
    }
    var newf = fun1.bind();
    alert(fun1);      //返回函数的源代码
    newf();           //good
时间: 2024-10-11 12:48:53

【JavaScript】【学习】3、JavaScript中的function类型的相关文章

JavaScript学习13 JavaScript中的继承

JavaScript学习13 JavaScript中的继承 继承第一种方式:对象冒充 <script type="text/javascript"> //继承第一种方式:对象冒充 function Parent(username) //父类对象 { this.username = username; //下面的代码最关键的部分就是将子对象的this传递给了父对象 this.sayHello = function() { alert(this.username); } } f

JavaScript学习12 JS中定义对象的几种方式

JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascript"> var object = new Object(); object.name

JavaScript学习笔记——jquery中html()、text()、val()的区别

.html()用为读取和修改元素的HTML标签 .text()用来读取或修改元素的纯文本内容 .val()用来读取或修改表单元素的value值. 这三个方法功能上的对比 .html(),.text(),.val()三种方法都是用来读取选定元素的内容:只不过.html()是用来读取元素的HTML内容(包括其Html标签),.text()用来读取元素的纯文本内容,包括其后代元素,.val()是用来读取表单元素的"value"值.其中.和.text()方法不能使用在表单元素上,而.val()

转载自chaos_JS 的JavaScript中的Function类型浅析

1. Function类型是js中引用类型之一,每个函数实际上都是Function类型的实例对象,具有自己的属性和方法.正因为函数式对象,所以函数名实际上也是一个指向函数对象的指针. 2. 常用的函数定义方式 1. 函数声明: function sum(a , b ){ return a+b; } 2. 表达式: var sum = function(){ return a+b; }; //注意分号 //两种方式的区别: //解释器会率先读取函数声明,并使其在执行之前可以访问,而使用表达式则必须

JavaScript中的Function类型浅析

1. Function类型是js中引用类型之一,每个函数实际上都是Function类型的实例对象,具有自己的属性和方法.正因为函数式对象,所以函数名实际上也是一个指向函数对象的指针. 2. 常用的函数定义方式 1. 函数声明: function sum(a , b ){ return a+b; } 2. 表达式: var sum = function(){ return a+b; }; //注意分号 //两种方式的区别: //解释器会率先读取函数声明,并使其在执行之前可以访问,而使用表达式则必须

JavaScript中的Function类型

函数实际上是对象,每个函数都是Function类型的实例,定义Function函数的方式如下: 1 //第一种:函数声明 2 function sum(num1,num2){ 3 return num1 + num2; 4 } 5 6 //第二种:函数表达式 7 var sum = function(num1,num2){ 8 return num1 + num2; 9 } 10 11 //第三种:Function构造函数 12 var sum = new Function("num1"

JavaScript学习总结(四)function函数部分

转自:http://segmentfault.com/a/1190000000660786 概念 函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. js 支持两种函数:一类是语言内部的函数(如eval() ),另一类是自己创建的. 在 JavaScript 函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它.(该变量的作用域是局部的). 您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量. 函数调用 有如下四种调用js函数的方式

怎么去掉对象中的function类型元素--JSON对象学习

[问题]当一个对象中含有function,而想把它去掉的时候,怎么做简单呢? [举例] 举个例子,当有一个对象为: var o = { a: 1, b: 'xx', c: function(){}, d: true } 我想把类型为o.c的对象去掉,应该怎么做呢~~ [解决方案] 一般的想法使用for-in循环,去掉type为function来做.其实有更简单的方法,那就是使用JSON.stringify(o),这样可以直接去掉function,再使用JSON.parse()将对象转换回来就好了

JavaScript学习12 JS中定义对象的几种方式【转】

avaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工厂方式 3.构造函数方式 4.原型("prototype")方式 5.动态原型方式 一.基于已有对象扩充其属性和方法 <script type="text/javascript

JavaScript基础——引用类型(三)Function类型

在ECMAScript中函数实际上是对象.每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法.由于函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定.函数通常是使用函数声明语法定义的,如: function sum(num1 , num2){ returnnum1 + num2; } 这与下面使用函数表达式定义函数的方式几乎相差无几: var sum = function(num1 , num2){ returnnum1 + num2; };