函数是JavaScript中很重要的一个语言元素,并且提供了一个function关键字和内置对象Function,下面是其可能的用法和它们之间的关系。
使用方法一
var foo01 = function() //or foo01 = function()
{
var temp = 100;
this.temp = 200;
return temp + this.temp;
}
alert(typeof(foo01));
alert(foo01());
运行结果:
function
300
最普通的function使用方式,定一个JavaScript函数。两种写法表现出来的运行效果完全相同,唯一的却别是后一种写法有较高的初始化优先级。在大扩号内的变量作用域中,this指代foo01的所有者,即window对象。
使用方法二:
var foo02 = new function()
{
var temp = 100;
this.temp = 200;
return temp + this.temp;
}
alert(typeof(foo02));
alert(foo02.constructor());
运行结果:
object
300
这是一个比较puzzle的function的使用方式,好像是定一个函数。但是实际上这是定一个JavaScript中的用户自定义对象,不过这里是个匿名类。这个用法和函数本身的使用基本没有任何关系,在大扩号中会构建一个变量作用域,this指代这个作用域本身。
使用方法三:
var foo3 = new Function('var temp = 100; this.temp = 200; return temp + this.temp;');
alert(typeof(foo3));
alert(foo3());
运行结果:
function
300
使用系统内置函数对象来构建一个函数,这和方法一中的第一种方式在效果和初始化优先级上都完全相同,就是函数体以字符串形式给出。
使用方法四:
var foo4 = Function('var temp = 100; this.temp = 200; return temp + this.temp;');
alert(typeof(foo4));
alert(foo4());
运行结果:
function
300
这个方式是不常使用的,效果和方法三一样,不过不清楚不用new来生成有没有什么副作用,这也体现了JavaScript一个最大的特性:灵活!能省就省。
分享到:
相关推荐
- **概述**:简述使用C语言编写S-Function的优势和注意事项。 - **创建C-MEX S-Function**:详细介绍从头开始构建C-MEX S-Function的过程。 - **自动生成S-Function**:介绍如何利用工具自动创建S-Function的框架。 ...
- **文档描述**:简述文档的主要内容及其目的。 - **版本控制**:记录文档的不同版本及其变更历史,确保使用的文档是最新的。 - **作者**:负责文档撰写的人。 - **最后编辑**:最后一次对文档进行修改的时间。 - **...
### JavaScript设计模式简述 #### 一、引言 JavaScript作为一种广泛应用的脚本语言,在Web开发领域占据着举足轻重的地位。随着项目的复杂度不断提高,合理运用设计模式成为提高代码质量和可维护性的关键手段之一。...
然而,与普通的客户端-服务器通信不同,UDS规定了特定的请求和响应格式,并且还涉及到了格式检查、寻址方式以及子功能(sub-function)支持等因素。 #### 二、Request详解 ##### 2.1 Request的基本格式 请求...
2. **描述**:简述函数的功能和用途。 3. **参数说明**:解释每个参数的意义和用法,包括默认值。 4. **返回值**:描述函数执行后返回的结果。 5. **示例代码**:提供实际应用中的代码示例,帮助理解如何使用该函数...
ABB机器人RAPID程序指令与功能简述PPT教学课件主要涵盖了ABB机器人编程语言RAPID的基本概念、常用指令以及在工业自动化中的应用。RAPID是ABB机器人系统中的核心编程语言,它提供了丰富的指令集,使得程序员能够精确...
函数声明以`function`关键字开始,指定输出参数列表(在方括号中)和输入参数列表(在圆括号中)。例如,一个计算向量平均值和标准差的函数可能如下所示: ```matlab function [mean, stdev] = stat(x) % STAT ...
Odoo 网页模块 QWEB 简述 Odoo 的网页模块 QWEB 是一个基于 OpenERP 的网页模块,负责处理网页相关的逻辑和展示。QWEB 模块是 OpenERP 中的一个重要组件,负责生成网页的视图和模板。在本文中,我们将对 Odoo 的 ...
西门子自动化简述 自动化,作为现代科技发展的一个重要领域,已经在众多行业中扮演着不可或缺的角色。它通过集成先进的传感器、计算机系统、控制算法和执行机构,实现了对各种设备、系统和过程的智能化操作,降低了...
首先,关于函数和对象之间的关系,可以简述如下: 1. JavaScript中函数也是对象:这意味着函数可以拥有属性和方法。例如,函数有自己的原型对象,可以添加属性,并可以作为参数传递给其他函数,或者作为其他函数的...
在C++中编写程序,主函数(main function)是程序执行的入口点。在本节内容中,我们将详细解释C++小程序的结构和相关知识点。 首先,C++程序的主函数格式是固定的,必须以int作为返回类型,并且函数名必须是main。...
angular.module('myApp').controller('LoginCtrl', ['$scope', 'dep1', 'dep2', function($scope, dep1, dep2) { // controller logic here }]); ``` 此外,服务也是模块化的重要组成部分,它们提供了跨控制器通信...
径向基(Radial Basis Function:RBF)神经网络学习笔记-附件资源
- **比较 Boost.Function 与函数指针**:比较了 `boost::function` 与传统函数指针的区别。 - **性能**: - **函数对象封装大小**:介绍了封装函数对象的大小。 - **复制效率**:分析了 `boost::function` 对象...
最后,我们简述JavaScript中的引用类型。与原始类型不同,引用类型的值是指向对象的引用。常见的引用类型包括Boolean、Number、String、Date、Math、Array和Object等。这些类型在创建对象时,实际上是在内存中分配...
匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染。 这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美。 一、什么是匿名函数?...var fnMethodName = new Function(‘x’,
同时,通过Simulink图形化编辑方式和S-function模块编写方式,将卫星姿态动力学与运动学模型,以及部分传感器和执行机构的数学模型模块化。 最后,本文测试了半物理仿真闭环回路各功能模块的有效性,并最终通过运行...
第1章 简述变频调速的基本原理和U/F恒定控制的特点; 第2章 详细阐述各种脉宽调制模式(PWM Pattern)的优缺点及其频谱特性,介绍了PWM模式优化的不同方法; 第3章 介绍使用不同专用集成芯片生成PWM脉冲的方法; 第4...
function TestAjax() { var UserName = $(#txtUserName).val(); $.ajax({ url:AjaxCheckUserName.htm, async:false, success:function(data){ alert(data); } }); alert('Test'); $.ajax...