在JS方法中,'new' 有什么作用?
在JS方法中,'new' 有什么作用?
这两种方法有什么区别?\n
function ObjectB() { this.methodA = new function() { alert('a'); }; this.methodB = function() { alert('b'); }; }
\n我的问题是,JS方法中的new有什么效果?\n我在一个fiddle中尝试了这些方法的行为,并添加了以下代码:\n
var v = Object.create(ObjectB); v.methodC = function() { alert('c'); } v.methodB(); v.methodA(); v.methodC();
\n但我的fiddle似乎不起作用。\nFiddle在这里:http://jsfiddle.net/N8SNG/\n谢谢 🙂
在JavaScript中,使用new关键字可以创建对象。这个关键字通常用在函数上,这些函数被称为构造函数。当使用new关键字调用一个匿名函数时,会创建一个"object"类型的对象。当指定构造函数的名称时,会根据构造函数的类型创建一个对象。例如,使用以下代码创建一个"Human"类型的对象:
function Human(){}; man=new Human();
在这里,man是"Human"类型的对象,或者更准确地说,man是Human的一个实例。通过使用instanceof操作符,可以判断一个对象是否是某个类型的实例。例如,man instanceof Human。
问题的出现是因为在使用new关键字创建对象时,可能会遇到一些问题。为了解决这些问题,可以采取以下方法:
1. 确保在使用new关键字时,后面跟着的是一个构造函数。构造函数通常是一个命名函数,而不是匿名函数。
2. 确保构造函数内部有正确的代码逻辑,以确保对象被正确地初始化。
3. 在使用new关键字创建对象之前,先了解构造函数的作用和功能,以避免出现意外情况。
通过遵循上述方法,可以正确地使用new关键字创建对象,并避免出现潜在的问题。