var f = new fn();如果function的返回值是对象的话则返回该对象,否则返回function的实例。
来源:互联网 发布:知乎和天涯哪个好 编辑:程序博客网 时间:2024/06/05 14:58
var f = new fn();如果function的返回值是对象的话则返回该对象,否则返回function的实例。
看下边的例子
js 代码
结果出乎意料,竟然是fn的实例({k:1, j:0});为什么又是function的实例了?继续看下面的实验,在fn中分别return各种数据类型的值,得出一下结果
js 代码
注:Boolean在IE和FIREFOX似乎只要声明而没有定义,不管传入的是true还是false,返回的都是{},而且没有ToString()等方法。而且它的prototype也是{} 。其他浏览器没试过,还不清楚。不过估计也是一样的吧。
[修正]Boolean是有定义的,ToString()应该是toString();
实验的结论很明显,如果function的返回值是对象的话则返回该对象,否则返回function的实例
javascript真是一门神奇的语言,容易入门,但是其中的细节和一些技巧却不是一时半会能掌握,每次回过头学都能学到一些新的东西,好像怎么都学不完,继续加油。
- var f = new fn();如果function的返回值是对象的话则返回该对象,否则返回function的实例。
- 如果函数的传入参数和返回值是对象
- jquery offset()的对象如果是display:none的,则返回值为0,0
- Lua自己实现如果对象是指定类或其子类的实例,返回 true
- 返回的是对象数组
- 注意var $XX = $("#YY", $ZZ);这种虽然是取$ZZ中的id为YY的对象,但是如果id为多个,就会返回多个,而不是像$("#YY")似的返回页面最前面的那个
- strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。
- 在$.ajax中的function 返回return false,是没有用的。
- JavaScript中Function Declaration与Function Expression 或者说 function fn(){}和var fn=function(){} 的区别
- 为什么在vue的组件中,data要用function返回对象呢?
- 查询返回的是对象集合
- 返回对象的说明
- Lua中没有返回语句的function会返回什么?
- 分隔字符串,返回表的 function
- 关于函数的返回值是一个接口类型的对象
- 实例2:返回对象
- 返回当前实例对象
- 如何用mshtml获得Javascript中function的返回值
- 再学C++(1)
- servlet中产生验证码
- 再学C++(2)
- NetBeans 菜单 字体 大小
- 编程和语言之我见
- var f = new fn();如果function的返回值是对象的话则返回该对象,否则返回function的实例。
- 排列、组合、笛卡尔积的函数
- 越狱3giphone 和安装破解ipa和app文件方法
- 我的基督信仰
- 遍历数组的两种方式
- ruijie
- 元胞的()与{}
- 再谈powerbuilder程序防止破解的办法(终结篇,以后不再写这个问题)
- fedora中中Rhythmbox播放MP3乱码问题