`
bri_robby
  • 浏览: 21834 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

JavaScript中的Function和function

阅读更多
    首先,来看w3c对函数的定义:在javascript中,函数也是以对象的形式存在的,每个函数都是Function对象的实例。
    Function 是Javascript的內置对象,而function(注意大小写)就是从它派生出来的。
    javascript创建函数有三种方式:
    1.使用function关键字声明函数。
    2.使用直接量的方式声明函数。
    3.使用Function对象构造方法创建函数。
各种方法创建函数如下:
     function sayHello1(){
       document.write("Hello World!");
     }
     var sayHello2 = function(){
       document.write("Hello World!");
     }
     var sayHello3 = new Function("document.write('Hello World!');")

执行以上函数:
sayHello1();
sayHello2();
sayHello3();

结果都为输出:
    Hello World!
注意:只有function关键字声明的函数可以被声明提前

区别:
以function关键字和直接量方式创建的函数函数体固定,无法在运行时动态执行。
以new Function()方式创建的函数,因为函数体是字符串,可以在运行时动态创建,修改,执行字符串格式的函数体。
不过,以Function对象创建的函数执行效率较低。

Function()构造函数允许我们动态地创建和编译一个函数,它不会将我们限制在function语句预编译的函数体中。这样做带来的负面影响效应就是每次调用一个函数时,Function()构造函数都要对它进行编译。因此,在循环体中或者在经常使用的函数中,我们不应该频繁地调用这个构造函数。

匿名函数与Function()构造函数用法相似;不同的是匿名函数在使用时只被解析一次,而作为字符串传递给Function()构造函数的 JavaScript代码则在每次调用构造函数时都要被解析和编译一次。
还有一点值得注意的是,变量的作用域,Function()构造函数变量作用域是全局的。
例如:
var a="global";  
function constructFunction()  
{  
    var a="local";  
    var fun = new Function("alert(y);");//不捕捉局部作用域。  
    fun();  
}  
constructFunction();


分享到:
评论

相关推荐

    理解Javascript Function与Object

    在JavaScript中,Function和Object是两个非常重要的概念,它们之间存在着紧密的关系。在这篇文章中,我们将深入探讨Function和Object的关系,了解它们之间的联系和区别。 Function:函数对象 ---------------- 在...

    JavaScript中的function使用方法.docx

    JavaScript 中的 function 使用方法可以分为两种:作为普通逻辑代码容器和作为对象。 一、function 作为普通函数 在 JavaScript 中,function 可以作为普通函数使用,类似于 C/C++ 中的函数。它可以在脚本的任何...

    javascript Function

    通过上述介绍,我们可以看到`Function`在JavaScript中的强大功能和灵活性。无论是作为简单的函数声明、复杂的构造函数还是处理动态生成的代码,`Function`都能提供强大的支持。熟练掌握这些用法,能够帮助开发者更好...

    JavaScript中的Function函数

    JavaScript中的Function函数是编程语言的核心组成部分,用于封装可重复使用的代码段。JavaScript的函数具有多种用途,包括事件驱动、作为类构造器、闭包以及在DOM操作中的选择器功能。以下将详细介绍JavaScript中的...

    深化浅析JavaScript中的Function类型_.docx

    综上所述,JavaScript中的Function类型具有丰富的特性和用途,理解和掌握这些概念对于编写高效、安全的JavaScript代码至关重要。在实际编程中,应灵活运用各种函数定义方式、内部属性以及特性,以实现更复杂的逻辑和...

    【JavaScript源代码】JavaScript的function函数详细介绍.docx

    JavaScript中的`function`函数是其核心特性之一,它允许我们定义可重复使用的代码块,能够封装任意数量的语句,并且可以在程序的任何位置被调用。JavaScript的函数与许多其他编程语言(如C)相比,具有独特的特点,...

    javascript Object与Function使用.docx

    在JavaScript语言中,核心体系结构主要围绕两个构造函数——`Object`和`Function`构建。这两个构造函数不仅是所有其他对象的基础,也是理解JavaScript继承机制的关键。 #### 三、`instanceof`运算符详解 `...

    javascript中的Function.prototye.bind

    函数绑定(Function binding)很有可能是你在开始使用JavaScript时最少关注的一点,但是当你意识到你需要一个解决方案来解决如何在另一个函数中保持this上下文的时候,你真正需要的其实就是 Function.prototype.bind()...

    js中function函数的使用方法.docx

    ### JavaScript中的Function函数详解 #### 一、概述 在JavaScript编程语言中,`function`关键字是定义函数的基础。本文将详细介绍`function`的各种使用方法及其应用场景,帮助读者更深入地理解这一核心概念。 ###...

    javascript parse让js 折叠 方便定位到function插件

    javascript parse让js 折叠 方便定位到function插件

    JavaScript 定义function的三种方式小结

    如: 代码如下: function func() { //body code } (3) 使用JavaScript内置Function对象构造。如: 代码如下: var func = new Function(“/*parameters*/”,”/*body code*/”); 声明变量定义与使用function表达式...

    JavaScript中Function详解

    在JavaScript中,函数是`Function`类型的实例,这意味着它们具有对象的特性,如属性和方法。函数名实际上是一个指向函数对象的引用,因此函数可以作为其他函数的参数(函数式编程)或者作为返回值。 **函数的对象...

    javascript中Function类型详解

    我们可以通过多种方式声明函数,每种方式在JavaScript的执行环境中有着不同的表现和用途。下面将详细解释这些知识点。 首先,JavaScript中的Function类型是一个对象,也即引用类型,这表明它与JavaScript的基本类型...

    JavaScript中Function函数与Object对象的关系

    今天我们来尝试理解Function和Object.因为这个里面有些人前期可能会搞糊涂.他们之间到底是什么关系.当然也不除外当初的我. 注意:官方定义: 在Javascript中,每一个函数实际上都是一个函数对象. 我们先来看最简单的...

    Javascript中神奇的this

    JavaScript中的`this`关键字是一个非常重要的概念,它与许多其他编程语言中的行为不同,因此常常让开发者感到困惑。本文将详细解析`this`在JavaScript中的工作原理及其绑定规则。 1. `this`并不总是指向函数自身 ...

    Javascript使用function创建类的两种方法(推荐)

    JavaScript中,函数(function)是创建类或对象的一种方式。传统上,我们可以使用构造函数来创建类,也可以使用现代的ES6语法使用class关键字创建类。然而,在ES6之前,开发者们多采用函数来模拟类的行为。本文将...

    JS Function 名称排序

    在JavaScript中,函数是第一类对象,这意味着它们可以被赋值给变量、作为参数传递给其他函数,甚至可以作为其他函数的返回值。在这种上下文中,"JS ...这将有助于深入理解如何在实际项目中处理和排序JavaScript函数。

    格式化-function与小括号间留空格。链式调用不换行.zip

    在编程世界中,代码风格和格式化是提升代码可读性和团队协作效率的重要因素。"格式化-function与小括号间留空格。链式调用不换行"这一主题主要涉及JavaScript编程语言中的代码规范,包括函数调用时的空格使用以及...

Global site tag (gtag.js) - Google Analytics