function,new function,Function,new Function 之间的区别

测试一:

var fud01 = function() 
{
var temp = 100;
this.temp = 200;
return temp + this.temp;
}

alert(typeof(fud01));
alert(fud01());

运行结果:
function 300

最普通的function使用方式,定一个JavaScript函数。在大扩号内的变量作用域中,this指代fud01的所有者。

测试二:

var fud02 = new function()
{
var temp = 100;
this.temp = 200;
return temp + this.temp;
}

alert(typeof(fud02));
alert(fud02.constructor());

运行结果: object  300

实际上这是定一个JavaScript中的用户自定义对象,不过这里是个匿名类。这个用法和函数本身的使用基本没有任何关系,在大扩号中会构建一个变量作用域,this指代这个作用域本身。

测试三:

var fud3 = new Function(‘var temp = 100; this.temp = 200; return temp + this.temp;‘);

alert(typeof(fud3));
alert(fud3());

运行结果: function 300

使用系统内置函数对象来构建一个函数,这和方法一中的第一种方式在效果和初始化优先级上都完全相同,就是函数体以字符串形式给出。

测试四:

var fud4 = Function(‘var temp = 100; this.temp = 200; return temp + this.temp;‘);

alert(typeof(fud4));
alert(fud4());

运行结果: function 300

这个方式是不常使用的,效果和方法三一样,不过不清楚不用new来生成有没有什么副作用。

详解new function(){}和function(){}()

时间: 2024-10-25 16:27:42

function,new function,Function,new Function 之间的区别的相关文章

浅析jQuery(function(){})与(function(){})(jQuery)之间的区别

本篇文章主要是对jQuery(function(){})与(function(){})(jQuery)之间的区别进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 Jquery是优秀的Javascrīpt框架.我们现在来讨论下在 Jquery 中两个页面载入后执行的函数. $(document).ready(function(){  // 在这里写你的代码...});在DOM加载完成时运行的代码 可以简写成 jQuery(function(){ }); (function($) {})(j

Jquer学习之jQuery(function(){})与(function(){})(jQuery)之间的区别

Jquery是优秀的Javascrīpt框架.我们现在来讨论下在 Jquery 中两个页面载入后执行的函数. $(document).ready(function(){  // 在这里写你的代码...});在DOM加载完成时运行的代码 可以简写成 jQuery(function(){ }); (function($) {})(jQuery)什么意思?(function(){ })(jQuery); 其实际上是执行()(para)匿名方法,只不过是传递了jQuery对象. 相当于 function

Effective JavaScript Item 18 理解Function, Method, Constructor调用之间的区别

本系列作为Effective JavaScript的读书笔记. Function绝对是JavaScript中的重中之重.在JavaScript中,Function承担了procedures, methods, constructors甚至是classes以及modules的功能. 在面向对象程序设计中,functions,methods以及class constructor往往是三件不同的事情,由不同的语法来实现.但是在JavaScript中,这三个概念都由function来实现,通过三种不同的

Adding New Functions to MySQL(User-Defined Function Interface UDF、Native Function)

catalog 1. How to Add New Functions to MySQL 2. Features of the User-Defined Function Interface 3. User-Defined Function 4. UDF Argument Processing 5. UDF Return Values and Error Handling 6. UDF Compiling and Installing 7. Adding a New Native Functio

1、function aa(){}和 var aa=function(){}的区别:

例如: alert(sum(10,10)); function sum(num1,num2){ return num1+num2; }//正常执行 备注:正常执行的那个,在代码开始执行之前,解析器就通过一个名为函数声明提升的过程,读取并将函数声明添加到执行环境中,对代码求值时,javaScript引擎在第一遍会声明函数并将它们放到源代码数的顶部 alert(sum(10,10)); var sum=function(num1,num2){ return num1+num2; }//报错 1.fu

在JS中关于堆与栈的认识function abc(a){ a=100; } function abc2(arr){ arr[0]=0; }

平常我们的印象中堆与栈就是两种数据结构,栈就是先进后出:堆就是先进先出.下面我就常见的例子做分析: main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[] = "abc"; 栈 char *p2; 栈 char *p3 = "123456"; 123456\0在常量区,p3在栈上. static int c =0: 全局(静态)初始化区 p1 = (char *)malloc(1

simulink error:Error in default port dimensions function of S-function ‘XXXXXXXXXXX’. This function does not fully set the dimensions of output port 2.

错误提示: Error in default port dimensions function of S-function 'XXXXXXXXXXX'. This function does not fully set the dimensions of output port 2. 问题描述:将m函数添加到simulink中的MATLAB function中后,运行后显示'XXXXXXXXXXXXX',这个模块的端口配置错误. 解决方法:双击MATLAB function模块,进入编程界面(如

mysql中最常用到的数据类型,约束条件,以及表,字段,行的crud操作指令,function和precedure之间的区别,索引,安全,事务

数据库总结 传统记录数据的缺点:不易保存,备份困难,查找不便 数据库:存储数据的仓库,描述一个事务的基本信息 优点:1.持久化存储 2.读写速度极高 3.保证数据的有效性 RDBMS relational database management system 军火当前主要使用两种类型的数据库:1.关系型数据库,2非关系型数据库 关系型数据库的主要产品: oracle:主要大型项目中使用,银行,电信等项目 mysql:web时代使用最广泛的关系型数据库 ms sql server: 微软的项目中使

JavaScript中this和$(this)之间的区别

jQuery中this和$(this)之间的区别: this返回的是当前对象的html对象,而$(this)返回的是当前对象的jQuery对象 举个正确的Demo实例: $("#textbox").hover( function() { this.title = "Test"; }, fucntion() { this.title = "OK”; } ); 以上的this为html元素即元素textbox,该元素有title属性,因此以上的程序没有错误.如