情景一: var yx01 = new function() {return "圆心"}; alert(yx01); 我们运行情景一代码,将返回显示“[object object] ”,此时该代码等价于: function 匿名类(){ return "圆心"; } var yx01 = new 匿名类(); alert(yx01);我们对情景一的代码进行下面改造: var yx01 = new function() {return new String("圆心")}; alert(yx01); 我们运行,将会发现返回的是“圆心”,这是为什么呢? 只要 new 表达式之后的 constructor 返回(return)一个引用对象(数组,对象,函数等),都将覆盖new创建的匿名对象,如果返回(return)一个原始类型(无 return 时其实为 return 原始类型 undefined),那么就返回 new 创建的匿名对象 由于 new String 会构造一个对象,而不是一个 string 直接量,且new String(x) 如果带参数,那么alert它的时候就会返回 x。所以 yx01 将返回 new String(”圆心”) 这个对象,而 alert yx01 则显示 “圆心”。 情景二: var yx02 = function() {return "圆心"}(); alert(yx02);我们运行情景二代码,将返回显示“圆心”,此时该代码等价于: var 匿名函数 = function() {return "圆心"}; yx02 = 匿名函数(); alert(yx02);很明显,yx02 返回的是匿名函数的执行结果值,即 yx02 为:“圆心”。 当然匿名函数的执行结果也可以为一个匿名对象。 ?
详细解决方案
详解new function(){}跟function(){}() 区别分析
热度:417 发布时间:2012-10-08 19:54:56.0
相关解决方案
- jquery中$(document).ready(function()是jquery开始要写的一句话,javaWeb项目中,这句话什么时候开始实施呢
- 求解$.post(url,{},function(){});回调函数中怎么使用判断语句
- (function(){//coding.})() 请教这是什么意思
- fatal error; call to a member function query() on a non-object异常求回答啊 php+sqlite
- function 施行 *action
- C++ CLI global function 有关问题 分不多了 多谢
- Function(a,b)能在特定情况下直接用Function不带括号和参数表示么?该如何解决
- 有updatepanel时,$(function() { 中bind旋钮事件,回发时重复绑定
- 报错 “Cannt assign to a function result”解决方法
- jmail接收邮件报错?This function is not included in this version of jmail.该如何解决
- Process : function (ajaxInfo, processFun)什么意思嘛?解决办法
- jquery接收后台传值出现error: function()异常
- 怎么在程序中模拟页面的javascript:function()交互?内详
- asp2.0 textbox.Attributes.Add("onfocus" "this.value=function()")
- c#调用MATLAB com组件Undefined function 'armax' for input arguments of type 'iddata'解决思路
- 创设函数报 Function created with compilation errors 求解释
- Declare Function GetSystemMetrics Lib "User32" (ByVal nIndex As Long) As Long,该如何解决
- matlab Missing variable or function
- 江湖救急db2 function 脚本执行的有关问题
- SQL0440N 未找到类型为 "FUNCTION" 命名为 "ROW_NUMBER"该如何解决
- a function to get the full path names of a list of files,该怎么处理
- 有相熟RATIONAL FUNCTION TESTER的人么
- 有熟悉RATIONAL FUNCTION TESTER的人么解决方法
- [求助] " lvalue required in function main"是什么错误
- [求助]tc2.0编译时总是出错“error: out of memory in function ..."
- fcntl() function question?
- [求助]出现错误local function definitions are illegal
- [求助]怎么解决 "Out of memory in function ..." 问题
- [求助]怎么解决 "Out of memory in function ..." 问题
- "Expression syntax in function save",?有这个错误,不知怎么修改. ...