Javascript函数创建新对象失败
Javascript function fails to create new Object
为什么这段代码不能像预期的那样工作?少了什么吗?
function User(name) {
this.name = name;
};
var j = User('Jack');
alert(j.name)
如果不使用new
创建用户,则this
表示全局对象窗口。window.name
在不同浏览器中不同
所以应该是new User("Jack");
function User(name) {
this.name = name;
};
var j = new User('Jack');
alert(j.name)
您需要一个new
关键字来使用User
作为构造函数。没有它,User
中的this
引用全局对象(浏览器中的窗口),并且不会创建新对象。j
将未定义
使用new
创建一个新对象,并将其赋值给j,然后将this
绑定到该对象。因此,name
将设置在新创建的对象上,而不是窗口上。
相关文章:
- 带有对象解析的响应javascript ajax失败
- 在数组中插入对象失败
- 剑道网格-插入具有外部列的新对象失败
- 从php获取javascript中的json对象失败
- 为什么当我使用变量而不是整数或字符串时初始化日期对象失败
- Javascript Date 对象失败
- 在Jasmine中测试空对象失败
- 在GWT中将JavaScriptObject转换为Java对象失败
- 在IE8中初始化另一个对象内部的对象失败
- 向阵列添加对象失败
- 日志含义传递JSON对象失败
- Javascript函数创建新对象失败
- Json请求向PHP传递Json对象失败
- 创建新对象失败,错误代码:没有找到用于更新/删除的对象
- JavaScript -对象失败
- 创建动态对象失败
- 解析json字符串为JavaScript对象失败
- 在内容脚本中使用jQuery获取DOM对象失败
- IoT/WinJS/VS -创建web诊断对象失败
- JS运行函数在多个dim对象失败.不确定这是否可能