【javascript笔记】js构造器
2016-01-14 22:52
507 查看
原出处 请点击: click me
今天无意看到了一个题目,谁知被难住了
look at this
第二题
每个函数都有返回值,如果使用了return语句,则返回return后跟的值,如果没有使用return,则默认返回undefined.
特别的,如果这个函数是构造函数,则默认返回this对象,如果构造函数内使用了return语句,并且return后跟的是一个对象,则这个构造函数返回的是这个对象,这里指代的对象是toString.call(obj)==’[object Object]’ . 否则返回this.
所以1题中的p = {name: ‘jack’},而2题中的p = {name: ‘peter’}.
总结: 构造器(以 new FuncName形式) 得到的结果必然是个object. 请看这里mdn关于构造器的返回值介绍:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/this#构造函数中的_this
今天无意看到了一个题目,谁知被难住了
look at this
var fun = function(){ this.name = 'peter'; return { name: 'jack' }; } var p = new fun(); //请问p.name是:
第二题
var fun = function(){ this.name = 'peter'; return 'jack'; } var p = new fun(); //请问p.name是:
每个函数都有返回值,如果使用了return语句,则返回return后跟的值,如果没有使用return,则默认返回undefined.
特别的,如果这个函数是构造函数,则默认返回this对象,如果构造函数内使用了return语句,并且return后跟的是一个对象,则这个构造函数返回的是这个对象,这里指代的对象是toString.call(obj)==’[object Object]’ . 否则返回this.
所以1题中的p = {name: ‘jack’},而2题中的p = {name: ‘peter’}.
总结: 构造器(以 new FuncName形式) 得到的结果必然是个object. 请看这里mdn关于构造器的返回值介绍:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/this#构造函数中的_this
相关文章推荐
- JS中 逻辑或 || 逻辑与 && 的使用方法总结
- js事件的冒泡和捕获
- JavaScript回顾--15_document工具
- json中头疼的null
- JS写的倒计时功能 - 修改过部分Bug
- JSON的两种解析方式
- 【bzoj1560】【jsoi2009】【火星藏宝图】【dp】
- JS之浏览器对象
- JSP转译为Servlet错误可能发生的3个时候
- 深入理解JavaScript的原型和原型链
- JS-BOM对象
- JS基本知识点
- 浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
- Javascript图片预加载详解
- 说说JSON和JSONP,也许你会豁然开朗
- js命名空间
- Jersey支持json格式
- js时间显示器及页面返回程序
- Torch7安装gfx.js出错
- JavaScript+css+ div HTML遮罩層效果